Câu 1: Thế nào là phần mềm ? Khái niệm về phần mềm ?
(Trang 4) - Phần mềm: Phần mềm bao gồm những thành phần sau đây: + Chương trình máy tính + Các thủ tục (các quy định) + Tài liệu liên quan (tài liệu sử dụng, tài liệu phát triển, tài liệu bảo trì) + Dữ liệu cần thiết cho sự vận hành của hệ thống Câu 2: Khái niệm kiểm thử phần mềm ? Công nghệ phần mềm có 4 mục đích là gì ? (Trang 4) - Kiểm thử phần mềm là một quá trình thực thi một chương trình hoặc ứng dụng với mục đích tìm ra lỗi phần mềm (Glen Myers). - Công nghệ phần mềm gồm 4 mục đích: + Tạo ra phầm mềm không có lỗi + Chi phí hợp lý + Thời gian đảm bảo + Hài lòng của khách hàng Câu 3: Khái niệm của Verifycation và Validation ? (Trang 5 + 6) - Verifycation: Đặc tả, là quá trình kiểm tra xem có bao nhiêu đặc tả, phần mềm đã đáp ứng chưa. - Validation: Đặc tả chi tiết, là quá trình thực hiện các đặc tả chi tiết làm được đến đâu để đáp ứng yêu cầu người sử dụng. Câu 4: Nêu lên một vài tiêu trí chất lượng trong kiểm định ? - Thỏa mãn yêu cầu người dùng thiết kế - Đáp ứng nhu cầu người dùng - Vận hành được theo mong muốn người dùng và các bên liên quan - Xây dựng lòng tin của chất lượng đối tượng kiểm thử - Phát hiện các lỗi sai và cung cấp thông tin phù hợp cho các bên liên quan - Giảm thiểu mức độ rủi do - Tuân thủ các yêu cầu và tiêu chuẩn cộng đồng Câu 5: Kể tên các loại lỗi phần mềm ? (Trang 8) - Error: Lỗi của phần code. Do người lập trình. - Fault: Lỗi gây ra không hoạt động ở các phần mềm ứng dụng cụ thể. - Failureas: Khi phần mềm được ứng dụng vào ứng dụng cụ thể thì sinh ra lỗi. Lỗi đó người sử dụng không biết sửa chữa nhưng vẫn cố gắng thao tác khiến sinh ra lỗi. - Bug: Khiếm khuyết phần mềm là lỗi nói chung. Câu 6: Nguyên nhân gây ra lỗi ? 7 nguyên tắc kiểm thử là gì ? (Trang 9 + 12,13) - 9 nguyên nhân: + Định nghĩa yêu cầu lỗi + Lỗi giao tiếp giữa khách hàng và người phát triển + Sự thiếu rõ ràng của các yêu cầu phần mềm + Lỗi thiết kế logic + Lỗi coding + Không phù hợp với tài liệu và chỉ thị coding + Thiếu sót trong quá trình kiểm thử + Lỗi thủ tục + Lỗi tài liệu - 7 nguyên tắc kiểm thử: + Kiểm thử chứng minh sự hiện diện của lỗi (Testing shows the presence of defects) + Kiểm thử toàn bộ là không khả thi (Exhausstive testing is impossible) + Kiểm thử càng sớm càng tốt (Early testing) + Lỗi thường phân bổ tập trung (Defects clustering) (theo nguyên lý Pareti 80 -20, 20% người làm được tổng doanh thu bằng 80% số người còn lại. 20% modul phần mềm sinh ra 80% lỗi nên phải tập trung kiểm thử 20% modul quan trọng đấy) + Nghịch lý thuốc trừ sâu (Pesticide paradox) (Nông dân sử dụng 1 loại thuốc trừ sâu thì sâu bệnh sẽ nhờn với loại thuốc đó. Trong kiểm thử phần mềm nếu sử dụng testcase thì tỉ lệ tìm ra lỗi sẽ càng thấp phải sử dụng 1 testcase khác) + Kiểm thử phụ thuộc vào ngữ cảnh (Testing is conext) (Kiểm thử trang web thương mại sẽ khác với trang web đọc tin tức, phải linh hoạt) + Quan niệm sai lầm về việc hết lỗi (Absence of errors fallacy) (Một phần mềm sạch bug 99% vẫn có thể không sử dụng được, phần mềm được kiểm thử bằng 1 yêu cầu sai) Câu 7: 5 quy trình kiểm thử cơ bản ? (Trang 14) + Lập kế hoạch và kiểm soát (Planning and control) + Phân tích thiết kế (Analysis and Design) + Triển khai và thực thi (Implementation and Execution) + Đánh giá các tiêu chí chấm dứt và báo cáo (Evaluating exit criteria and reporting) + Hoạt động đóng kiểm thử (Test closue activities) Câu 8: Thế nào là một test case ? Các yếu tố trong ca kiểm thử ? Ca kiểm thử cần viết gì ? - Là trường hợp kiểm thử, ca kiểm thử, tình huống kiểm thử. - Các yếu tố trong ca kiểm thử + Yếu tố đầu vào (dữ liệu đầu vào), các hành vi, các thao tác và đầu ra có phù hợp hay không. (Kiểm thử phải mang cái gì để kiểm thử, kiểm thử thế nào là thao tác để ra sản phẩm gì ) - Cần viết: + Mã, tên test case, mục đích, điều kiện kiên quyết, test data và nhận kết quả mong chờ Câu 9: