Software Testing and Quality Assurance - Lecture 6: Debugging - Đào Nam Anh

►Kiểm thử và gỡ rối ►Tiến trình gỡ rối ►Sơ đồ trạng thái ►Bảng quyết định Kiểm thử và gỡ rối ►Kiểm thử và gỡ rối là hai công việc phân biệt ►Kiểm thử nhằm phát hiện sự tồn tại của lỗi ►Gỡ rối nhằm định vị và sửa chữa mã gây lỗi ►Gỡ rối bao gồm việc sinh ra các giả thiết về hoạt động của chương trình và kiểm thử chương trình để tìm lỗi

pdf24 trang | Chia sẻ: candy98 | Lượt xem: 543 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Software Testing and Quality Assurance - Lecture 6: Debugging - Đào Nam Anh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Software Testing and Quality Assurance Debugging Dr. Dao Nam Anh Faculty of Information Technology University of Technology and Management 2Resources ► Pressman, Software Engineering, McGraw Hill (chapter 18 & 19) ► Sommerville, Software Engineering, Addison-Wesley (chapter 22 & 23) ► Software Testing and QA Theory and Practics, Chapter 7, WILEY Publish ► Foundations Of Software Testing, Istqb Certification, Dorothy Graham, Erik Van Veenendaal, Isabel Evans, Rex Black ► Jovanović, Irena, Software Testing Methods and Techniques ► Lâm Quang Vũ, 3Nội dung ►Kiểm thử và gỡ rối ►Tiến trình gỡ rối ►Sơ đồ trạng thái ►Bảng quyết định 4Kiểm thử và gỡ rối ►Kiểm thử và gỡ rối là hai công việc phân biệt ►Kiểm thử nhằm phát hiện sự tồn tại của lỗi ►Gỡ rối nhằm định vị và sửa chữa mã gây lỗi ►Gỡ rối bao gồm việc sinh ra các giả thiết về hoạt động của chương trình và kiểm thử chương trình để tìm lỗi 5Kiểm thử và gỡ rối Tiến trình gỡ rối 6Kiểm thử và gỡ rối Tiến trình gỡ rối 7Sơ đồ trạng thái State chart State chart là đồ thị có hướng với các node là các trạng thái nối với nhau bởi các transition, dùng để mô tả đời sống của một đối tượng. Quy trình suy diễn ra state chart: xác định và định nghĩa các trạng thái, xác định các event, xác định các transition, thêm các activity và các action. 8Sơ đồ trạng thái ►Sơ đồ trạng thái thể hiện qui tắc chuyển đổi trạng thái với một số (hữu hạn) của các trạng thái khác nhau ►Thể hiện bằng sơ đồ trạng thái ►FOUNDATIONS OF SOFTWARE TESTING, ISTQB CERTIFICATION, Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black 9Sơ đồ trạng thái ►Ví dụ, nếu bạn yêu cầu rút $ 100 từ một máy ATM ngân hàng, bạn có thể được cho tiền mặt. Sau đó bạn có thể làm yêu cầu tương tự nhưng bị từ chối tiền (vì số dư của bạn là không đủ). ►Trạng thái tài khoản ngân hàng của bạn đã thay đổi từ chỗ có đủ tiền rút đến trạng thái không đủ tiền rút. 10 Sơ đồ trạng thái ►Một ví dụ khác là một trình văn bản. ►Nếu một tài liệu đang mở, bạn có thể để đóng. ►Nếu tài liệu chưa mở, không thể đóng được. ►Sau khi bạn chọn “đóng" một lần, bạn không thể đóng lần nữa, trừ khi bạn mở tài liệu đó. ►Một tài liệu như vậy, có hai trạng thái: mở và đóng cửa. 11 Sơ đồ trạng thái FOUNDATIONS OF SOFTWARE TESTING, ISTQB CERTIFICATION, Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black 12 Sơ đồ trạng thái FOUNDATIONS OF SOFTWARE TESTING, ISTQB CERTIFICATION, Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black 13 Sơ đồ trạng thái FOUNDATIONS OF SOFTWARE TESTING, ISTQB CERTIFICATION, Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black 14 Bảng quyết định Dùng trong thiết kế thử nghiệm? ►Decision Table được tập trung hơn vào Business Logics hoặc các Business Rules. ►Các bảng quyết định hỗ trợ việc lựa chọn các trường hợp thử nghiệm hiệu quả và có thể có tác dụng phụ - việc tìm kiếm các vấn đề và sự mơ hồ trong specification. 15 Bảng quyết định Tại sao? ►Decision Table được tập trung hơn vào Business Logics hoặc các Business Rules. ►Các bảng quyết định hỗ trợ việc lựa chọn các trường hợp thử nghiệm hiệu quả và có thể có tác dụng phụ - việc tìm kiếm các vấn đề và sự mơ hồ trong specification. 16 Bảng quyết định Dùng trong thiết kế thử nghiệm? 1. Xác định những khía cạnh cần phải được kết hợp, 2. Đặt chúng vào một bảng danh sách tất cả các kết hợp của True và False cho các khía cạnh. 17 Bảng quyết định Dùng trong thiết kế thử nghiệm? ►Lấy một ví dụ của một đơn xin vay tiền, nơi bạn có thể nhập số tiền phải trả hàng tháng hoặc số năm bạn muốn thực hiện để trả lại tiền (thời hạn của khoản vay). ►Nếu bạn nhập vào cả hai, hệ thống sẽ làm cho một COMPRO-mise giữa hai nếu xung đột. Hai điều kiện là số tiền vay và thời hạn, vì vậy chúng tôi đặt chúng trong một bảng 18 Bảng quyết định Dùng trong thiết kế thử nghiệm Đã nhập điều kiện cho vay Đã nhập khoản tiền trả Rule 3Rule 2Rule 1Điều kiện 19 Bảng quyết định Dùng trong thiết kế thử nghiệm T F Rule 3 FFTĐã nhập điều kiện cho vay FTTĐã nhập khoản tiền trả Rule 4Rule 2Rule 1Điều kiện 20 Bảng quyết định Dùng trong thiết kế thử nghiệm YYChấp thuận điều kiện cho vay T F Rule 3 YBáo lỗi YYChấp thuận khoản tiền trả Action/Outcomes FFTĐã nhập điều kiện cho vay FTTĐã nhập khoản tiền trả Rule 4Rule 2Rule 1Điều kiện 21 Bảng quyết định Dùng trong thiết kế thử nghiệm Báo lỗi T F Rule 3 Báo lỗiChấp thuận khoản tiền trả Chấp thuận điều kiện cho vay Kết quả Action/Outcomes FFTĐã nhập điều kiện cho vay FTTĐã nhập khoản tiền trả Rule 4Rule 2Rule 1Điều kiện 22 Bảng quyết định Dùng trong thiết kế thử nghiệm Thẻ tín dụng Nếu bạn là một khách hàng mới mở một tài khoản thẻ tín dụng, bạn sẽ nhận được một giảm giá 15% trên tất cả các mua hàng của bạn ngày hôm nay. Nếu bạn là một khách hàng hiện có và bạn giữ một thẻ khách hàng trung thành, bạn nhận được một giảm giá 10%. Nếu bạn có một phiếu giảm giá, bạn có thể nhận được 20% ngày hôm nay (nhưng không thể được sử dụng với chiết khấu của khách hàng). Khoản giảm giá được thêm vào, nếu áp dụng. 23 Bảng quyết định Dùng trong thiết kế thử nghiệm Thẻ tín dụng 24 Q & A