Các loại kiểm tra trả lời bao gồm Contract và regulation testing là một phần của kiểm tra System testing. Trong quá trình kiểm tra System testing, các nhà phát triển sẽ kiểm tra toàn bộ hệ thống để đảm bảo rằng nó hoạt động đúng như mong đợi. Kiểm tra Contract và regulation testing là một phần quan trọng của quá trình này, giúp đảm bảo rằng hệ thống tuân thủ các hợp đồng và quy định đã được thiết lập.
Quiz: SWT301_SU24_RE (Retake) - Có đáp án và giải thích chi tiết, ôn tập ngay!
Phiên có lưu tiến độ dùng toàn bộ 60 câu của bộ đề để tiến độ khớp với máy chủ.
Bạn cần đăng nhập để bắt đầu làm bài và lưu tiến độ.
60
Không giới hạn
0
60
60
Xem trước câu hỏi
Khi thực hiện kiểm thử, việc dừng kiểm thử phụ thuộc vào nhiều yếu tố. Trước hết, nếu tất cả các thử nghiệm đã được thực hiện và không còn thử nghiệm nào cần thực hiện nữa, thì việc kiểm thử có thể được dừng lại. Tuy nhiên, nếu thời gian đã hết và không thể thực hiện thêm thử nghiệm, thì việc kiểm thử cũng cần được dừng lại. Ngoài ra, nếu tất cả các lỗi đã được sửa chữa chính xác và hệ thống đã được kiểm thử đầy đủ, thì việc kiểm thử cũng có thể được dừng lại. Tuy nhiên, điều quan trọng là phải xem xét đến mức độ rủi ro của hệ thống đang được kiểm thử. Nếu hệ thống có mức độ rủi ro cao, thì việc kiểm thử cần được tiếp tục cho đến khi đảm bảo rằng hệ thống đã được kiểm thử đầy đủ và an toàn.
Đáp án đúng: E. Tiêu chí hoàn thành kiểm thử (test completion criteria, còn gọi là exit criteria) được đưa vào kế hoạch kiểm thử để trả lời câu hỏi KHI NÀO DỪNG kiểm thử: đạt bao nhiêu phần trăm bao phủ, còn bao nhiêu lỗi mức nghiêm trọng, rủi ro tồn đọng ở mức nào. Nhờ đó việc dừng kiểm thử là một quyết định có căn cứ chứ không phải vì hết thời gian hay hết tiền. Phương án A chỉ nói tới việc một phép kiểm thử chạy xong; B là mục tiêu của việc rà soát đặc tả ca kiểm thử; C thuộc kỹ thuật thiết kế dữ liệu đầu vào; D nói về hoàn thành khâu lập kế hoạch, không phải khâu kiểm thử.
Các tài xế (drivers) là công cụ được sử dụng để kiểm soát và vận hành phần mềm đang được kiểm thử. Họ đóng vai trò quan trọng trong việc tương tác với phần mềm và thực hiện các hành động cụ thể để kiểm tra tính đúng đắn của nó. Ví dụ, một tài xế có thể được sử dụng để tương tác với một ứng dụng web, nhập dữ liệu, nhấp vào các nút và kiểm tra phản hồi của ứng dụng. Mục đích của việc sử dụng tài xế là để mô phỏng các hành động của người dùng thực và đảm bảo rằng phần mềm hoạt động đúng như mong đợi.
Mô tả về tiêu chuẩn kiểm tra thành phần trong việc đánh giá khả năng trả lời của một hệ thống. Tiêu chuẩn này được sử dụng để xác định các yêu cầu và quy trình kiểm tra để đảm bảo hệ thống đáp ứng được các yêu cầu chức năng và hiệu suất. Trong các lựa chọn trên, tiêu chuẩn IEEE 829 là tiêu chuẩn được sử dụng rộng rãi nhất trong lĩnh vực kiểm thử phần mềm. Tiêu chuẩn này cung cấp các hướng dẫn chi tiết về quy trình kiểm thử, bao gồm việc xác định yêu cầu kiểm thử, thiết kế kiểm thử, thực hiện kiểm thử và đánh giá kết quả kiểm thử. IEEE 610 là tiêu chuẩn về từ vựng và định nghĩa trong lĩnh vực công nghệ thông tin, không liên quan trực tiếp đến kiểm thử phần mềm. BS7925-1 và BS7925-2 là tiêu chuẩn về kiểm thử phần mềm của Anh, nhưng không được sử dụng rộng rãi như IEEE 829.
Đáp án đúng: B. Độ tin cậy (reliability) là xác suất phần mềm hoạt động không phát sinh sự cố trong một khoảng thời gian và điều kiện xác định. Vì vậy hệ thống tin cậy là hệ thống ÍT có khả năng gây ra hỏng hóc (failure) khi vận hành. Cần phân biệt fault (lỗi nằm trong mã) với failure (biểu hiện sai khi chạy): một hệ thống vẫn có thể chứa nhiều fault ở những nhánh hiếm khi được thực thi mà vẫn rất tin cậy, nên phương án C "gần như không còn lỗi" không phải định nghĩa của độ tin cậy. Phương án A nói về tiến độ dự án và phương án D nói về mức độ hài lòng của người dùng, đều là thuộc tính khác.
Về cấu trúc báo cáo sự cố, tiêu chuẩn IEEE 829 cho tài liệu kiểm thử phần mềm (Standard for Software Test Documentation IEEE 829) đề cập đến một phần quan trọng. Cụ thể, tiêu chuẩn này định nghĩa cấu trúc của báo cáo sự cố (incident report) và gọi nó là 'Báo cáo sự cố kiểm thử' (Test Incident Report). Điều này cho thấy tầm quan trọng của việc lập báo cáo sự cố trong quá trình kiểm thử phần mềm để đảm bảo rằng mọi sự cố đều được ghi nhận và xử lý một cách đầy đủ.
Khi tăng cường chất lượng phần mềm thông qua các phương pháp phát triển tốt hơn, sẽ ảnh hưởng đến thời gian cần thiết cho quá trình kiểm thử (phases kiểm thử). Việc áp dụng các phương pháp phát triển tốt hơn sẽ giúp giảm thiểu số lượng lỗi trong phần mềm, từ đó giảm thời gian cần thiết cho quá trình kiểm thử. Điều này là vì các lỗi thường được phát hiện và sửa chữa trong quá trình phát triển, thay vì phải chờ đến giai đoạn kiểm thử. Vì vậy, việc tăng cường chất lượng phần mềm thông qua các phương pháp phát triển tốt hơn sẽ giúp giảm thời gian cần thiết cho quá trình kiểm thử.
Các phương pháp trả lời là IL. Phương pháp nào không phải là nguyên tắc kiểm thử là: Trong kiểm thử phần mềm, có nhiều nguyên tắc được áp dụng để đảm bảo chất lượng của sản phẩm. Các nguyên tắc này bao gồm Early testing (Kiểm thử sớm), Defect clustering (Tập trung lỗi), Pesticide paradox (Paradox thuốc trừ sâu) và Exhaustive testing (Kiểm thử đầy đủ). Tuy nhiên, trong số các phương pháp này, Exhaustive testing không phải là một nguyên tắc kiểm thử. Nguyên tắc này đề cập đến việc kiểm thử tất cả các khả năng của sản phẩm, điều này không thể thực hiện được trong thực tế do số lượng khả năng quá lớn. Nguyên tắc kiểm thử thực sự bao gồm Early testing, Defect clustering và Pesticide paradox. Early testing đề cập đến việc kiểm thử sớm trong quá trình phát triển phần mềm để phát hiện và sửa lỗi sớm. Defect clustering đề cập đến việc tập trung lỗi vào các khu vực cụ thể của sản phẩm. Pesticide paradox đề cập đến việc việc kiểm thử trở nên hiệu quả hơn khi sử dụng các công cụ và kỹ thuật kiểm thử khác nhau.
Khi thiết kế thử nghiệm sớm trong chu kỳ sống của sản phẩm, lợi ích chính là ngăn chặn các lỗi được đưa vào mã nguồn. Việc này giúp giảm thiểu đáng kể số lượng lỗi cần phải sửa chữa trong quá trình thử nghiệm sau này. Thiết kế thử nghiệm sớm cũng cho phép phát hiện và sửa chữa các lỗi ngay từ đầu, giúp tiết kiệm thời gian và công sức trong quá trình thử nghiệm. Ngoài ra, thiết kế thử nghiệm sớm còn giúp đảm bảo rằng sản phẩm đáp ứng được các yêu cầu và tiêu chuẩn của khách hàng, từ đó tăng cường độ tin cậy và chất lượng của sản phẩm.
Có nhiều loại kiểm thử trong quá trình phát triển phần mềm. Kiểm thử thành phần (Component testing) và kiểm thử hệ thống (System testing) là hai loại kiểm thử quan trọng. Kiểm thử thành phần thường được thực hiện bằng cách kiểm thử hộp đen (Black box), trong khi kiểm thử hệ thống thường được thực hiện bằng cách kiểm thử hộp trắng (White box). Điều này có nghĩa là kiểm thử thành phần tập trung vào việc kiểm thử các thành phần riêng lẻ của phần mềm, trong khi kiểm thử hệ thống tập trung vào việc kiểm thử toàn bộ hệ thống phần mềm. Ngoài ra, nếu bạn tìm thấy nhiều lỗi trong quá trình kiểm thử, điều đó không có nghĩa là phần mềm không tốt. Thay vào đó, nó có nghĩa là phần mềm cần được cải thiện thêm. Tương tự, số lượng lỗi ít hơn không phải là dấu hiệu tốt nhất cho quá trình kiểm thử. Điều quan trọng là phải chạy nhiều thử nghiệm để đảm bảo phần mềm hoạt động đúng cách. Vì vậy, câu trả lời đúng là "The fewer bugs you find, the better your testing was" không hoàn toàn chính xác.
Phân tích thử nghiệm phần mềm thường chiếm khoảng 5-10% chi phí phát triển phần mềm. Điều này có thể khác nhau tùy thuộc vào quy mô dự án và mức độ phức tạp của phần mềm. Tuy nhiên, trong nhiều trường hợp, việc thử nghiệm phần mềm được coi là một phần quan trọng của quá trình phát triển phần mềm và thường chiếm một tỷ lệ nhỏ so với tổng chi phí phát triển. Việc thử nghiệm phần mềm giúp đảm bảo chất lượng phần mềm, phát hiện và sửa lỗi sớm, từ đó tiết kiệm thời gian và chi phí trong dài hạn.
Kỹ thuật thiết kế thử nghiệm có thể được định nghĩa theo nhiều cách khác nhau. Một trong những cách phổ biến nhất là kỹ thuật chọn thử nghiệm. Kỹ thuật này liên quan đến việc chọn các trường hợp thử nghiệm phù hợp để kiểm tra phần mềm. Điều này giúp đảm bảo rằng phần mềm hoạt động đúng và không có lỗi. Ngoài ra, kỹ thuật này còn giúp tiết kiệm thời gian và nguồn lực trong quá trình thử nghiệm. Nói cách khác, kỹ thuật chọn thử nghiệm là một phần quan trọng của quá trình thiết kế thử nghiệm, giúp đảm bảo rằng phần mềm được kiểm tra một cách hiệu quả và chính xác.
Để đánh giá hiệu quả của quá trình kiểm thử, chúng ta cần thực hiện một số nhiệm vụ quan trọng. Trong đó, đo lường và phân tích kết quả là một trong những nhiệm vụ chính của việc triển khai và thực hiện kiểm thử. Quá trình này giúp chúng ta xác định được những điểm mạnh và điểm yếu của sản phẩm, từ đó có thể đưa ra những quyết định chính xác để cải thiện nó. Việc đo lường và phân tích kết quả cũng giúp chúng ta xác định được những khu vực cần cải thiện và có thể đề xuất những giải pháp phù hợp để khắc phục những vấn đề đó.
Kỹ thuật kiểm tra loại câu trả lời là il thường được áp dụng trong quá trình kiểm tra thành phần là kiểm tra câu và nhánh. Kỹ thuật này liên quan đến việc kiểm tra từng câu lệnh và nhánh điều khiển trong mã nguồn để đảm bảo chúng hoạt động đúng như mong đợi. Điều này giúp phát hiện ra các lỗi logic và đảm bảo rằng mã nguồn được viết một cách chính xác. Trong quá trình kiểm tra thành phần, việc kiểm tra câu và nhánh là một phần quan trọng để đảm bảo chất lượng của sản phẩm. Nó giúp phát hiện ra các lỗi sớm và tiết kiệm thời gian và nguồn lực trong quá trình phát triển.
Khi chọn phương pháp thử nghiệm, yếu tố quan trọng nhất là sự có sẵn của công cụ hỗ trợ các kỹ thuật đề xuất. Điều này có nghĩa là trước khi quyết định sử dụng một phương pháp thử nghiệm nào đó, bạn cần phải xem xét xem có đủ công cụ, phần mềm và thiết bị cần thiết để hỗ trợ quá trình thử nghiệm hay không. Nếu không có đủ công cụ hỗ trợ, việc triển khai phương pháp thử nghiệm có thể trở nên khó khăn và tốn kém. Vì vậy, việc đánh giá sự có sẵn của công cụ hỗ trợ là bước quan trọng đầu tiên khi chọn phương pháp thử nghiệm.
Lập kế hoạch kiểm thử có các nhiệm vụ chính sau đây. Nhiệm vụ đầu tiên là xác định mục tiêu kiểm thử, bao gồm việc xác định yêu cầu của sản phẩm, xác định các trường hợp sử dụng và xác định các yêu cầu về hiệu suất. Nhiệm vụ thứ hai là lập kế hoạch kiểm thử chi tiết, bao gồm việc xác định các trường hợp kiểm thử, xác định các dữ liệu kiểm thử và xác định các công cụ kiểm thử. Nhiệm vụ thứ ba là lập kế hoạch kiểm thử thực hiện, bao gồm việc xác định các bước kiểm thử, xác định các yêu cầu về môi trường kiểm thử và xác định các yêu cầu về thời gian kiểm thử. Nhiệm vụ thứ tư là đánh giá và cải thiện kế hoạch kiểm thử, bao gồm việc đánh giá hiệu quả của kế hoạch kiểm thử và xác định các điểm cần cải thiện. Theo đó, nhiệm vụ i và nhiệm vụ iv là đúng và nhiệm vụ iii là sai.
Hoạt động đóng gói thử nghiệm là một phần quan trọng của chu trình phát triển phần mềm. Trong hoạt động này, các kỹ sư phần mềm sẽ thực hiện các bước để đảm bảo rằng sản phẩm đã được kiểm tra và thử nghiệm một cách đầy đủ. Các hoạt động đóng gói thử nghiệm bao gồm: - i. Xác định các yêu cầu đóng gói thử nghiệm: Đây là bước đầu tiên trong hoạt động đóng gói thử nghiệm, trong đó các kỹ sư phần mềm sẽ xác định các yêu cầu cần thiết để đóng gói sản phẩm. - ii. Xây dựng kế hoạch đóng gói thử nghiệm: Sau khi xác định các yêu cầu đóng gói thử nghiệm, các kỹ sư phần mềm sẽ xây dựng kế hoạch để thực hiện các hoạt động đóng gói thử nghiệm. - iii. Thực hiện hoạt động đóng gói thử nghiệm: Đây là bước thực hiện các hoạt động đóng gói thử nghiệm theo kế hoạch đã xây dựng. - iv. Đánh giá và cải thiện hoạt động đóng gói thử nghiệm: Cuối cùng, các kỹ sư phần mềm sẽ đánh giá và cải thiện hoạt động đóng gói thử nghiệm để đảm bảo rằng sản phẩm đã được kiểm tra và thử nghiệm một cách đầy đủ. Vì vậy, câu trả lời đúng là "i, ii, iv are true và iii là false".
Quá trình bắt đầu từ các mô-đun cuối cùng được gọi là tích hợp từ trên xuống. Trong quá trình này, các mô-đun cuối cùng được tích hợp vào các mô-đun cao hơn để tạo thành một hệ thống phức tạp hơn. Điều này thường được sử dụng trong các hệ thống lớn và phức tạp, nơi mà các mô-đun cuối cùng cần được tích hợp vào các mô-đun cao hơn để tạo thành một hệ thống toàn diện. Ví dụ, trong một hệ thống tự động hóa, các mô-đun cuối cùng như cảm biến và động cơ cần được tích hợp vào các mô-đun cao hơn như hệ thống điều khiển và giao tiếp để tạo thành một hệ thống tự động hóa toàn diện.
Các loại kiểm tra có liên quan đến việc đánh giá chất lượng phần mềm. Trong đó, kiểm tra tĩnh (static test) là một loại kiểm tra không cần phải chạy chương trình. Nó giúp phát hiện ra các lỗi trong mã nguồn trước khi chương trình được thực thi. Một trong những phương pháp kiểm tra tĩnh phổ biến là kiểm tra mã nguồn bằng mắt (code inspection). Điều này giúp phát hiện ra các lỗi logic, lỗi syntax và các vấn đề khác trong mã nguồn mà không cần phải chạy chương trình. Vì vậy, trong các lựa chọn trên, kiểm tra mã nguồn bằng mắt (code inspection) là một phương pháp kiểm tra tĩnh.
Mục đích của đánh giá không chính thức là quá trình thảo luận, đưa ra quyết định và giải quyết các vấn đề kỹ thuật. Quá trình này giúp các thành viên trong nhóm hoặc tổ chức chia sẻ ý kiến, kinh nghiệm và kiến thức của mình. Thông qua việc thảo luận, họ có thể tìm ra các giải pháp hiệu quả hơn cho các vấn đề phức tạp. Đánh giá không chính thức cũng giúp xây dựng mối quan hệ và tăng cường sự hợp tác trong nhóm. Nói cách khác, mục đích của đánh giá không chính thức là tạo ra một môi trường học hỏi và phát triển, nơi mọi người có thể chia sẻ và học hỏi từ nhau.
Trong quá trình đánh giá chính thức, người ghi chép lại tất cả các vấn đề, vấn đề và điểm mở được xác định là người ghi chép. Họ chịu trách nhiệm thu thập và ghi lại thông tin, đảm bảo rằng tất cả các vấn đề và điểm mở được ghi lại một cách chính xác và đầy đủ. Người ghi chép đóng vai trò quan trọng trong việc đảm bảo rằng tất cả các vấn đề và điểm mở được xem xét và giải quyết một cách hiệu quả.
Người chịu trách nhiệm dẫn dắt quá trình xem xét tài liệu, lên kế hoạch cho quá trình xem xét, điều hành cuộc họp và theo dõi sau cuộc họp được gọi làModerator. Họ là người có vai trò quan trọng trong việc đảm bảo quá trình xem xét diễn ra một cách hiệu quả và có kết quả tốt. Họ sẽ lên kế hoạch cho cuộc họp, mời các thành viên tham gia, điều hành cuộc họp và theo dõi tiến độ sau cuộc họp. Mục tiêu của họ là đảm bảo rằng tài liệu được xem xét một cách kỹ lưỡng và có kết quả tốt.
Walk Through là một phương pháp đánh giá hiệu suất và chất lượng công việc. Để xác định Key Characteristics của Walk Through, chúng ta cần xem xét các lựa chọn sau. Lựa chọn đầu tiên, Scenario, Dry Run, Peer Group, là một trong những đặc điểm chính của Walk Through. Scenario đề cập đến việc mô tả một tình huống cụ thể để đánh giá hiệu suất công việc. Dry Run là quá trình thử nghiệm và kiểm tra trước khi thực hiện công việc. Peer Group là quá trình đánh giá và thảo luận giữa các thành viên trong nhóm. Tất cả các yếu tố này đều đóng vai trò quan trọng trong việc đảm bảo chất lượng và hiệu suất công việc.
Để đạt được 100% quyết định và 100% tuyên bố, bạn đã thiết kế các trường hợp kiểm thử để cung cấp cho đoạn mã sau: nếu chiều rộng > chiều dài thì chiều kích lớn nhất = chiều rộng, ngược lại thì chiều kích lớn nhất = chiều dài. Khi thêm vào cuối đoạn mã trên: In ra màn hình "Chiều kích lớn nhất là " & chiều kích lớn nhất, in ra màn hình "Chiều rộng: " & chiều rộng, in ra màn hình "Chiều dài: " & chiều dài. Để đạt được 100% quyết định, bạn cần thêm một trường hợp kiểm thử để kiểm tra điều kiện chiều rộng <= chiều dài. Để đạt được 100% tuyên bố, bạn cần thêm một trường hợp kiểm thử để kiểm tra việc in ra màn hình các giá trị của chiều rộng, chiều dài và chiều kích lớn nhất. Tuy nhiên, trường hợp kiểm thử này cũng sẽ giúp đạt được 100% quyết định vì nó sẽ kiểm tra cả điều kiện chiều rộng <= chiều dài. Vì vậy, không cần thêm trường hợp kiểm thử nào mới.
Các kỹ thuật kiểm thử hộp đen là phương pháp kiểm thử mà không cần biết chi tiết về mã nguồn của ứng dụng. Trong đó, có một số kỹ thuật như phân vùng tương đương (Equivalence partition), bảng quyết định (Decision tables), và sơ đồ giao dịch (Transaction diagrams). Tuy nhiên, kỹ thuật kiểm thử quyết định (Decision testing) không phải là một kỹ thuật hộp đen. Kỹ thuật này đòi hỏi phải biết chi tiết về mã nguồn của ứng dụng và sử dụng các quyết định logic để kiểm thử. Vì vậy, trong các lựa chọn trên, kỹ thuật kiểm thử quyết định không phải là một kỹ thuật hộp đen.
Lỗi đoán (Error Guessing) là một kỹ thuật thử nghiệm được sử dụng để tạo ra các trường hợp thử nghiệm. Kỹ thuật này dựa trên khả năng của người thử nghiệm để đoán ra các lỗi tiềm ẩn trong hệ thống. Lỗi đoán thường được sử dụng như một phương pháp đầu tiên để tạo ra các trường hợp thử nghiệm, vì nó cho phép người thử nghiệm sử dụng kinh nghiệm và kiến thức của mình để xác định các khu vực tiềm ẩn của hệ thống. Điều này giúp người thử nghiệm tạo ra các trường hợp thử nghiệm hiệu quả và hiệu quả, đồng thời tiết kiệm thời gian và nguồn lực. Tuy nhiên, lỗi đoán cũng có thể được sử dụng sau khi áp dụng các kỹ thuật thử nghiệm chính thức khác, để kiểm tra và xác minh các trường hợp thử nghiệm đã được tạo ra.
Để trả lời câu hỏi này, chúng ta cần hiểu rõ về code được cung cấp và các khái niệm về coverage trong kiểm thử phần mềm. Code được cung cấp bao gồm một điều kiện IF-THEN-ELSE và một lệnh đọc giá trị D. Điều kiện IF-THEN-ELSE sẽ thực hiện một trong hai hành động: nếu A lớn hơn B thì C sẽ được tính bằng A trừ B, nếu không thì C sẽ được tính bằng A cộng B. Sau đó, nếu C bằng D thì sẽ in ra 'Error'. Để đạt được statement coverage, chúng ta cần chạy thử nghiệm để thực hiện tất cả các câu lệnh trong code. Điều này có nghĩa là chúng ta cần chạy thử nghiệm để thực hiện cả hai hành động trong điều kiện IF-THEN-ELSE và cả hai trường hợp của lệnh đọc giá trị D. Để đạt được branch coverage, chúng ta cần chạy thử nghiệm để thực hiện tất cả các nhánh trong code. Trong trường hợp này, có 3 nhánh: nhánh IF-THEN, nhánh IF-ELSE và nhánh ENIF. Vì vậy, để đạt được branch coverage, chúng ta cần chạy thử nghiệm để thực hiện tất cả 3 nhánh này.
Khi một người đang thống trị cuộc họp cải tiến quy trình phần mềm, người dẫn cuộc họp cần sử dụng các kỹ thuật phù hợp để khuyến khích các thành viên khác tham gia thảo luận. Kỹ thuật phù hợp trong trường hợp này là chuyển chủ đề sang vấn đề mà người đó không có ý kiến mạnh mẽ. Điều này cho phép người dẫn cuộc họp tạo cơ hội cho các thành viên khác thể hiện ý kiến của mình, đồng thời giúp ngăn chặn việc một người duy trì quyền kiểm soát cuộc họp. Bằng cách chuyển chủ đề, người dẫn cuộc họp có thể tạo ra một môi trường thảo luận tích cực và đa dạng, nơi mà mọi người đều có cơ hội thể hiện ý kiến của mình.
Kiểm tra trường hợp sử dụng (Use Case Testing) thường được sử dụng để phát hiện các lỗi liên quan đến yêu cầu chức năng của hệ thống. Các lỗi này thường bao gồm các vấn đề về logic, quy trình và giao diện người dùng. Vì vậy, loại lỗi mà kiểm tra trường hợp sử dụng có khả năng phát hiện được nhất là các lỗi liên quan đến yêu cầu chức năng của hệ thống, bao gồm lỗi về logic (ii) và lỗi về giao diện người dùng (iii).
Vấn đề này yêu cầu chúng ta xác định tập hợp các giá trị biên (boundary values) trong một chương trình xác thực trường số. Chương trình xác thực trường số theo các quy tắc sau: giá trị nhỏ hơn 10 bị từ chối, giá trị nằm trong khoảng từ 10 đến 21 được chấp nhận, giá trị lớn hơn hoặc bằng 22 bị từ chối. Để trả lời câu hỏi này, chúng ta cần tìm tập hợp các giá trị biên bao gồm cả giá trị nhỏ nhất, giá trị lớn nhất và các giá trị quan trọng khác trong khoảng xác định. Trong trường hợp này, giá trị nhỏ nhất là 9, giá trị lớn nhất là 22 và các giá trị quan trọng khác là 10 và 21. Vì vậy, tập hợp các giá trị biên bao gồm cả 9, 10, 21 và 22.
Các loại mô hình trả lời là il là mô hình mô tả quá trình hoạt động của một phần mềm. Trong đó, mô hình dòng chảy quy trình (Process flow model) không thể được sử dụng trong thử nghiệm chức năng vì nó mô tả quá trình hoạt động của phần mềm mà không thể xác định được các chức năng cụ thể của phần mềm. Mô hình trạng thái giao dịch (State transaction model) và mô hình cấu trúc menu (Menu structure model) có thể được sử dụng trong thử nghiệm chức năng vì chúng mô tả các chức năng cụ thể của phần mềm. Mô hình mô tả bằng ngôn ngữ thông thường (Plain language specification model) cũng không thể được sử dụng trong thử nghiệm chức năng vì nó mô tả phần mềm bằng ngôn ngữ thông thường mà không thể xác định được các chức năng cụ thể của phần mềm.
Câu hỏi này yêu cầu bạn chọn đáp án đúng cho các lựa chọn sau. Các lựa chọn bao gồm các bước trong một quá trình mua hàng trực tuyến. Bạn cần chọn đáp án đúng cho các bước này. Các bước bao gồm: đăng nhập, xem sản phẩm, thêm sản phẩm vào giỏ hàng, thanh toán và đăng xuất. Đáp án đúng sẽ bao gồm các bước này trong một trình tự hợp lý.
Integration testing in the large là một phương pháp kiểm thử phần mềm liên quan đến việc kiểm thử hệ thống khi kết hợp với các hệ thống khác. Điều này bao gồm việc kiểm thử các hệ thống độc lập để đảm bảo chúng hoạt động đúng khi được kết hợp với nhau. Phương pháp này thường được sử dụng để kiểm thử các hệ thống phức tạp, bao gồm cả các hệ thống có nhiều thành phần và các hệ thống được kết hợp với các hệ thống khác. Mục tiêu của phương pháp này là đảm bảo rằng các hệ thống được kết hợp hoạt động đúng và không có lỗi khi được sử dụng trong môi trường thực tế. Phương pháp này thường được sử dụng trong các dự án phần mềm lớn và phức tạp, nơi mà việc kiểm thử từng thành phần riêng lẻ không đủ để đảm bảo chất lượng của hệ thống.
Chất lượng phần mềm không liên quan đến việc trả lời câu hỏi này vì phần mềm chất lượng cao không nhất thiết phải có tính đúng đắn. Tuy nhiên, tính đúng đắn là một yếu tố quan trọng trong việc đảm bảo phần mềm hoạt động đúng như mong đợi. Tính khả dụng và tính tái sử dụng cũng là những yếu tố quan trọng trong việc đánh giá chất lượng phần mềm. Tính khả dụng liên quan đến khả năng sử dụng phần mềm một cách dễ dàng và hiệu quả, trong khi tính tái sử dụng liên quan đến khả năng sử dụng lại phần mềm trong các dự án khác. Tính khả dụng và tính tái sử dụng là những yếu tố quan trọng trong việc đảm bảo phần mềm có thể được sử dụng rộng rãi và hiệu quả.
Việc triển khai thủ tục quản lý cấu hình nên được thực hiện khi đánh giá các tiêu chí kết thúc. Điều này cho phép đảm bảo rằng các thay đổi được thực hiện trong quá trình thử nghiệm không ảnh hưởng đến kết quả cuối cùng. Khi triển khai thủ tục quản lý cấu hình trong giai đoạn đánh giá các tiêu chí kết thúc, bạn có thể xác định và kiểm soát các thay đổi được thực hiện, từ đó đảm bảo rằng hệ thống hoặc sản phẩm thử nghiệm đáp ứng các yêu cầu và tiêu chuẩn đã được xác định.
Fault Masking là một kỹ thuật trong kiểm thử phần mềm, liên quan đến việc che giấu hoặc ẩn đi lỗi trong hệ thống. Trong câu hỏi này, chúng ta đang được hỏi về định nghĩa của Fault Masking. Câu trả lời đúng là "Error condition hiding another error condition", có nghĩa là việc che giấu một lỗi khác. Điều này có thể xảy ra khi một lỗi được ẩn đi bởi một lỗi khác, khiến cho lỗi ban đầu không được phát hiện. Ví dụ, một lỗi về dữ liệu có thể được che giấu bởi một lỗi về giao diện người dùng. Fault Masking có thể xảy ra do nhiều nguyên nhân, bao gồm cả lỗi của nhà phát triển và lỗi của người kiểm thử. Tuy nhiên, mục tiêu của Fault Masking là để đảm bảo rằng hệ thống hoạt động đúng và không bị lỗi.
Một Test Lead / Leader có nhiều nhiệm vụ quan trọng trong quá trình kiểm thử phần mềm. Dưới đây là một số nhiệm vụ chính của họ: - Lập kế hoạch và quản lý dự án kiểm thử (i): Test Lead / Leader chịu trách nhiệm lập kế hoạch và quản lý dự án kiểm thử, bao gồm việc xác định mục tiêu, phạm vi và thời gian của dự án. - Xây dựng và quản lý đội ngũ kiểm thử (ii): Họ phải xây dựng và quản lý đội ngũ kiểm thử, bao gồm việc tuyển dụng, đào tạo và quản lý nhân viên. - Xác định và quản lý các yêu cầu kiểm thử (iii): Test Lead / Leader phải xác định và quản lý các yêu cầu kiểm thử, bao gồm việc xác định các trường hợp kiểm thử và các tiêu chí đánh giá. - Đánh giá và báo cáo kết quả kiểm thử (iv): Cuối cùng, họ phải đánh giá và báo cáo kết quả kiểm thử, bao gồm việc xác định các vấn đề và đề xuất các giải pháp. Vì vậy, câu trả lời đúng là "ili và iv là đúng và i và ii là sai".
Trong tiêu chuẩn Test Documentation Standard, tài liệu Test Plan bao gồm các nội dung chính như danh sách các mục cần kiểm tra (test items), môi trường kiểm tra, kế hoạch chất lượng và lịch trình. Tuy nhiên, nội dung không được bao gồm trong tài liệu Test Plan là danh sách các mục không được kiểm tra (what is not to be tested). Điều này là vì mục đích của tài liệu Test Plan là xác định các yêu cầu và điều kiện cần thiết cho quá trình kiểm tra, chứ không phải là xác định các hạn chế hoặc ngoại lệ. Vì vậy, danh sách các mục không được kiểm tra thường được bao gồm trong tài liệu khác, chẳng hạn như tài liệu yêu cầu hoặc tài liệu quy trình.
FPA (Function Point Analysis) là một phương pháp đo lường được sử dụng để ước tính kích thước của một hệ thống thông tin. Nó giúp đánh giá các yêu cầu chức năng của dự án và đo lường mức độ phức tạp của hệ thống. FPA tập trung vào việc đo lường các yêu cầu chức năng, bao gồm các yêu cầu nhập, yêu cầu xuất và các yêu cầu xử lý. Mục đích của FPA là cung cấp một cách đo lường khách quan và đáng tin cậy về kích thước của hệ thống, giúp các nhà phát triển dự án có thể lập kế hoạch và quản lý dự án một cách hiệu quả hơn.
Một trong những lý do chính khiến các nhà phát triển gặp khó khăn khi kiểm tra công việc của mình là họ thiếu thông tin kỹ thuật. Thông tin kỹ thuật là tài liệu mô tả chi tiết về sản phẩm, bao gồm hướng dẫn sử dụng, tài liệu tham khảo và các thông tin liên quan khác. Khi thiếu thông tin kỹ thuật, các nhà phát triển khó có thể hiểu rõ về sản phẩm và kiểm tra nó một cách hiệu quả. Điều này dẫn đến việc kiểm tra không đầy đủ, gây ra các lỗi và vấn đề trong sản phẩm. Vì vậy, thông tin kỹ thuật là một phần quan trọng trong quy trình kiểm tra và phát triển phần mềm.
Các phương pháp trả lời được sử dụng trong các bàn làm việc cá nhân để sản xuất các sản phẩm đầu ra đúng. Các phương pháp này giúp đảm bảo rằng các sản phẩm đầu ra được tạo ra một cách chính xác và hiệu quả. Ví dụ, các công cụ và kỹ thuật được sử dụng để thực hiện các tác vụ cụ thể, trong khi các thủ tục và tiêu chuẩn được sử dụng để đảm bảo rằng các tác vụ được thực hiện theo đúng quy trình. Các quá trình và kiểm tra được sử dụng để đảm bảo rằng các sản phẩm đầu ra đáp ứng các yêu cầu và tiêu chuẩn. Cuối cùng, các đánh giá và cập nhật được sử dụng để đánh giá và cải thiện các phương pháp trả lời.
Test Plan là một tài liệu quan trọng trong quá trình kiểm thử phần mềm, giúp định hướng và quản lý quá trình kiểm thử. Trong Test Plan, có một số yếu tố quan trọng cần được xem xét. Các tính năng cần kiểm thử (Features to be tested) và yêu cầu môi trường (Environmental needs) là hai yếu tố quan trọng cần được xác định rõ ràng. Kết quả mong đợi (Expected results) cũng là một phần quan trọng của Test Plan, giúp kiểm thử viên xác định xem phần mềm đã đáp ứng được yêu cầu hay chưa. Tuy nhiên, tiêu chí dừng kiểm thử (Suspension criteria) không phải là một phần của Test Plan. Thay vào đó, nó thường được xác định trong các tài liệu khác như Test Case hoặc Test Report.
Hoạt động nào trong quá trình thử nghiệm cơ bản tạo ra bộ thử nghiệm để thực hiện thử nghiệm một cách hiệu quả? Trong quá trình thử nghiệm cơ bản, có bốn hoạt động chính: Planning và Control, Analysis và Design, Implementation và Execution, Test Closure. Trong đó, Analysis và Design là hoạt động tạo ra bộ thử nghiệm để thực hiện thử nghiệm một cách hiệu quả. Hoạt động này bao gồm việc phân tích yêu cầu của sản phẩm, thiết kế bộ thử nghiệm và xác định các trường hợp thử nghiệm cần thực hiện.
Khi chọn và triển khai công cụ kiểm thử, có một số hoạt động quan trọng cần được thực hiện. Trước hết, cần phải xác định mục tiêu và yêu cầu của dự án, bao gồm cả các yêu cầu về tính hiệu suất, độ tin cậy và khả năng mở rộng của công cụ kiểm thử. Sau đó, cần phải đánh giá và so sánh các công cụ kiểm thử khác nhau để chọn ra công cụ phù hợp nhất với nhu cầu của dự án. Ngoài ra, cần phải xem xét các yếu tố như chi phí, tính dễ sử dụng và khả năng tích hợp với các hệ thống khác. Cuối cùng, cần phải lập kế hoạch và triển khai công cụ kiểm thử một cách hiệu quả, bao gồm cả việc đào tạo nhân viên và thiết lập quy trình kiểm thử.
User Acceptance Testing (UAT) 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 sản phẩm đáp ứng được yêu cầu và kỳ vọng của người dùng. Có một số đặc điểm của UAT, bao gồm việc sử dụng các công cụ thực thi thử nghiệm tự động, việc thử nghiệm được thực hiện bởi người dùng và việc thử nghiệm dựa trên các tiêu chí thử nghiệm được chấp nhận. Tuy nhiên, việc tích hợp hệ thống với tài liệu người dùng không phải là một đặc điểm của UAT. Thay vào đó, nó là một phần của quy trình phát triển phần mềm, giúp đảm bảo rằng hệ thống được triển khai và sử dụng một cách hiệu quả. Vì vậy, trong các lựa chọn trên, "Tích hợp hệ thống với tài liệu người dùng" không phải là một đặc điểm của UAT.
Để tìm ra sự không phù hợp trong các lựa chọn, chúng ta cần hiểu rõ chức năng của từng loại công cụ. Công cụ chuẩn bị dữ liệu thử nghiệm (Test data preparation tools) thường được sử dụng để tạo hoặc chỉnh sửa dữ liệu thử nghiệm. Công cụ thiết kế thử nghiệm (Test design tools) giúp tạo ra các đầu vào thử nghiệm. Công cụ quản lý yêu cầu (Requirement management tools) hỗ trợ việc theo dõi các thử nghiệm riêng lẻ. Công cụ quản lý cấu hình (Configuration management tools) giúp kiểm tra sự nhất quán. Tuy nhiên, trong các lựa chọn, 'Manipulate Data bases' không phải là chức năng chính của công cụ chuẩn bị dữ liệu thử nghiệm. Thay vào đó, nó thường liên quan đến việc tạo hoặc chỉnh sửa cơ sở dữ liệu. Do đó, 'Manipulate Data bases' là sự không phù hợp trong các lựa chọn.
Các loại trả lời là i. Cơ sở hạ tầng ghi lại và tái tạo là ít có khả năng được sử dụng để Đáp án: - Performance testing (kiểm tra hiệu suất) - Recovery testing (kiểm tra phục hồi) - GUI testing (kiểm tra giao diện người dùng) - User requirements (yêu cầu người dùng) Câu trả lời đúng là Performance testing. Giải thích: Cơ sở hạ tầng ghi lại và tái tạo thường được sử dụng để tái tạo lại các tình huống thử nghiệm phức tạp, chẳng hạn như kiểm tra giao diện người dùng hoặc kiểm tra phục hồi. Tuy nhiên, chúng không phù hợp để kiểm tra hiệu suất, vì hiệu suất thường liên quan đến việc đo lường tốc độ và hiệu quả của hệ thống trong thời gian dài, và cơ sở hạ tầng ghi lại và tái tạo không thể tái tạo lại toàn bộ quá trình thời gian dài này.
Để phát hiện mã không thể đạt được (unreachable code), chúng ta nên sử dụng công cụ phân tích tĩnh (static analysis tool). Công cụ này có khả năng phân tích mã nguồn mà không cần thực hiện chạy thử nghiệm (runtime). Nó có thể phát hiện các đoạn mã không thể đạt được, cũng như các vấn đề khác như lặp vô hạn, lỗi null pointer, v.v. Ngoài ra, công cụ phân tích tĩnh cũng có thể giúp phát hiện các vấn đề về bảo mật, như việc sử dụng các hàm có thể bị khai thác để thực hiện tấn công, v.v. Vì vậy, sử dụng công cụ phân tích tĩnh là cách tốt nhất để phát hiện mã không thể đạt được.
Để xác định loại trả lời đúng, chúng ta cần hiểu rõ về các công cụ được đề cập. Công cụ phân tích động (Dynamic analysis tool) là một công cụ được sử dụng để theo dõi và phân tích hành vi của chương trình trong thời gian chạy. Nó có thể giúp phát hiện các vấn đề như memory leaks và unassigned pointers. Công cụ phân tích tĩnh (Static Analysis tool) được sử dụng để phân tích mã nguồn của chương trình mà không cần chạy nó. Nó có thể giúp phát hiện các vấn đề như syntax và logic, nhưng không thể phát hiện các vấn đề về memory leaks và unassigned pointers. Công cụ bảo trì (Maintenance tool) và công cụ cấu hình (Configuration tool) không liên quan đến việc phát hiện memory leaks và unassigned pointers. Vì vậy, công cụ phân tích động (Dynamic analysis tool) là công cụ phù hợp để test flag memory leaks và unassigned pointers.
Các công cụ phân tích tĩnh có thể phát hiện các loại lỗi sau: i. Biến không bao giờ được sử dụng. ii. Các lỗ hổng bảo mật. iii. Vi phạm tiêu chuẩn lập trình. iv. Các hàm và thủ tục chưa được gọi. Trong các lựa chọn trên, câu trả lời đúng là: '1, ii, iii, iv là đúng'. Các công cụ phân tích tĩnh có thể phát hiện các lỗi này bằng cách phân tích mã nguồn mà không cần thực thi nó. Điều này giúp phát hiện các lỗi tiềm ẩn và cải thiện chất lượng mã nguồn. Các lỗi không được sử dụng, lỗ hổng bảo mật và vi phạm tiêu chuẩn lập trình đều có thể được phát hiện bằng cách phân tích mã nguồn. Đồng thời, các công cụ phân tích tĩnh cũng có thể phát hiện các hàm và thủ tục chưa được gọi, giúp phát hiện các lỗi tiềm ẩn khác.
Khi mua một công cụ kiểm thử mới, nó nên được sử dụng đầu tiên bởi một nhóm nhỏ để thiết lập cách sử dụng tốt nhất công cụ đó. Điều này giúp nhóm nhỏ này có thể tìm hiểu và khám phá các tính năng của công cụ, từ đó họ có thể thiết lập các quy trình và thủ tục sử dụng công cụ một cách hiệu quả. Sau đó, họ có thể hướng dẫn và đào tạo các thành viên khác trong nhóm về cách sử dụng công cụ. Việc này giúp tiết kiệm thời gian và công sức cho cả nhóm, đồng thời đảm bảo rằng công cụ được sử dụng một cách hiệu quả và đúng mục đích.
Trong các loại công cụ so sánh trong kiểm thử phần mềm, công cụ so sánh thường được liên kết với các chức năng giám sát hiệu suất và giám sát. Công cụ này giúp kiểm tra hiệu suất của phần mềm và đảm bảo rằng nó hoạt động đúng như mong đợi. Nó cũng giúp phát hiện ra các vấn đề hiệu suất và cung cấp thông tin để cải thiện hiệu suất của phần mềm. Công cụ so sánh thường được sử dụng trong giai đoạn kiểm thử hiệu suất và giám sát để đảm bảo rằng phần mềm hoạt động ổn định và hiệu quả.
Thực tế, việc quản lý và cung cấp một thư viện được kiểm soát chứa tất cả các mặt hàng cấu hình được gọi là "Configuration Control". Điều này bao gồm việc quản lý và theo dõi các thay đổi đối với các mặt hàng cấu hình, đảm bảo rằng tất cả các phiên bản mới được kiểm tra và phê duyệt trước khi được triển khai. Configuration Control giúp đảm bảo rằng các mặt hàng cấu hình được quản lý một cách hiệu quả và giảm thiểu rủi ro khi triển khai các thay đổi.
Khái niệm kiểm thử hoàn chỉnh được định nghĩa là quá trình kiểm thử mà trong đó bạn đã kiểm tra tất cả các câu lệnh, nhánh và sự kết hợp của các nhánh trong chương trình. Điều này có nghĩa là bạn đã kiểm tra tất cả các khả năng có thể xảy ra trong chương trình và đảm bảo rằng chương trình hoạt động đúng như mong đợi. Kiểm thử hoàn chỉnh không chỉ đơn giản là kiểm tra mọi thứ mà còn bao gồm cả việc kiểm tra các trường hợp ngoại lệ, các lỗi có thể xảy ra và các điều kiện đặc biệt. Mục tiêu của kiểm thử hoàn chỉnh là đảm bảo rằng chương trình ổn định, hiệu suất cao và đáp ứng được các yêu cầu của người dùng.
Khi nói về sự không thể hoàn toàn kiểm tra một chương trình, có một số hậu quả quan trọng mà chúng ta cần phải xem xét. Thứ nhất, chúng ta không thể chắc chắn rằng chương trình của mình là hoàn toàn không có lỗi. Điều này có nghĩa là, dù chúng ta đã kiểm tra và thử nghiệm chương trình một cách kỹ lưỡng, vẫn có thể tồn tại những lỗi mà chúng ta chưa phát hiện ra. Thứ hai, không có điểm dừng chắc chắn cho quá trình kiểm tra, điều này có thể khiến một số quản lý sử dụng nó như lý do để yêu cầu ít kiểm tra hơn. Cuối cùng, chúng ta không có cách dễ dàng để xác định những nhiệm vụ kiểm tra nào luôn cần thiết, vì mỗi nhiệm vụ đều tốn thời gian và có thể được sử dụng cho những nhiệm vụ quan trọng khác.
Phương pháp kiểm thử chức năng có thể được thực hiện ở tất cả các mức độ kiểm thử. Điều này bao gồm kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống và kiểm thử chấp nhận. Mục đích của kiểm thử chức năng là đảm bảo rằng sản phẩm hoặc hệ thống đáp ứng các yêu cầu chức năng và yêu cầu của người dùng. Kiểm thử chức năng có thể được thực hiện ở tất cả các mức độ kiểm thử vì nó giúp xác định và sửa lỗi chức năng sớm trong quá trình phát triển sản phẩm. Điều này giúp tiết kiệm thời gian và chi phí trong dài hạn.
Phương pháp phòng ngừa và phản ứng trong kiểm thử là hai cách tiếp cận khác nhau trong việc phát hiện lỗi trong phần mềm. Phương pháp phòng ngừa là việc thiết kế và thực hiện kiểm thử ngay từ đầu của quá trình phát triển phần mềm, nhằm phát hiện và sửa lỗi ngay khi còn nhỏ. Trong khi đó, phương pháp phản ứng là việc thiết kế và thực hiện kiểm thử sau khi phần mềm đã được sản xuất, thường là sau khi nhận được phản hồi từ người dùng hoặc trong quá trình kiểm tra lại phần mềm. Điều này cho thấy, phương pháp phòng ngừa là thiết kế kiểm thử sớm, trong khi phương pháp phản ứng là thiết kế kiểm thử sau khi phần mềm đã được sản xuất.
Hệ thống quản lý yêu cầu (Requirements Management Tools) là công cụ giúp lưu trữ các tuyên bố yêu cầu, kiểm tra tính nhất quán và cho phép sắp xếp ưu tiên các yêu cầu. Đồng thời, nó cho phép từng thử nghiệm riêng biệt có thể được theo dõi đến các yêu cầu, chức năng và tính năng. Hệ thống này giúp đảm bảo rằng các yêu cầu được quản lý một cách hiệu quả và chính xác, từ đó giúp giảm thiểu các sai sót trong quá trình phát triển phần mềm.
Mức độ rủi ro của một sự kiện bất lợi được xác định bởi hai yếu tố chính: khả năng xảy ra sự kiện (likelihood) và tác động của sự kiện (impact). Khả năng xảy ra sự kiện đề cập đến xác suất xảy ra sự kiện, trong khi tác động của sự kiện đề cập đến mức độ ảnh hưởng của sự kiện nếu nó xảy ra. Ví dụ, một sự kiện có khả năng xảy ra cao nhưng tác động thấp có thể không được coi là rủi ro cao. Ngược lại, một sự kiện có khả năng xảy ra thấp nhưng tác động cao có thể được coi là rủi ro cao. Do đó, mức độ rủi ro của một sự kiện được xác định bởi sự kết hợp của hai yếu tố này.
Bộ đề liên quan
Tổng hợp đề thi FE môn SWT301 - FPTUSWT301
Software Testing - SWT301
SWT301_SU25_FE - Có đáp án và giải thích chi tiết, ôn tập ngay!
SWT301
Software Testing - SWT301
SWT301_SU24_FE - Có đáp án và giải thích chi tiết, ôn tập ngay!
SWT301
Software Testing - SWT301