Ngân hàng câu hỏi của chương

Câu hỏi: SWT301 - Phần 2: Kiểm thử trong vòng đời phát triển

65 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/65 câuCòn 45
AState-Transition
BUsability
CPerformance
DSecurity
Lời giải
Đáp án đúng: "State-Transition". Kiểm thử phi chức năng (non-functional testing) đánh giá hệ thống hoạt động tốt tới mức nào theo các đặc tính chất lượng, còn chuyển trạng thái (state transition testing) là một kỹ thuật thiết kế ca kiểm thử hộp đen: mô hình hóa các trạng thái, sự kiện và chuyển tiếp giữa chúng để kiểm tra hệ thống có làm đúng chức năng hay không, nên nó không phải một loại kiểm thử phi chức năng. "Usability" là kiểm thử khả năng sử dụng, đo mức dễ học, dễ thao tác, một loại phi chức năng điển hình. "Performance" là kiểm thử hiệu năng, đo thời gian phản hồi và thông lượng dưới tải, cũng là phi chức năng. "Security" là kiểm thử bảo mật, kiểm tra khả năng chống truy cập trái phép; đề cương ISTQB cũ dựa trên ISO 9126 từng xếp bảo mật vào nhóm chức năng, nhưng theo ISO 25010 và đề cương hiện hành bảo mật là một đặc tính chất lượng phi chức năng, nên nó vẫn thuộc nhóm được hỏi.
Mở trang câu hỏi này →
2Which is the non-functional testing4 lựa chọn
APerformance testing
BUnit testing
CRegression testing
DSanity testing
Lời giải
Đáp án đúng: "Performance testing". Kiểm thử phi chức năng (non-functional testing) kiểm tra hệ thống hoạt động tốt đến mức nào, tức các đặc tính chất lượng như hiệu năng, tải, khả năng chịu áp lực, tính dùng được, độ tin cậy, bảo mật, chứ không phải hệ thống làm được gì. Kiểm thử hiệu năng đo thời gian phản hồi, thông lượng, mức dùng tài nguyên nên là ví dụ điển hình của loại này. "Unit testing" là một cấp kiểm thử (kiểm thử thành phần), có thể chứa cả kiểm thử chức năng lẫn phi chức năng, bản thân nó không phải một loại kiểm thử phi chức năng. "Regression testing" là kiểm thử liên quan đến thay đổi, chạy lại ca cũ sau khi sửa đổi để phát hiện lỗi mới phát sinh, không gắn với đặc tính chất lượng nào. "Sanity testing" là phép kiểm nhanh các chức năng chính xem bản dựng có đủ ổn định để kiểm sâu hơn, mang tính chức năng.
Mở trang câu hỏi này →
ASystem testing
BAcceptance testing
CIntegration testing
DSmoke testing
Lời giải
Đáp án đúng: "Acceptance testing". Theo ISTQB Foundation, kiểm thử chấp nhận (acceptance testing) có nhiều dạng: kiểm thử chấp nhận của người dùng (UAT), kiểm thử chấp nhận vận hành (operational acceptance testing), kiểm thử chấp nhận theo hợp đồng và theo quy định (contract and regulation acceptance testing), cùng alpha và beta testing. Kiểm thử theo hợp đồng đối chiếu hệ thống với tiêu chí chấp nhận ghi trong hợp đồng, còn kiểm thử theo quy định đối chiếu với luật, chuẩn an toàn hay quy định của cơ quan quản lý, nên cả hai là một nhánh của cấp chấp nhận. "System testing" (kiểm thử hệ thống) kiểm tra toàn hệ thống theo đặc tả chức năng và phi chức năng, do đội kiểm thử thực hiện chứ không nhằm xác nhận nghĩa vụ hợp đồng. "Integration testing" (kiểm thử tích hợp) tập trung vào giao diện giữa các thành phần. "Smoke testing" (kiểm thử khói) chỉ là lượt chạy nhanh các chức năng chính để xem bản dựng có đủ ổn định cho kiểm thử sâu hơn không.
Mở trang câu hỏi này →
AIEEE 829
BIEEE 610
CBS7925-1
DBS7925-2
Lời giải
Đáp án đúng: "BS7925-2". BS 7925-2 là chuẩn của Viện Tiêu chuẩn Anh (BSI) về kiểm thử thành phần (component testing, còn gọi kiểm thử đơn vị): nó mô tả quy trình kiểm thử thành phần cùng các kỹ thuật thiết kế ca kiểm thử như phân hoạch tương đương, phân tích giá trị biên, kiểm thử chuyển trạng thái, độ phủ câu lệnh và nhánh, kèm cách đo độ phủ cho từng kỹ thuật. "IEEE 829" là chuẩn về tài liệu kiểm thử phần mềm (kế hoạch kiểm thử, đặc tả ca kiểm thử, báo cáo sự cố, báo cáo tổng kết), quy định mẫu tài liệu chứ không quy định cách kiểm thử thành phần. "IEEE 610" là bộ thuật ngữ chuẩn của kỹ nghệ phần mềm, chỉ định nghĩa các từ như error, fault, failure. "BS7925-1" là phần một của cùng bộ chuẩn, tức bảng thuật ngữ kiểm thử phần mềm (vocabulary) cung cấp định nghĩa dùng chung cho phần hai, chứ không phải chuẩn quy trình kiểm thử thành phần.
Mở trang câu hỏi này →
AAt system and acceptance testing levels only.
BAt all test levels.
CAt all levels above integration testing.
DAt the acceptance testing level only.
Lời giải
Đáp án đúng: "At all test levels.". Kiểm thử chức năng (functional testing) kiểm tra hệ thống làm gì, dựa trên đặc tả chức năng hoặc yêu cầu; theo ISTQB, nó là một loại kiểm thử (test type) chứ không phải một cấp kiểm thử, nên được thực hiện ở mọi cấp: kiểm thử đơn vị kiểm chức năng của từng thành phần, kiểm thử tích hợp kiểm chức năng của tương tác giữa các thành phần, kiểm thử hệ thống và chấp nhận kiểm chức năng đầu cuối. "At system and acceptance testing levels only." sai vì bỏ mất cấp đơn vị và tích hợp, nơi chức năng của từng phần cũng được kiểm. "At all levels above integration testing." sai vì loại cả cấp đơn vị lẫn chính cấp tích hợp. "At the acceptance testing level only." hẹp nhất, nhầm kiểm thử chức năng với kiểm thử chấp nhận người dùng.
Mở trang câu hỏi này →
6Confirmation testing4 lựa chọn
AExecute the test again to confirm that the defect has indeed been fixed
BExecute tests with the intent of checking that the system does not now have more defects in it as a result of some change
CVerify that modifications in the software or the environment have not caused unintended adverse side effects and that the system still meets its requirements
DValidate the expected results
Lời giải
Xác thực thử nghiệm là một bước quan trọng trong quy trình kiểm thử phần mềm. Mục đích của xác thực thử nghiệm là xác minh rằng các lỗi đã được sửa chữa và không có lỗi mới được tạo ra trong quá trình sửa chữa. Điều này có thể được thực hiện bằng cách thực hiện lại các thử nghiệm để xác nhận rằng lỗi đã được sửa chữa đúng cách. Ngoài ra, xác thực thử nghiệm còn giúp xác minh rằng các thay đổi trong phần mềm hoặc môi trường không gây ra các tác dụng phụ không mong muốn và hệ thống vẫn đáp ứng được các yêu cầu của nó.
Mở trang câu hỏi này →
ATo ensure that new features disrupt existing functionalities.
BTo verify that bug fixes and enhancements do not introduce new defects into existing functionalities.
CTo check the functionality of new hardware only.
DTo focus testing solely on new features.
Lời giải
Regression testing trong quá trình bảo trì là một phần quan trọng để đảm bảo rằng các sửa lỗi và cải tiến không gây ra các lỗi mới vào các chức năng hiện có. Mục tiêu chính của regression testing là xác minh rằng các thay đổi thực hiện không ảnh hưởng đến các chức năng đã được kiểm tra trước đó. Điều này giúp đảm bảo rằng sản phẩm vẫn hoạt động đúng và không có các lỗi mới được tạo ra. Trong quá trình bảo trì, các nhà phát triển thường thực hiện các sửa lỗi và cải tiến vào sản phẩm, nhưng điều này có thể gây ra các lỗi mới nếu không được kiểm tra kỹ lưỡng. Do đó, regression testing đóng vai trò quan trọng trong việc đảm bảo rằng sản phẩm vẫn hoạt động đúng và không có các lỗi mới.
Mở trang câu hỏi này →
AIt determines the effect of a new marketing campaign
BItis used to decide the new features to be added to the system
CIt assesses how changes might affect the existing system components
DIt helps in redesigning the software interface
Lời giải
Vai trò quan trọng của phân tích tác động trong kiểm tra bảo trì là giúp xác định cách các thay đổi có thể ảnh hưởng đến các thành phần của hệ thống hiện có. Điều này bao gồm việc đánh giá tác động của các thay đổi đối với hiệu suất, tính ổn định và khả năng tương thích của hệ thống. Phân tích tác động giúp các kỹ sư bảo trì xác định các rủi ro tiềm ẩn và thực hiện các biện pháp phòng ngừa để tránh các vấn đề có thể xảy ra. Nó cũng giúp họ xác định các khu vực cần cải thiện và tối ưu hóa hệ thống để đảm bảo rằng nó hoạt động một cách hiệu quả và ổn định.
Mở trang câu hỏi này →
APerformance and stress testing
BConfirmation and regression testing
CUsability and compliance testing
DSecurity and reliability testing
Lời giải
Thử nghiệm liên quan đến thay đổi bao gồm các loại thử nghiệm sau: Confirmation và regression testing. Confirmation testing là quá trình kiểm tra lại các yêu cầu chức năng đã được xác nhận trước đó để đảm bảo chúng vẫn hoạt động đúng sau khi thay đổi. Regression testing là quá trình kiểm tra lại các yêu cầu chức năng đã được xác nhận trước đó để đảm bảo chúng không bị ảnh hưởng bởi các thay đổi khác.
Mở trang câu hỏi này →
ATo assess the system's non-functional characteristics like performance.
BTo verify that the software functions according to the specified requirements.
CTo evaluate the system's capacity to handle high loads.
DTo check the internal code structure of the software.
Lời giải
Mục tiêu chính của việc kiểm thử chức năng là xác minh rằng phần mềm hoạt động theo các yêu cầu được chỉ định. Kiểm thử chức năng là một phần quan trọng của quá trình kiểm thử phần mềm, giúp đảm bảo rằng phần mềm đáp ứng các yêu cầu chức năng được xác định trước. Trong quá trình kiểm thử chức năng, các kỹ sư phần mềm sẽ thực hiện các thử nghiệm để xác minh rằng phần mềm thực hiện các chức năng như mong đợi, bao gồm cả các chức năng cơ bản và các chức năng phức tạp. Mục tiêu chính của kiểm thử chức năng là xác minh rằng phần mềm hoạt động đúng như đã được chỉ định, giúp đảm bảo rằng phần mềm đáp ứng các yêu cầu của người dùng và đạt được hiệu suất tốt.
Mở trang câu hỏi này →
ASystem testing
BIntegration testing
CUnit testing
DAcceptance testing
Lời giải
Mức độ kiểm tra tập trung vào các đơn vị hoặc thành phần riêng lẻ. Trong quá trình phát triển phần mềm, việc kiểm tra từng thành phần nhỏ (đơn vị) là rất quan trọng. Điều này giúp đảm bảo rằng mỗi thành phần nhỏ đều hoạt động đúng và không có lỗi. Mục tiêu của kiểm tra đơn vị là xác định xem từng thành phần nhỏ có đáp ứng yêu cầu hay không. Nói cách khác, kiểm tra đơn vị là quá trình kiểm tra từng phần nhỏ của hệ thống để đảm bảo rằng nó hoạt động chính xác và không có lỗi.
Mở trang câu hỏi này →
AUsability testing focuses on user-friendliness, while performance testing measures operational capabilities.
BUsability testing measures how fast the system responds to requests, while performance testing checks for user-friendliness.
CThey do not differ; both terms describe the same tests.
DUsability testing is a type of performance testing.
Lời giải
So sánh giữa usability testing và performance testing là một phần quan trọng trong việc đánh giá chất lượng của một hệ thống. Usability testing tập trung vào tính dễ sử dụng của hệ thống, tức là hệ thống có dễ dàng sử dụng và hiểu được không. Trong khi đó, performance testing đo lường khả năng hoạt động của hệ thống, bao gồm tốc độ tải, dung lượng lưu trữ và khả năng xử lý. Điều này có nghĩa là usability testing nhằm mục đích cải thiện trải nghiệm người dùng, trong khi performance testing nhằm mục đích đảm bảo hệ thống có thể hoạt động một cách ổn định và hiệu quả. Vì vậy, hai loại thử nghiệm này có mục tiêu và phạm vi khác nhau.
Mở trang câu hỏi này →
13What is Integration testing?4 lựa chọn
AIt tests interfaces between components, interactions to different parts of a system such as an operating system, file system and hardware or interfaces between systems.
BIt is unit, module and program testing, searches for defects in, and verifies the functioning of software that are separately testable.
CIt is concerned with the behavior of the whole system/product as defined by the scope of a development project or product
DThe system will be delivered to the user or customer for testing.
Lời giải
Integration testing (thử nghiệm tích hợp) là một loại thử nghiệm phần mềm được sử dụng để kiểm tra các giao diện giữa các thành phần, tương tác giữa các phần khác nhau của hệ thống như hệ điều hành, hệ thống tệp và phần cứng hoặc giao diện giữa các hệ thống. Mục tiêu của thử nghiệm tích hợp là đảm bảo rằng các thành phần khác nhau của hệ thống hoạt động đúng và tương tác với nhau một cách chính xác. Điều này giúp phát hiện ra các lỗi và sai sót trong hệ thống và đảm bảo rằng hệ thống hoạt động một cách ổn định và hiệu quả. Thử nghiệm tích hợp thường được thực hiện sau khi các thành phần riêng lẻ đã được thử nghiệm và chứng minh là hoạt động đúng.
Mở trang câu hỏi này →
AUnit testing
BSystem testing
CIntegration testing
DAcceptance testing
Lời giải
Để xác định ứng dụng đáp ứng được các yêu cầu kinh doanh, chúng ta cần thực hiện các bài kiểm tra ở mức nào? Câu trả lời đúng là Acceptance testing. Acceptance testing là quá trình kiểm tra cuối cùng để xác minh ứng dụng đáp ứng được các yêu cầu kinh doanh và các yêu cầu chức năng. Quá trình này thường được thực hiện bởi người dùng cuối hoặc người quản lý dự án. Trong Acceptance testing, các yêu cầu kinh doanh sẽ được kiểm tra một cách chi tiết để đảm bảo rằng ứng dụng đáp ứng được tất cả các yêu cầu. Điều này giúp đảm bảo rằng ứng dụng sẽ hoạt động đúng và đáp ứng được nhu cầu của người dùng.
Mở trang câu hỏi này →
ARegression test is only run once.
BRegression test will always be automated.
CRegression test will check unchanged areas of the software to see if they have been affected.
DRegression test will check changed areas of the software to see if they have been affected.
Lời giải
Regression test là một phần quan trọng trong quy trình phát triển phần mềm. Nó giúp đảm bảo rằng các thay đổi được thực hiện vào phần mềm không gây ra các vấn đề mới hoặc ảnh hưởng đến các phần khác của phần mềm. Trong các lựa chọn trên, câu trả lời đúng là "Regression test sẽ kiểm tra các khu vực đã thay đổi của phần mềm để xem liệu chúng đã bị ảnh hưởng hay không". Điều này có nghĩa là khi phát triển phần mềm, các nhà phát triển sẽ chạy các thử nghiệm lại để đảm bảo rằng các thay đổi mới không gây ra các vấn đề mới hoặc ảnh hưởng đến các phần khác của phần mềm. Điều này giúp đảm bảo rằng phần mềm luôn hoạt động đúng và không có các vấn đề mới.
Mở trang câu hỏi này →
ATesting the database and data processing
BEnsuring that software modules work together
CChecking that the system is ready for live deployment
DEvaluating user satisfaction with the product
Lời giải
Integration testing là một phần quan trọng trong quá trình kiểm thử phần mềm. Mục tiêu chính của việc kiểm thử tích hợp là đảm bảo rằng các mô-đun phần mềm hoạt động cùng nhau một cách trơn tru và hiệu quả. Điều này bao gồm việc kiểm tra giao tiếp giữa các mô-đun, đảm bảo rằng dữ liệu được truyền và nhận đúng cách, và kiểm tra rằng hệ thống có thể xử lý các yêu cầu phức tạp một cách chính xác. Việc kiểm thử tích hợp giúp phát hiện ra các lỗi và vấn đề tiềm ẩn trong hệ thống, từ đó giúp cải thiện chất lượng và độ tin cậy của phần mềm.
Mở trang câu hỏi này →
AStress testing examines system performance under peak loads, while load testing focuses on typical conditions
BStress testing is concerned with usability under stress, while load testing measures performance thresholds
CStress testing evaluates system behavior beyond normal operational capacity, while load testing verifies normal usage conditions
Lời giải
Stress testing và load testing đều là các phương pháp kiểm tra hiệu suất của hệ thống, nhưng chúng phục vụ cho các mục đích khác nhau. Stress testing tập trung vào việc kiểm tra hệ thống khi nó hoạt động ở mức tải cao, vượt quá khả năng hoạt động bình thường. Điều này giúp xác định giới hạn chịu tải của hệ thống và đảm bảo rằng nó có thể xử lý được các tình huống khẩn cấp. Ngược lại, load testing tập trung vào việc kiểm tra hệ thống khi nó hoạt động ở mức tải bình thường, giúp xác định xem hệ thống có thể xử lý được các yêu cầu thông thường hay không. Tóm lại, stress testing là một phương pháp kiểm tra hiệu suất của hệ thống ở mức tải cao, trong khi load testing là một phương pháp kiểm tra hiệu suất của hệ thống ở mức tải bình thường.
Mở trang câu hỏi này →
AIt eliminates the need for testing.
BIt integrates testing throughout the development phases.
CItis less costly and time-consuming compared to other models.
DIt focuses on post-development testing only.
Lời giải
V-model trong phát triển phần mềm là một mô hình giúp tích hợp kiểm thử vào các giai đoạn phát triển. Ưu điểm chính của V-model là nó cho phép kiểm thử được thực hiện đồng thời với các giai đoạn phát triển khác nhau, từ thiết kế đến triển khai và bảo trì. Điều này giúp phát hiện và sửa lỗi sớm, giảm thiểu chi phí và thời gian phát triển. Ngoài ra, V-model cũng giúp đảm bảo chất lượng của sản phẩm phần mềm và cải thiện hiệu suất của đội ngũ phát triển. Nhờ đó, V-model trở thành một trong những mô hình phát triển phần mềm phổ biến và được sử dụng rộng rãi.
Mở trang câu hỏi này →
ATo test the entire system as a whole
BTo test individual units or components in isolation
CTo validate the software against user requirements
DTo perform performance testing
Lời giải
Unit testing trong phát triển phần mềm có mục đích kiểm tra từng đơn vị hoặc thành phần riêng biệt. Điều này giúp đảm bảo rằng từng phần của hệ thống hoạt động chính xác và độc lập. Quá trình này giúp phát hiện ra lỗi sớm và hiệu quả hơn so với việc kiểm tra toàn bộ hệ thống. Unit testing cũng giúp cải thiện độ tin cậy và ổn định của hệ thống, đồng thời giảm thiểu thời gian và chi phí cần thiết để phát triển và bảo trì phần mềm. Nó cũng giúp cho các nhà phát triển có thể dễ dàng sửa lỗi và cập nhật phần mềm mà không ảnh hưởng đến các thành phần khác.
Mở trang câu hỏi này →
AItis always performed after functional testing.
BIt focuses on how well the system performs certain actions.
CItis concerned solely with what the system does.
DIt does not include performance testing.
Lời giải
Non-functional testing là một loại kiểm thử phần mềm tập trung vào các tính chất không liên quan trực tiếp đến chức năng của hệ thống. Điều này bao gồm các yếu tố như hiệu suất, độ tin cậy, khả năng chịu tải, bảo mật và tương thích. Non-functional testing giúp đảm bảo rằng hệ thống hoạt động một cách ổn định và hiệu quả trong các tình huống khác nhau. Ví dụ, hiệu suất của hệ thống có thể được kiểm thử bằng cách đo thời gian tải dữ liệu hoặc thực hiện các tác vụ phức tạp. Độ tin cậy có thể được kiểm thử bằng cách đánh giá khả năng hệ thống hoạt động mà không gặp lỗi trong thời gian dài. Khả năng chịu tải có thể được kiểm thử bằng cách đo khả năng hệ thống xử lý số lượng lớn dữ liệu hoặc người dùng. Mục tiêu của non-functional testing là đảm bảo rằng hệ thống đáp ứng các yêu cầu về hiệu suất, độ tin cậy và khả năng chịu tải.
Mở trang câu hỏi này →