Câu hỏi: SWT301 - Phần 6: Công cụ hỗ trợ và tự động hoá kiểm thử
40 câu trắc nghiệm kèm lời giải của môn Software Testing - SWT301, xếp theo thứ tự nhập vào ngân hàng.
Danh sách câu hỏi
20/40 câuCòn 20
AData tester
BBoundary tester
CCapture/Playback
DOutput comparator.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Capture/Playback". Công cụ ghi và phát lại (capture/playback) ghi lại thao tác của người kiểm thử thành kịch bản rồi chạy lại tự động bao nhiêu lần cũng được, nên là công cụ thực thi kiểm thử điển hình dùng để tự động hoá kiểm thử hồi quy (regression test), loại kiểm thử phải lặp lại sau mỗi lần thay đổi. "Output comparator." chỉ so sánh kết quả thực tế với kết quả mong đợi; nó hỗ trợ kiểm thử tự động nhưng tự nó không chạy được các ca kiểm thử, nên không phải công cụ chính để tự động hoá hồi quy. "Data tester" gợi tới việc chuẩn bị hoặc kiểm tra dữ liệu kiểm thử, phục vụ khâu chuẩn bị chứ không phát lại kiểm thử. "Boundary tester" gợi tới thiết kế ca kiểm thử theo giá trị biên, là khâu thiết kế chứ không phải tự động thực thi lặp lại.
AState analysis
BCoverage analysis
CDynamic analysis
DMemory analysis
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Dynamic analysis". Rò rỉ bộ nhớ (memory leak) xảy ra khi chương trình cấp phát bộ nhớ mà không giải phóng, chỉ lộ ra khi phần mềm đang chạy và tích tụ dần theo thời gian; công cụ phân tích động (dynamic analysis tool) theo dõi chương trình lúc thực thi, ghi lại từng lần cấp phát và giải phóng, nên ISTQB xếp việc phát hiện rò rỉ bộ nhớ vào nhóm công cụ này. "State analysis" không phải tên một nhóm công cụ kiểm thử; phân tích trạng thái là cách mô hình hóa hành vi, không đo việc dùng bộ nhớ. "Coverage analysis" đo phần mã đã được chạy bởi các ca kiểm thử, không theo dõi cấp phát bộ nhớ. "Memory analysis" nghe gần đúng nhưng không phải tên nhóm trong phân loại công cụ của ISTQB; các trình theo dõi bộ nhớ thực chất là một dạng công cụ phân tích động, nên tên nhóm đúng vẫn là phân tích động.
ADynamic analysis tool
BStatic Analysis tool.
CMaintenance tool.
DConfiguration tool.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Dynamic analysis tool". Theo ISTQB Foundation, công cụ phân tích động (dynamic analysis tool) theo dõi chương trình khi đang chạy để phát hiện lỗi chỉ lộ ra lúc thực thi, như rò rỉ bộ nhớ (memory leak), con trỏ chưa gán hoặc trỏ sai (unassigned pointers) và lỗi số học con trỏ. Rò rỉ bộ nhớ phụ thuộc đường đi thực tế và vòng đời cấp phát, nên phải quan sát lúc chạy mới đánh dấu chính xác được. "Static Analysis tool." phân tích mã mà không chạy nó, tìm được biến chưa định nghĩa, mã chết, vi phạm chuẩn lập trình, nhưng không bắt được rò rỉ bộ nhớ một cách tin cậy. "Maintenance tool." không phải nhóm công cụ kiểm thử nào trong phân loại của ISTQB. "Configuration tool." thường chỉ công cụ quản lý cấu hình, dùng để lưu vết phiên bản và bản dựng của phần mềm, testware, chứ không giám sát bộ nhớ khi chạy.
Ai, ii, iii.
Bii, iii, iv.
Ci, iii, iv.
Di, ii, iv.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "i, ii, iv.". Theo ISTQB Foundation, khi chọn và đưa một công cụ kiểm thử vào tổ chức cần đánh giá mức trưởng thành và quy trình kiểm thử hiện tại của tổ chức, đánh giá công cụ theo yêu cầu rõ ràng và chạy thử nghiệm khái niệm (proof of concept), đánh giá nhà cung cấp, và xác định nhu cầu hướng dẫn, kèm cặp (coaching and mentoring) cho người dùng công cụ; sau đó áp dụng thử ở một dự án thí điểm. Mục iii, đưa công cụ vào một dự án đang trễ tiến độ để tiết kiệm thời gian, là điều ISTQB khuyên tránh, vì công cụ mới cần thời gian học và điều chỉnh, nên lúc đầu thường làm chậm hơn chứ không nhanh hơn. Có bản lưu hành của câu này chấm "i, iii, iv." là đúng, nhưng phương án đó chứa chính mục iii và bỏ mất proof of concept nên không đứng vững. "i, ii, iii." sai vì có mục iii và bỏ sót việc xác định nhu cầu kèm cặp. "ii, iii, iv." sai vì có mục iii và bỏ qua việc khảo sát quy trình kiểm thử của tổ chức.
Aii and iv
Bii and iii
Ci and iv
Di and iii
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "i and iv". ISTQB Foundation liệt kê lợi ích tiềm năng của công cụ kiểm thử: giảm công việc lặp lại, tăng tính nhất quán và khả năng lặp lại của kiểm thử (mục iv), cung cấp đánh giá khách quan như số đo tĩnh, độ phủ, và dễ truy cập thông tin về kiểm thử và quá trình kiểm thử (mục i) qua thống kê, biểu đồ. Ngược lại, tài liệu này nêu rõ rủi ro là đánh giá thấp thời gian, chi phí để giới thiệu công cụ và đánh giá thấp công sức bảo trì các tài sản kiểm thử do công cụ sinh ra. Vì vậy mục ii, giảm bảo trì testware, và mục iii, dễ và rẻ để triển khai, là hai kỳ vọng sai. "ii and iv" sai vì kèm giảm bảo trì, vốn là rủi ro chứ không phải lợi ích. "ii and iii" sai vì cả hai đều là kỳ vọng phi thực tế. "i and iii" sai vì triển khai công cụ thường tốn kém và mất công, không dễ và rẻ.
ATool support for performance and monitoring.
BTool support for static testing.
CTool support for test execution and logging.
DTool support for the management of testing and tests.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Tool support for test execution and logging.". Bộ so sánh kiểm thử (test comparator) là công cụ tự động đối chiếu kết quả thực tế với kết quả mong đợi, chẳng hạn so sánh tệp, cơ sở dữ liệu hay màn hình đầu ra; ISTQB Foundation xếp nó vào nhóm công cụ hỗ trợ thực thi và ghi nhật ký kiểm thử, cùng với công cụ thực thi kiểm thử, test harness, unit test framework và công cụ đo độ phủ, vì việc so sánh diễn ra ngay khi chạy ca kiểm thử và kết quả được ghi lại. "Tool support for performance and monitoring." gồm công cụ kiểm thử tải, hiệu năng, theo dõi tài nguyên, không có chức năng đối chiếu kết quả. "Tool support for static testing." gồm công cụ hỗ trợ review, phân tích tĩnh, mô hình hoá, làm việc khi chưa chạy chương trình nên không có kết quả thực tế để so sánh. "Tool support for the management of testing and tests." gồm công cụ quản lý kiểm thử, quản lý yêu cầu, quản lý sự cố, quản lý cấu hình.
ATest design tool
BTest execution tool
CStatic analysis tool
DTest management tool
Lời giải
Mở trang câu hỏi này →Công cụ được thiết kế đặc biệt để hỗ trợ việc tạo các trường hợp kiểm thử là công cụ thiết kế kiểm thử. Công cụ thiết kế kiểm thử giúp các nhà phát triển tạo ra các trường hợp kiểm thử hiệu quả và chính xác. Nó hỗ trợ việc xác định các yêu cầu của sản phẩm, tạo ra các trường hợp kiểm thử dựa trên các yêu cầu đó và đảm bảo rằng các trường hợp kiểm thử được tạo ra đầy đủ và chính xác. Công cụ thiết kế kiểm thử cũng giúp các nhà phát triển phân tích và đánh giá các trường hợp kiểm thử, từ đó giúp họ xác định các khu vực cần cải thiện và tối ưu hóa quy trình kiểm thử.
ATo keep track of the status of the system during use
BTo measure the software's response times
CTo automate the generation of test cases
DTo manage the testing activities and resources
Lời giải
Mở trang câu hỏi này →Một công cụ theo dõi (monitoring tool) trong bối cảnh kiểm thử là một công cụ quan trọng giúp theo dõi trạng thái của hệ thống trong quá trình sử dụng. Nó cho phép người kiểm thử theo dõi hoạt động của hệ thống, bao gồm cả các lỗi và sự cố có thể xảy ra. Điều này giúp người kiểm thử có thể nhanh chóng phát hiện và sửa chữa các vấn đề, từ đó đảm bảo hệ thống hoạt động ổn định và hiệu quả. Ngoài ra, công cụ theo dõi cũng giúp người kiểm thử theo dõi hiệu suất của hệ thống, bao gồm cả thời gian phản hồi và dung lượng lưu trữ. Điều này giúp người kiểm thử có thể đánh giá hiệu suất của hệ thống và đưa ra các quyết định cải thiện.
ASupport reviews tool
BModel-based testing tool
CTest management tool
DDefect management tool
Lời giải
Mở trang câu hỏi này →Trong quá trình kiểm thử tĩnh, công cụ nào hỗ trợ quá trình đánh giá lại?
AEasy to implement and maintain
BReduce of repetitive work
CAbility to detect tiny changes that a human could not
DIt produces more consistent result.
Lời giải
Mở trang câu hỏi này →Các công cụ kiểm tra là một phần quan trọng trong quy trình phát triển phần mềm. Chúng cung cấp nhiều lợi ích, bao gồm giảm thiểu công việc lặp lại, khả năng phát hiện các thay đổi nhỏ mà con người không thể phát hiện được. Tuy nhiên, một trong những lợi ích không chính xác của các công cụ kiểm tra là khả năng sản xuất kết quả nhất quán. Thực tế, các công cụ kiểm tra có thể tạo ra kết quả không nhất quán nếu không được thiết kế và cấu hình đúng cách. Điều này có thể dẫn đến sự nhầm lẫn và khó khăn trong việc phân tích kết quả. Vì vậy, để đảm bảo rằng các công cụ kiểm tra mang lại lợi ích thực sự, chúng cần được thiết kế và cấu hình một cách cẩn thận.
AThey do not require external data
BThey separate test data from scripts, enhancing flexibility
CThey are simpler to maintain than linear scripts
DThey eliminate the need for scripting knowledge
Lời giải
Mở trang câu hỏi này →Khi sử dụng các kịch bản dựa trên dữ liệu trong tự động hóa thử nghiệm, một lợi ích quan trọng là chúng giúp tách biệt dữ liệu thử nghiệm khỏi kịch bản, từ đó tăng cường tính linh hoạt. Điều này có nghĩa là bạn có thể dễ dàng thay đổi dữ liệu thử nghiệm mà không cần phải chỉnh sửa kịch bản. Ngoài ra, việc tách biệt dữ liệu và kịch bản cũng giúp giảm thiểu sự phụ thuộc vào dữ liệu cụ thể trong kịch bản, từ đó làm cho kịch bản trở nên linh hoạt hơn. Điều này đặc biệt hữu ích khi bạn cần thử nghiệm với nhiều bộ dữ liệu khác nhau. Tóm lại, sử dụng kịch bản dựa trên dữ liệu trong tự động hóa thử nghiệm giúp tăng cường tính linh hoạt và giảm thiểu sự phụ thuộc vào dữ liệu cụ thể.
AProviding ongoing training
BAdapting processes to fit the tool
CImmediate organization-wide rollout
DContinuous monitoring of tool benefits
Lời giải
Mở trang câu hỏi này →Để thực hiện thành công một công cụ kiểm tra mới, cần xem xét các yếu tố sau:
- Cung cấp đào tạo liên tục: Đây là yếu tố quan trọng để đảm bảo rằng tất cả các thành viên trong tổ chức đều hiểu và biết cách sử dụng công cụ mới.
- Chuyển đổi quy trình để phù hợp với công cụ: Cần phải xem xét và điều chỉnh quy trình làm việc để phù hợp với công cụ mới, tránh gây ra sự phức tạp và khó khăn trong quá trình thực hiện.
- Giám sát liên tục lợi ích của công cụ: Cần phải theo dõi và đánh giá liên tục về lợi ích của công cụ, để có thể điều chỉnh và cải thiện quy trình làm việc.
- Không nên thực hiện triển khai toàn bộ tổ chức ngay lập tức mà không có sự chuẩn bị và đào tạo phù hợp.
ATest management tool
BIncident management tool
CLoad testing tool
DConfiguration management tool
Lời giải
Mở trang câu hỏi này →Để đánh giá khả năng chịu tải của một máy chủ, chúng ta cần sử dụng công cụ phù hợp. Trong bốn lựa chọn trên, công cụ phù hợp nhất cho mục đích này là công cụ kiểm tra tải (Load testing tool). Công cụ này cho phép chúng ta mô phỏng các tình huống thực tế để kiểm tra khả năng chịu tải của máy chủ, từ đó giúp chúng ta xác định giới hạn tải tối đa mà máy chủ có thể xử lý mà không bị quá tải. Điều này rất quan trọng trong việc đảm bảo hiệu suất và độ tin cậy của hệ thống.
AUsing an automation tool that will not be supported in the future
BDeveloping test automation for particularly tedious manual testing areas
CUsing technical testers to implement the automation
DDeveloping automated reporting
Lời giải
Mở trang câu hỏi này →Khi thực hiện tự động hóa kiểm thử, có một số rủi ro cần được xem xét. Thứ nhất, việc sử dụng công cụ tự động hóa không được hỗ trợ trong tương lai có thể khiến bạn gặp khó khăn khi cần cập nhật hoặc sửa lỗi. Điều này có thể dẫn đến chi phí và thời gian lãng phí để tìm kiếm và triển khai công cụ mới. Thứ hai, việc tự động hóa kiểm thử cho các khu vực kiểm thử thủ công phức tạp có thể không hiệu quả nếu không được thực hiện đúng cách. Điều này có thể dẫn đến việc lãng phí thời gian và nguồn lực. Cuối cùng, việc sử dụng kỹ sư kiểm thử để triển khai tự động hóa có thể không hiệu quả nếu họ không có kinh nghiệm hoặc kỹ năng cần thiết. Tuy nhiên, việc tự động hóa báo cáo có thể là một lợi ích của tự động hóa kiểm thử, giúp giảm thời gian và chi phí trong quá trình kiểm thử.
15Which one of the following test tools is mostly suitable for developers rather than testers?4 lựa chọn
ARequirement management tools
BConfiguration management tools
CDefect management tools
DPerformance testing tools
Lời giải
Mở trang câu hỏi này →Các công cụ quản lý yêu cầu (Requirement management tools) thường được sử dụng bởi các nhà phát triển để quản lý và theo dõi yêu cầu của sản phẩm. Chúng giúp các nhà phát triển hiểu rõ hơn về yêu cầu của sản phẩm, từ đó có thể xây dựng sản phẩm đúng theo yêu cầu. Vì vậy, các công cụ quản lý yêu cầu thường được sử dụng bởi các nhà phát triển hơn là các tester. Ví dụ, các công cụ như JIRA, Trello, Asana,... được sử dụng để quản lý và theo dõi yêu cầu của sản phẩm.
AItis easy to create regression tests
BItis easy to maintain version control of test assets
CItis easy to design tests for security testing
DIt is easy to run regression tests
Lời giải
Mở trang câu hỏi này →Các công cụ thực thi thử nghiệm giúp giảm thiểu thời gian và công sức cần thiết để chạy thử nghiệm lặp lại. Điều này là do các công cụ này cho phép tự động hóa quá trình chạy thử nghiệm, giúp giảm thiểu khả năng con người gây ra lỗi. Ngoài ra, các công cụ này cũng giúp dễ dàng theo dõi và phân tích kết quả thử nghiệm, giúp phát hiện vấn đề nhanh chóng hơn. Vì vậy, việc chạy thử nghiệm lặp lại trở nên dễ dàng hơn nhiều so với trước đây.
AScheduling tests
BGenerating test data
CLogging test results
DManaging testing activities
Lời giải
Mở trang câu hỏi này →Một công cụ quản lý thử nghiệm thường bao gồm các tính năng như lập kế hoạch thử nghiệm, tạo dữ liệu thử nghiệm, lưu trữ kết quả thử nghiệm và quản lý hoạt động thử nghiệm. Tuy nhiên, một số tính năng không phải là đặc điểm của một công cụ quản lý thử nghiệm. Ví dụ, lập kế hoạch thử nghiệm là một tính năng quan trọng của một công cụ quản lý thử nghiệm, vì nó cho phép người dùng lập kế hoạch và sắp xếp các thử nghiệm một cách hiệu quả. Tạo dữ liệu thử nghiệm cũng là một tính năng quan trọng, vì nó giúp người dùng tạo ra dữ liệu thử nghiệm cần thiết cho các thử nghiệm. Lưu trữ kết quả thử nghiệm cũng là một tính năng quan trọng, vì nó giúp người dùng theo dõi và phân tích kết quả thử nghiệm. Quản lý hoạt động thử nghiệm cũng là một tính năng quan trọng, vì nó giúp người dùng quản lý và theo dõi các hoạt động thử nghiệm. Tuy nhiên, lập kế hoạch thời gian (scheduling tests) không phải là một tính năng đặc biệt của một công cụ quản lý thử nghiệm, vì nó có thể được thực hiện bằng các công cụ quản lý dự án khác.
18What is a key feature of a test execution tool?4 lựa chọn
AManaging requirements traceability
BSupporting static code analysis
CAutomatically running tests and recording results
DManaging test incidents
Lời giải
Mở trang câu hỏi này →Một công cụ thực thi thử nghiệm (test execution tool) có chức năng chính là tự động chạy các thử nghiệm và ghi lại kết quả. Điều này giúp cho quá trình thử nghiệm trở nên nhanh chóng và hiệu quả hơn. Công cụ này có thể tự động chạy các thử nghiệm trên nhiều nền tảng khác nhau, từ đó giúp cho việc theo dõi và phân tích kết quả trở nên dễ dàng hơn. Ngoài ra, công cụ này cũng có thể tự động ghi lại các kết quả thử nghiệm, giúp cho việc theo dõi tiến độ thử nghiệm trở nên dễ dàng hơn. Tóm lại, tự động chạy thử nghiệm và ghi lại kết quả là một trong những tính năng quan trọng của một công cụ thực thi thử nghiệm.
ATest design tool
BTest execution tool
CStatic analysis tool
DConfiguration management tool
Lời giải
Mở trang câu hỏi này →Để đảm bảo các tiêu chuẩn mã hóa được đáp ứng, bạn nên sử dụng công cụ phân tích tĩnh. Công cụ phân tích tĩnh là một loại công cụ kiểm thử có khả năng phân tích mã nguồn mà không cần thực thi nó. Nó có thể giúp phát hiện các vấn đề về mã hóa, chẳng hạn như lỗi định dạng mã, lỗi logic và các vấn đề về bảo mật. Công cụ phân tích tĩnh thường được sử dụng để đảm bảo rằng mã nguồn tuân thủ các tiêu chuẩn mã hóa nhất định, chẳng hạn như các tiêu chuẩn của tổ chức hoặc các tiêu chuẩn chung. Nó cũng có thể giúp cải thiện chất lượng mã nguồn và giảm thiểu các vấn đề về bảo mật.
20Which of the following tools would you use for dynamic analysis? (Choose 2 correct answers)4 lựa chọn
AStatic analysis tools
BTest management tools
CPerformance testing tools
DMonitoring tools
Lời giải
Mở trang câu hỏi này →Để phân tích động (dynamic analysis), bạn cần sử dụng các công cụ sau: Performance testing tools và Monitoring tools. Performance testing tools giúp bạn đánh giá hiệu suất của hệ thống trong khi Monitoring tools cho phép bạn theo dõi và giám sát hoạt động của hệ thống trong thời gian thực. Điều này giúp bạn xác định các vấn đề hiệu suất và cải thiện hiệu suất của hệ thống. Static analysis tools và Test management tools không phù hợp cho phân tích động vì chúng tập trung vào việc phân tích mã nguồn và quản lý thử nghiệm tĩnh.