Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Kiểm thử phần mềm
1.Kiểm thửtrong khi xây dựng
2.Phát triển theo hướng kiểm thử
3.Kiểm thửbản release
4.Kiểm thửngười dùng
Tóm tắt nội dung Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Kiểm thử phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
kiểm thử hệ thống. v Ví dụ về các chính sách kiểm thử: § Tất cả các hàm của hệ thống được truy cập thông qua menu nên được kiểm thử. § Việc kết hợp các hàm được truy cập qua cùng menu phải được kiểm thử. § Khi đầu vào được cung cấp, tất cả các hàm phải được kiểm tra với cả hai trường hợp giá trị đầu vào đúng và sai. 40 Nguyễn Thị Minh Tuyền Nhập môn CNPM Nội dung 1. Kiểm thử trong khi xây dựng 2. Phát triển theo hướng kiểm thử 3. Kiểm thử bản release 4. Kiểm thử người dùng 41 Nguyễn Thị Minh Tuyền Nhập môn CNPM Phát triển theo hướng kiểm thử (Test-driven development – TDD) v Là một phương pháp phát triển chương trình trong đó việc phát triển mã nguồn và kiểm thử đan xen nhau. v Các test được viết trước khi lập trình và phải “pass” các test là yếu tố quan trọng của việc phát triển. v Phát triển mã nguồn theo kiểu tăng dần, song song với việc kiểm thử cho từng phần đó. Ta không thể chuyển sang cài đặt phần tiếp theo cho đến khi mã nguồn đang phát triển “pass” tất cả các test của nó. v TDD được xem là một phần của các phương pháp linh hoạt như Extreme Programming. Tuy nhiên, nó cũng có thể được dùng trong các quy trình phát triển hoạch định sẵn. 42 Nguyễn Thị Minh Tuyền Nhập môn CNPM Phát triển theo hướng kiểm thử Identify new functionality Write test Run test Implement functionality and refactor fail pass 43 Nguyễn Thị Minh Tuyền Nhập môn CNPM Lợi ích của TDD v Bao phủ mã nguồn § Mỗi phần mã nguồn ta viết ra đều ít nhất liên quan đến một test case. Vì vậy tất cả các mã nguồn được viết ra có ít nhất một test case. v Kiểm thử hồi quy (Regression testing) § Một bộ kiểm hồi quy được phát triển dần dần như một chương trình được phát triển. v Đơn giản hóa việc sửa lỗi § Khi một test thất bại, ta thấy được rõ ràng vấn đề nằm ở đâu. Mã nguồn mới được viết ra cần được kiểm tra và bổ sung. v Tài liệu hệ thống § Bản thân các test là một dạng tài liệu mà nó mô tả mã nguồn làm gì. 44 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiểm thử hồi quy v Là việc kiểm thử hệ thống để kiểm tra rằng sự thay đổi không phá vỡ việc cài đặt mã nguồn trước đó. v Trong quy trình kiểm thử bằng tay, kiểm thử hồi quy rất tốn kém. Tuy nhiên, với kiểm thử tự động, kiểm thử hồi quy lại đơn giản và trực tiếp. Tất cả các test đều được thực thi lại mỗi khi có sự thay đổi trong chương trình. v Các test phải được thực thi thành công trước khi chấp nhận một thay đổi. 45 Nguyễn Thị Minh Tuyền Nhập môn CNPM Nội dung 1. Kiểm thử trong khi xây dựng 2. Phát triển theo hướng kiểm thử 3. Kiểm thử bản release 4. Kiểm thử người dùng 46 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiểm thử bản release v Là quy trình kiểm thử một bản release của hệ thống, bản này sẽ sử dụng bên ngoài đội ngũ phát triển hệ thống. v Mục tiêu chính là để thuyết phục khách hàng rằng hệ thống đủ tốt để đưa vào sử dụng. § Phải chỉ ra được rằng hệ thống hỗ trợ các tính năng đã đặc tả, đảm bảo hiệu năng và độ tin cậy, và không có lỗi khi sử dụng. v Là quy trình kiểm thử hộp đen trong đó các test chỉ bắt nguồn từ đặc tả hệ thống. 47 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiểm thử bản release và kiểm thử hệ thống v Kiểm thử bản release là một hình thức của kiểm thử hệ thống. v Điểm khác nhau quan trọng: § Một nhóm tách biệt không tham gia vào việc phát triển sẽ chịu trách nhiệm về kiểm thử bản release. § Kiểm thử hệ thống bởi nhóm phát triển nên tập trung vào việc tìm lỗi trong hệ thống (defect testing). § Mục tiêu của kiểm thử bản release là để chứng tỏ rằng hệ thống đáp ứng yêu cầu và đủ tốt để đưa ra sử dụng bên ngoài (validation testing). 48 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiểm thử dựa vào yêu cầu v Gồm việc kiểm tra mỗi yêu cầu và phát triển test cho yêu cầu đó. v Ví dụ: các yêu cầu của hệ thống MHC- PMS: § Nếu một bệnh nhân được biết là dị ứng với một loại thuốc nào đó, khi kê đơn loại thuốc đó hệ thống sẽ phải đưa ra cảnh báo đến người dùng hệ thống. § Nếu người kê đơn chọn thuốc mà bỏ qua cảnh báo về dị ứng, họ sẽ phải đưa ra lý do tại sao lại bỏ qua cảnh báo. 49 Nguyễn Thị Minh Tuyền Nhập môn CNPM Các test dựa vào yêu cầu v Thiết lập một hồ sơ bệnh nhân với thông tin không bị dự ứng loại thuốc nào. Kê đơn thuốc liên quan đến các dị ứng. Kiểm tra rằng thông điệp cảnh báo không xuất hiện. v Thiết lập một hồ sơ bệnh nhân với thông tin bị dị ứng với một loại thuốc. Kê đơn thuốc có loại thuốc mà bệnh nhân bị dị ứng, và kiểm tra rằng cảnh báo được đưa ra bởi hệ thống. v Thiết lập một hồ sơ bệnh nhân trong đó có thông tin dị ứng với hai hoặc nhiều hơn hai loại thuốc. Kê đơn cả hai loại này tách biệt nhau và kiểm tra rằng cảnh báo đúng cho từng loại thuốc được đưa ra. v Kê đơn hai loại thuốc mà bệnh nhân bị dị ứng. Kiểm ra rằng hai cảnh báo đúng được đưa ra. v Kê đơn một loại thuốc mà cảnh báo xuất hiện và bỏ qua cảnh báo đó. Kiểm tra rằng hệ thống yêu cầu người dùng cung cấp lý do tại sao bỏ qua cảnh báo. 50 Nguyễn Thị Minh Tuyền Nhập môn CNPM Một kịch bản cho hệ thống MHC- PMS Kate is a nurse who specializes in mental health care. One of her responsibilities is to visit patients at home to check that their treatment is effective and that they are not suffering from medication side -effects. On a day for home visits, Kate logs into the MHC-PMS and uses it to print her schedule of home visits for that day, along with summary information about the patients to be visited. She requests that the records for these patients be downloaded to her laptop. She is prompted for her key phrase to encrypt the records on the laptop. One of the patients that she visits is Jim, who is being treated with medication for depression. Jim feels that the medication is helping him but believes that it has the side -effect of keeping him awake at night. Kate looks up Jim’s record and is prompted for her key phrase to decrypt the record. She checks the drug prescribed and queries its side effects. Sleeplessness is a known side effect so she notes the problem in Jim’s record and suggests that he visits the clinic to have his medication changed. He agrees so Kate enters a prompt to call him when she gets back to the clinic to make an appointment with a physician. She ends the consultation and the system re-encrypts Jim’s record. After, finishing her consultations, Kate returns to the clinic and uploads the records of patients visited to the database. The system generates a call list for Kate of those patients who she has to contact for follow-up information and make clinic appointments. 51 Nguyễn Thị Minh Tuyền Nhập môn CNPM Chức năng được kiểm định dựa vào kịch bản v Phân quyền bằng cách đăng nhập vào hệ thống. v Tải và upload hồ sơ bệnh nhân từ máy tính. v Lập lịch thăm bệnh nhân tại nhà. v Mã hóa và giải mã hồ sơ bệnh nhân trên thiết bị di động. v Tìm kiếm và bổ sung hồ sơ. v Liên kết tới CSDL thuốc có chứa thông tin về hiệu ứng phụ. v Hệ thống hỗ trợ việc nhắc nhở lịch hẹn. 52 Nguyễn Thị Minh Tuyền Nhập môn CNPM Performance testing v Là một phần của kiểm thử bản release, có thể bao gồm việc kiểm thử các thuộc tính của hệ thống chẳng hạn như hiệu năng hay độ tin cậy. v Các test nên phản ánh tính sử dụng của hệ thống. v Gồm việc lên kế hoạch cho một chuỗi các test mà tại đó tải tăng ổn định cho đến khi hiệu năng của hệ thống trở nên không chấp nhận được. v Stress testing là một hình thức của performance testing ở đó hệ thống cố tình bị quá tải để kiểm tra hành vi lỗi của nó. 53 Nguyễn Thị Minh Tuyền Nhập môn CNPM Nội dung 1. Kiểm thử trong khi xây dựng 2. Phát triển theo hướng kiểm thử 3. Kiểm thử bản release 4. Kiểm thử người dùng 54 Nguyễn Thị Minh Tuyền Nhập môn CNPM Kiểm thử người dùng(user testing) v Là một giai đoạn trong quy trình kiểm thử trong đó người dùng cung cấp đầu vào và đưa ra lời khuyên cho việc kiểm thử hệ thống. v Kiểm thử người dùng là cần thiết, thậm chí khi một hệ thống đã rõ ràng và kiểm thử bản release đã được tiến hành. § Lý do cho điều này là ảnh hưởng từ môi trường làm việc của người sử dụng có một ảnh hưởng quan trọng lên độ tin cậy, hiệu năng, tính sử dụng và khả năng chịu lỗi của một hệ thống. Những điều này không thể mô phỏng trong môi trường kiểm thử. 55 Nguyễn Thị Minh Tuyền Nhập môn CNPM Các loại kiểm thử người dùng v Alpha testing § Người dùng phần mềm làm việc với nhóm phát triển để kiểm thử phần mềm tại nơi phát triển phần mềm. v Beta testing § Một bản release có sẵn cho phép người dùng sử dụng chúng lấy kinh nghiệm và tìm ra lỗi với người phát triển hệ thống. v Acceptance testing § Khách hàng kiểm thử hệ thống để quyết định xem hệ thống này có được chấp nhận để triển khai đến môi trường làm việc của khách hàng hay không. 56 Nguyễn Thị Minh Tuyền Nhập môn CNPM Quy trình acceptance testing Define acceptance criteria Test criteria Plan acceptance testing Derive acceptance tests Run acceptance tests Negotiate test results Accept or reject system Test plan Tests Test results Testing report 57 Nguyễn Thị Minh Tuyền Nhập môn CNPM Phương pháp linh hoạt và acceptance testing v Trong phương pháp linh hoạt, người dùng/khách hàng là một phần của nhóm phát triển và chịu trách nhiệm đưa ra các quyết định về việc chấp nhận hệ thống. v Các test được định nghĩa bởi người dùng/khách hàng và được tích hợp vào các test khác trong đó chúng được kiểm tra tự động khi có thay đổi xảy ra. v Không có một quy trình acceptance testing tách biệt. v Vấn đề chính ở đây là liệu người dùng tham gia trực tiếp là người đại diện cho tất cả các mối quan tâm của toàn bộ stakeholder hệ thống hay không. 58
File đính kèm:
- Nhập môn công nghệ phần mềm - Nguyễn Thị Minh Tuyền - Kiểm thử phần mềm.pdf