Bài giảng Nhập môn công nghệ phần mềm - Chương 16: Giai đoạn kiểm tra (Testing) - Trần Ngọc Bảo

pdf 44 trang cucquyet12 6031
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 16: Giai đoạn kiểm tra (Testing) - Trần Ngọc Bảo", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_16_giai_doan_ki.pdf

Nội dung text: Bài giảng Nhập môn công nghệ phần mềm - Chương 16: Giai đoạn kiểm tra (Testing) - Trần Ngọc Bảo

  1. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học NHẬP MÔN CÔNG NGH Ệ PHẦNMN MỀM Giai đoạn kiểm tra (Testing) Người trình bày: Trần Ngọc Bảo Email: tnbao.dhsp@gmail.com
  2. Giai đoạn kiểm tra • Kiểm lỗi Khảo sát • Kiểm lỗi phân hệ Phân tích • Kiểm lỗi hệ thống Thiếtkt kế Nội dung • Roadmap Cài đặt • Test plan Kết quả Kiểm tra • Test case • Bug Triển khai • Test Report Bảo trì Tran Ngoc TRBaoẦ N NG Ọ C B Ả O ” KHOA TOÁN -TIN- TIN2 H Ọ C ” ĐẠ I H Ọ DaiDaC iS hocƯ PH Su ẠPhamM TP.HCM TP.HCM
  3. MỤC TIÊU MM ỀỀ • Biết được quiiìhki trình kiểm tra phần N MN M ẦẦ HHHH mềm P P ỆỆ NGH NGH • Biết được một số loại test cơ bản HASEHASE G GGG • Biết được một khái niệm liên quan ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ đến testing TESTES G NHG NH NNNN ẢẢ • Biết được công việc, công cụ thường BÀI GIBÀI GI dùng của Tester . TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN3 HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  4. NỘI DUNG TRÌNH BÀY MM • QitìhkiQui trình kiểm tthra phần mềm ỀỀ N MN M ẦẦ • Giới thiệu một số khái niệm sử dụnggg trong HHHH P P ỆỆ Testing: Test plan, Test case, NGH NGH HASEHASE G GGG • Kiểm tra đơn vị, phân hệ, hệ thống ING PING P ÔN CÔNÔN CÔN TTTT MMM M • Giớithii thiệumu mộtst số loạitestci test cơ bản P P ẬẬ TESTES G NHG NH • Thiết kế Test case NNNN ẢẢ • Vai trò, công cụ thường dùng của Tester BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN4 HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  5. Qui trình kiểm tra phần mềm BBiegin MM ỀỀ N MN M ẦẦ HHHH Lập kế Thết kế Test P P ỆỆ hoạch Test case Chuẩn bị dữ NGH NGH HASEHASE G GGG liệuutest test Test plan Chạy ứng dụng ING PING P ÔN CÔNÔN CÔN TTTT vớibi bộdữ liệu MMM M test P P Test Case ẬẬ TESTES Test Data G NHG NH NNNN ẢẢ So ssánhánh kết quả Test Results BÀI GIBÀI GI Test report test với test case End TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN5 HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  6. Giai đoạn kiểm tra MM ỀỀ N MN M ẦẦ HHHH P P ỆỆ NGH NGH HASEHASE G GGG ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN6 HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  7. Một số khái niệm cơ bản • Testplan MM ỀỀ N MN M • Test case ẦẦ HHHH P P ỆỆ • Bug NGH NGH HASEHASE G GGG • Test report • Test Manager ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P • Test Designer ẬẬ TESTES G NHG NH NNNN • Tester ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN7 HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  8. Test plan • Cấu trúc chung củama mộttestplant test plan MM ỀỀ N MN M – Tên project ẦẦ HHHH P P – Danh sách các Module cần test ỆỆ – Ngày bắt đầu, ngày kết thúc NGH NGH HASEHASE G GGG – Danh sách các Test case ING PING P – Nhân sự tham gia ÔN CÔNÔN CÔN TTTT MMM M P P – Tài nguyên sử dụng (Servers, Workstations, Printers, ) ẬẬ TESTES G NHG NH – Kế hoạch thực hiện (sử dụng Ms Project lập kế hoạch) NNNN ẢẢ – BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN8 HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  9. Giai đoạn kiểm tra MM • RdRoadmap ỀỀ N MN M ẦẦ • Test plan HHHH P P ỆỆ • Test case NGH NGH HASEHASE G GGG • Bug ING PING P ÔN CÔNÔN CÔN TTTT • Test Report MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN9 HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  10. Test case • Cấu trúc chung củama mộttestcaset test case MM ỀỀ N MN M – Tên project, module ẦẦ HHHH P P – Màn hình, chức năng ỆỆ – Mã số NGH NGH HASEHASE G GGG – Tài liệu tham khảo (SRS) ING PING P – Mục đích ÔN CÔNÔN CÔN TTTT MMM M P P – Dữ liệu test ẬẬ TESTES G NHG NH – Mô tả các bước (Test step) NNNN ẢẢ – Trạng thái BÀI GIBÀI GI – Nggyày tạo – TRẦN NGỌC BẢO ” KHOA TOÁN 10-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  11. Test case • Ví d ụ:ki: kiểm tra màn hình đăng nhập MM ỀỀ N MN M ẦẦ HHHH P P ỆỆ NGH NGH HASEHASE G GGG ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  12. Test case • Ví d ụ:ki: kiểm tra màn hình đăng nhập MM ỀỀ N MN M – Project: Web testing application ẦẦ HHHH P P – Module: Testing ỆỆ – Màn hình: Đăng nhập hệ thống NGH NGH HASEHASE G GGG – Chức năng: đăng nhập ING PING P – Mã số: TC001 ÔN CÔNÔN CÔN TTTT MMM M P P – Dữ liệu test ẬẬ TESTES • Username = “thanh”, pass = “thanh” G NHG NH NNNN ẢẢ • Username = “admin”, pass = “admin” BÀI GIBÀI GI – Các bước thực hiện kiểm tra TRẦN NGỌC BẢO ” KHOA TOÁN 12-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  13. Test case – Test step Step Steps Data Expected Results Actual No Results 1 Nhập User Name và nhấp nút Username = “thanh” Hiểnthị thông báo “Vui lòng OK nhập username và password” 2 Nhập Password và nhấp nút Password = “thanh” Hiểnthị thông báo “Vui lòng OK nhập username và password” 3 Nhập User Name, Password Username = “thanh” Hiểnthị thông báo “Vui lòng và nhấp nút OK và Password = “abc” nhậppp username và password” 4 Nhập User Name, Password Username = “abc” Hiểnthị thông báo “Vui lòng và nhấp nút OK và Password = “thanh” nhập username và password” 5 Nhập User Name, Password Username = “abc” Hiểnthị thông báo “Vui lòng và nh ấp nút OK và Password = “abc” nhập username và password” 6 Nhập User Name, Password Username = “” Hiểnthị thông báo “Vui lòng và nhấp nút OK và Password = “” nhập username và password” 7 Nhập User Name, Password Username = “thanh” Hiểnthị trang chính của user và nh ấp nút OK và Password = “thanh” Thanh 8 Nhập User Name, Password Username = “admin” Hiểnthị trang chính của Admin và nhấp nút OK và Password = “admin” Tran Ngoc TRBaoẦ N NG Ọ C B Ả O ” KHOA TOÁN 13-TIN- TIN H Ọ C ” ĐẠ I H Ọ DaiDaC iS hocƯ PH Su ẠPhamM TP.HCM TP.HCM
  14. Giai đoạn kiểm tra MM • Roadmap ỀỀ N MN M ẦẦ • Test plan HHHH P P ỆỆ • Test case NGH NGH HASEHASE G GGG • Bug ING PING P ÔN CÔNÔN CÔN • Test Report TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN 14-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  15. Bug • Cấu trúc chung củaBuga Bug MM ỀỀ N MN M – Tên bug ẦẦ HHHH P P – Mã số, mức độ ỆỆ – Test case tương ứng (nếu có) NGH NGH HASEHASE G GGG – Màn hình, chức năng ING PING P – Dữ liệu ÔN CÔNÔN CÔN TTTT MMM M P P – Mô tả các bước thực hiện ẬẬ TESTES G NHG NH – Hình chụp màn hình/quay phim các thao tác. NNNN ẢẢ – Trạng thái BÀI GIBÀI GI – Nggyày tạo – TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  16. Giai đoạn kiểm tra MM • RdRoadmap ỀỀ N MN M ẦẦ • Test plan HHHH P P ỆỆ • Test case NGH NGH HASEHASE G GGG • Bug ING PING P ÔN CÔNÔN CÔN TTTT • Test Report MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN 16-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  17. Test report • Cấu trúc chung củaTestreporta Test report MM ỀỀ N MN M – Test plan ? ẦẦ HHHH P P – Tên người thực hiện ỆỆ – Ngày thực hiện NGH NGH HASEHASE G GGG – Môi trường test ING PING P – Bảng mô tả module/chức năng/test case và kết quả ÔN CÔNÔN CÔN TTTT MMM M P P tương ứng ẬẬ TESTES – Kết luận, đề xuất (nếu có) G NHG NH NNNN ẢẢ – . BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  18. Giai đoạn kiểm tra MM • RdRoadmap ỀỀ N MN M ẦẦ • Test plan HHHH P P ỆỆ • Test case NGH NGH HASEHASE G GGG • Bug ING PING P ÔN CÔNÔN CÔN TTTT • Test Report MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN 18-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  19. Chiến lược kiểm tra MM ỀỀ Begin N MN M ẦẦ HH HH P P ỆỆ Kiểm tra Kiểm tra NGH NGH HASEHASE đơn vị phân hệ G GGG Kiểm tra tích hợp ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ Kiểm tra TESTES Tester Developer hệ thống G NHG NH thực hiện NN NN ẢẢ thực hiện BÀI GIBÀI GI End TRẦN NGỌC BẢO ” KHOA TOÁN 19-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  20. Phân loại kiểm tra (Testing type) • White-box testing (Strategy) MM ỀỀ – Component or Unit Testing N MN M ẦẦ HHHH – Object class testing P P ỆỆ • Black-box testing (Strategy) NGH NGH HASEHASE G GGG – Functional testing – Interface testing ING PING P ÔN CÔNÔN CÔN TTTT – Ad-hoc testing MMM M P P ẬẬ – Performance testing TESTES G NHG NH NNNN – Stress testing ẢẢ – Alpha testing BÀI GIBÀI GI – Beta testing – Release testing, . TRẦN NGỌC BẢO ” KHOA TOÁN 20-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  21. White-Box testing MM ỀỀ Phần mềm ? N MN M ẦẦ HHHH P P ỆỆ NGH NGH HASEHASE G GGG ING PING P ÔN CÔNÔN CÔN Phần mềm TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ Tester BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  22. White-Box testing MM • Phần mềm là một hệ ỀỀ N MN M thống gồm 3 thành phần ẦẦ HHHH P P cơ bản: thàn h ph ần lưu ỆỆ trữ, thành phần giao tiếp, NGH NGH HASEHASE G GGG thành ph ầnxn xử lý cầnphn phải thực hiện theo yêu cầu ING PING P ÔN CÔNÔN CÔN TTTT MMM M củanga người dùng . P P ẬẬ • Thành phần giao tiếp: giao diện chương TESTES trình G NHG NH NNNN Tester • Thành phần lưu trữ: cho ppphép lưu trữ và ẢẢ truy xuất dữ liệu. • Thành phần xử lý: thực hiện các xử lý BÀI GIBÀI GI theo qui trình nghiệp vụ của người dùng TRẦN NGỌC BẢO ” KHOA TOÁN 22-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  23. White-box testing • Kiểmtratínhlogicvàcm tra tính logic và cấutrúccu trúc củamãngua mã nguồn MM ỀỀ N MN M (source code): bao gồm server code và client ẦẦ HHHH P P code ỆỆ NGH NGH • Tester cần phải có kiến thức về ngôn ngữ lập HASEHASE G GGG trình (C, C++, VB.NET, Java, ), môi trường phát ING PING P ÔN CÔNÔN CÔN TTTT MMM M triểnphn phầnmn mềm(IDE),cm (IDE), cũng như các hệ quảntrn trị P P ẬẬ TESTES cơ sở dữ liệu (SQL Server, Oracle, DB2, ), G NHG NH NNNN ẢẢ • Kiểm tra tất cả các trường hợp có thể xảy ra BÀI GIBÀI GI trong mã nguồn (cấu trúc điều khiển, cấu trúc lặp, ) TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  24. White-box testing • Ví d ụ:cho: cho đoạnmãC/C++nhn mã C/C++ như sau: MM ỀỀ int Test(int a, int b, int c) { N MN M ẦẦ if (a>b) { HHHH P P if (a>c) return a; ỆỆ else return c; } NGH NGH else { HASEHASE G GGG if (b>c) return b; else return c; ING PING P } ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ Để kiểm tra tính đúng đắn của đoạn code trên chúng ta cần ít nhất bao nhiêu trường hợp ? BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  25. White-box testing • Ví d ụ:cho: cho đoạnmãC/C++nhn mã C/C++ như sau: MM ỀỀ int Test(int a, int b, int c) { N MN M ẦẦ if (a>b) { HHHH P P if (a>c) return a; ỆỆ else return c; } else { NGH NGH HASEHASE G G GG if (b>c ) re turn b; else return c; } ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ a>c a>c a TESTES a>b a>b G NHG NH NNNN ẢẢ a≤c a≤c c BÀI GIBÀI GI b>c b>c b a≤b a≤b b≤c b≤c c TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  26. White-box testing • Ví d ụ:cho: cho đoạnmãC/C++nhn mã C/C++ như sau: MM ỀỀ int Test(int a, int b, int c) { N MN M ẦẦ if (a>b) { HHHH P P if (a>c) return a; ỆỆ else return c; } NGH NGH else { HASEHASE G GGG if (b>c) return b; else return c; ING PING P } ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ TESTES Để kiểm tra đoạn code trên chúng ta cần ít nhất 4 trường hợp G NHG NH NNNN ((),Test case), ví dụ: ẢẢ - a = 4, b = 2, c = 3 - a = 4, b = 2, c = 5 BÀI GIBÀI GI - a = 3, b = 4, c = 2 - a = 3, b = 4, c = 6 TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  27. Black-Box testing MM ỀỀ N MN M Phần mềm ? ẦẦ Phần mềm HHHH P P ỆỆ NGH NGH HASEHASE G GGG ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI Tester TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  28. Black-Box testing MM • Hệ thống phần mềm là ỀỀ N MN M một công cụ hỗ trợ để ẦẦ HHHH P P thực hiện các côiông việc ỆỆ chuyên môn của người NGH NGH HASEHASE G GGG sử dụng trên máy tính. • Phầm mềm quản lý giáo vụ trường ING PING P phổ thông hỗ trợ các nghiệp vụ: ÔN CÔNÔN CÔN TTTT MMM M quản lý h ồ sơ học sihkinh, kết quả học P P ẬẬ tập, tính điểm trung bình, TESTES • Phần mềm quản lý bán hàng hỗ trợ G NHG NH NNNN Tester ẢẢ cáhiác nghiệp vụ: lập chứng từ hóa đơn bán hàng, đơn đặt hàng, tính BÀI GIBÀI GI doanh thu, in báo cáo • . TRẦN NGỌC BẢO ” KHOA TOÁN 28-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  29. Black-box testing • Kiểmtrahm tra hệ thống dựatrênba trên bản đặcct tả yêu c ầuuvà và MM ỀỀ N MN M chức năng ẦẦ HHHH P P ỆỆ • Tester không cần phải có kiến thức về ngôn ngữ NGH NGH lập trình, môi trường phát triển phần mềm (IDE), HASEHASE G GGG cũng như các hệ quản trị cơ sở dữ liệu (SQL ING PING P ÔN CÔNÔN CÔN TTTT MMM M Server, Oracle, DB2, ), P P ẬẬ TESTES • Trong trường hợp này, tester thao tác các chức G NHG NH NNNN ẢẢ năng của hệ thống như là một người sử dụng hệ BÀI GIBÀI GI thống (end-user). TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  30. Black-box testing • Ví d ụ:Ki: Kiểm tra màn hình sau: MM ỀỀ N MN M ẦẦ HHHH P P ỆỆ NGH NGH HASEHASE G GGG ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ Để kiểm tra tính đúng đắn của màn hình trên chúng ta cần ít nhất bao nhiêu trường hợp ? BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  31. Black-box testing • Ví dụ:Ki: Kiểm tra màn hình sau: MM ỀỀ N MN M Min = b ẦẦ HHHH Max =a P P ỆỆ Min = c NGH NGH HASEHASE G GGG Min = a Max = b ING PING P ÔN CÔNÔN CÔN TTTT MMM M Min = c P P ẬẬ TESTES G NHG NH Min =b NNNN ẢẢ Max = c BÀI GIBÀI GI Min = a TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  32. Black-box testing • Ví dụ:Ki: Kiểm tra màn hình sau: MM ỀỀ N MN M ẦẦ HHHH P P Min = b a≥c≥b ỆỆ Max =a Min = c a≥b≥c NGH NGH HASEHASE G GGG Min = a b≥c≥a Max = b ING PING P ÔN CÔNÔN CÔN TTTT MMM M Min = c b≥a≥c P P ẬẬ TESTES Min =b c≥a≥b G NHG NH NNNN Max = c ẢẢ Min = a c≥b≥a BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  33. Black-box testing • Ví d ụ:Ki: Kiểm tra màn hình sau: MM Max =a ỀỀ a≥b≥c N MN M Min = c ẦẦ HHHH P P Max =a ỆỆ a≥c≥b Min = b NGH NGH HASEHASE G GGG MbMax =b b≥a≥c Min = c ING PING P ÔN CÔNÔN CÔN TTTT MMM M Max =b P P b≥c≥a ẬẬ Min = a TESTES G NHG NH NNNN Max =c ẢẢ c≥a≥b Min = b BÀI GIBÀI GI Max =c c≥b≥a Min = a TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  34. Black-box testing • Ví d ụ:Ki: Kiểm tra màn hình sau: MM ỀỀ N MN M ẦẦ HHHH P P ỆỆ NGH NGH HASEHASE G GGG ING PING P ÔN CÔNÔN CÔN TTTT MMM M Để kiểm tra màn hình trên chúng ta c ầnnítnh ít nhấtt6tr 6 trường h ợp P P ẬẬ (Test case), ví dụ: TESTES - a = 5, b = 4, c = 2 G NHG NH NNNN - a = 5b5, b = 2c2, c = 4 ẢẢ - b = 5, a = 4, c = 2 BÀI GIBÀI GI - b = 5, a = 2, c = 4 -c = 5,,, a = 4, b = 2 - c = 5, a = 2, b = 4 TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  35. Chính sách kiểm tra (Testing Policy) • Kiểmtratm tra tấtct cả các chứcnc năng trong hệ thống MM ỀỀ N MN M menu. ẦẦ HHHH P P ỆỆ • Kiểm tra tất cả các mục khác có cùng chức năng NGH NGH trong hệ thống menu (Toolbar, Listbar, Dialog HASEHASE G GGG bar, Context Menu, ) ING PING P ÔN CÔNÔN CÔN TTTT MMM M • Kiểm tra cùng m ộtcht chứcnc năng với nhi ều vai trò P P ẬẬ TESTES khác nhau (đối với hệ thống có nhiều người G NHG NH NNNN ẢẢ dùng) BÀI GIBÀI GI • Kiểm tra tất cả các dữ liệu bắt buộc nhập trong các màn hình (hợp lệ/không hợp lệ) TRẦN NGỌC BẢO ” KHOA TOÁN 35-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  36. Tester MM • Vai trò ỀỀ N MN M ẦẦ – Kiểm lỗi phần mềm HHHH P P ỆỆ – Kiểm lỗi bản đóng gói NGH NGH HASEHASE G GGG – Kiểm lỗitàilii tài liệu • User guide ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P • Installation Guide ẬẬ TESTES G NHG NH • Release Notes NNNN ẢẢ • Troubleshooting BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN 36-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  37. Tester MM • Công việc ỀỀ – Chuẩn bị môi trường test N MN M ẦẦ HHHH • Windows XP, 2000, 2003 P P ỆỆ • Linux • IE, FireFox, Netscape, Mozilla NGH NGH HASEHASE G GGG • Test Database, Test data – Viết test case ING PING P ÔN CÔNÔN CÔN TTTT MMM M – Thựchic hiện test các test case trong t ừng môi trường P P khác nhau ẬẬ TESTES – Mô tả Bug và chi tiết các bước để tạo ra bug G NHG NH NNNN ẢẢ – Theo dõi quá trình Fix Bug BÀI GIBÀI GI – Báo cáo kết quả test TRẦN NGỌC BẢO ” KHOA TOÁN 37-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  38. Tester • Phầnmn mềmms sử dụng MM ỀỀ – Web testing N MN M ẦẦ HHHH • Test Manager Role P P ỆỆ • Tester Role NGH NGH – Manual Test (Rational Manual Test, Test Complete ) HASEHASE G GGG – Automation Test (Rational Functional Test, Test Complete, ) ING PING P ÔN CÔNÔN CÔN TTTT MMM M – LdttiLoad testing P P ẬẬ TESTES – Code Analysis G NHG NH NNNN ẢẢ – Project Management Tool • Tester Role BÀI GIBÀI GI – Workflow • Tester role TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  39. Tài liệu tham khảo • Testing Tools MM ỀỀ – N MN M ẦẦ – httpp//://www- HHHH P P 01.ibm.com/software/awdtools/tester/functional/features/ ỆỆ index.html?S_TACT=105AGX15&S_CMP=LP NGH NGH HASEHASE – httpp//://www- G GGG 01.ibm.com/software/awdtools/test/manager/ ING PING P ÔN CÔNÔN CÔN • Testing Course TTTT MMM M P P – ẬẬ TESTES – G NHG NH NNNN ẢẢ – http:// www.appperf ect .com/ prod uct s/ wi nd owst est er.ht ml – BÀI GIBÀI GI do TRẦN NGỌC BẢO ” KHOA TOÁN 39-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  40. MM ỀỀ N MN M ẦẦ HHHH P P ỆỆ NGH NGH HASEHASE G GGG ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN 40-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM40
  41. MM ỀỀ N MN M ẦẦ HHHH P P ỆỆ NGH NGH HASEHASE G GGG ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN -TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  42. MM ỀỀ N MN M ẦẦ HHHH P P ỆỆ NGH NGH HASEHASE G GGG ING PING P ÔN CÔNÔN CÔN TTTT MMM M P P ẬẬ TESTES G NHG NH NNNN ẢẢ BÀI GIBÀI GI TRẦN NGỌC BẢO ” KHOA TOÁN 42-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  43. White Box Testing • White Box Testinggppg are tests that are run an application with the knowledge MM of the internal working of the code base. White box testing is used in three ỀỀ of the six basic types of testing: unit, integration, and regression testing. Unit testing is done on a small piece, or unit, of code. This unit is usually a N MN M ẦẦ class. When a unit is integg,rated into the main code base, it is more difficult HHHH to find a bug in that unit. Integration testing looks at how all components P P ỆỆ of an application interact. White box integration tests specifically look at the interfaces between the components. Regression testing verifies that NGH NGH modifications to the syygstem have not damaged the whole of the s ystem. HASEHASE G GGG Unit tests and integration tests can be rerun in regression testing to verify that modifications to the application work properly. • White box test cases should test different paths, decision points (both true ING PING P ÔN CÔNÔN CÔN TTTT and false decisions), execute loops, and check internal data structures of MMM M P P the application. Basis path testing, equivalence partitioning, and boundary ẬẬ value analysis are all used to create white box tests. Basis path testing TESTES looks at the decision points in the application. Equivalence partitioning G NHG NH NNNN divides the set of possible input values into equivalence classes. Only a ẢẢ value from each of the equivalence classes needs to be tested. Boundary value analysis looks at testing around a set boundary. A test case should be BÀI GIBÀI GI made for the boundary value, n, n-1, and n+1. • The goal of white box testing is to cover testing as many of the statements , decision point, and branches in the code base as possible. TRẦN NGỌC BẢO ” KHOA TOÁN 43-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM
  44. Black Box Testing • Black Box Testing treats an application as a black box and only looks at the outputs that are produced by specific inputs into the application. The black box MM ỀỀ tester does not need to understand why the code does what it does, and they should not have access to the source code of the application. Requirements are N MN M ẦẦ used to determine the correct outputs of black box testing, and these test cases HHHH are used to valid at e th at th e ri ght soft ware i s b ei ng b uilt , i .e. th at th e P P application does what the requirements say. ỆỆ • Black box testing checks that required functionality exists and is correct, the interface works properly, data structures behind the interface work properly, the NGH NGH HASEHASE G GGG behavior and performance of the system are within proper bounds , and that the initialization and termination of the program are correct. Integration, functional and system, acceptance, beta, and regression testing all are forms of black box tests. ING PING P ÔN CÔNÔN CÔN TTTT MMM M • A minimal black box test suite should have one test case for every requirement P P of the application. To optimize testing beyond this minimal set of tests ẬẬ equivalence partitioning, boundary value analysis, decision tables, and diabolical TESTES test cases should be created. Equivalence partitioning divides the set of possible G NHG NH NNNN input values into equivalence classes. Only a value from each of the equivalence ẢẢ classes needs to be tested. Boundary value analysis looks at testing around a set boundary. A test case should be made for the boundary value, n, n-1, and n+1. BÀI GIBÀI GI Decision tables looks at all decision points in the program and looks at the results of all decision paths in the scenario. Finally, diabolic tests investigate extreme use of the application. TRẦN NGỌC BẢO ” KHOA TOÁN 44-TIN-TIN HỌC ” ĐẠI HỌC SƯ PHẠM TP.HCM