Phương pháp Agile là một cách chú trọng vào việc lặp lại liên tục sự phát triển và kiểm thử xuyên suốt vòng đời phát triển phần mềm của dự án. Cả 2 hoạt động phát triển phần mềm và kiểm thử của mô hình Agile đều hoàn toàn khác biệt với mô hình Waterfall.
QUẢN LÝ DỰ ÁN VỚI PHẦN MỀM AGILE Bài 6: Kiểm thử Nội dung học Khái niệm kiểm thử phần mềm Một số đặc điểm kiểm thử phần mềm Tại kiểm thử lại cần thiết? Quy trình kiểm thử Các mức độ kiểm thử Vai trò Tester Cơng việc Tester Tổ chức sở hạ tầng kiểm thử Định nghĩa hoàn thành Khái niệm kiểm thử phần mềm Kiểm thử gì? A person makes an error … that creates a fault (bug, defect) in the software … that can cause a failure in operation Khái niệm kiểm thử phần mềm Kiểm thử phần mềm trình thực thi phần mềm với mục tiêu tìm lỗi (Glen Myers, 1979) Khẳng định chất lượng phần mềm xây dựng (Hetzel, 1988) Một số đặc điểm kiểm thử phần mềm Kiểm thử phần mềm giúp tìm diện lỗi vắng mặt lỗi (Dijkstra) Mọi phương pháp dùng để ngăn ngừa tìm lỗi sót lại lỗi khó phát (Beizer) Điều xảy việc kiểm thử khơng tìm lỗi phần mềm phát lỗi: Phần mềm có chất lượng tốt Quy trình/Đội ngũ kiểm thử hoạt động khơng hiệu Tại kiểm thử lại cần thiết? Thông thường phần mềm khơng hoạt động mong muốn lãng phí tiền bạc, thời gian, uy tín doanh nghiệp, chí gây nên thương tích hay chết Ví dụ: Một phần mềm tính tốn lượng thuốc trừ sâu dùng cho trồng, lý tính sai số lượng lên gấp 10 lần Nông dân phải bỏ nhiều tiền mua, trồng hư hại, môi trường sống, nguồn nước bị ảnh hưởng,… Website cơng ty có nhiều lỗi tả câu chữ Khách hàng lảng tránh cơng ty với lý cơng ty khơng chun nghiệp Tại kiểm thử lại cần thiết? Kiểm thử phần mềm chất lượng phần mềm nâng cao Chúng ta đánh giá chất lượng phần mềm dựa vào số lượng lỗi tìm thấy đặc tính như: tính đắn, tính dễ sử dụng, tính dễ bảo trì,… Kiểm thử đem lại tin tưởng chất lượng phần mềm có lỗi khơng có lỗi tìm thấy Nếu lỗi tìm thấy sửa chất lượng phần mềm tăng Giảm chi phí q trình phát triển, nâng cấp, bảo trì phần mềm Lỗi tăng lên nào? Lỗi tăng lên nào? Chi phí cho việc tìm thấy sửa lỗi tăng dần suốt chu kỳ sống phần mềm Lỗi tìm thấy sớm chi phí để sửa thấp ngược lại Kiểm thử phần mềm Agile Kiểm thử khơng thực thi cuối vòng đời mà lồng vào suốt phân đoạn Sprint khác Kiểm thử khác biệt lớn Scrum Ngay với dự án Scrum nhỏ khó nhận cách để nhóm bàn giao cách đặn khơng có sẵn vài chế kiểm thử tự động hoạt động tốt Kiểm thử tích hợp liên tục Một loại kiểm thử khác mà cấp thiết với thành cơng dự án Scrum kiểm thử tích hợp liên tục Lý quan trọng để thực đặn loại kiểm thử bạn muốn đảm bảo sản phẩm bạn luôn chuyển giao Tổ chức sở hạ tầng kiểm thử Tổ chức sở hạ tầng kiểm thử Bạn nên gặp gỡ thành viên nhóm kỹ thuật từ đầu dự án, xem cách họ cài đặt môi trường kiểm thử tạm thời môi trường phát triển dự án bạn Nhiều nhóm khơng bắt đầu thế, phần cốt lõi dự án Agile Scrum thành công Trừ bạn dành thời gian để tổ chức chiến lược kiểm thử thân tổ chức, không bạn bàn giao chức deadline Tổ chức sở hạ tầng kiểm thử Tầm quan trọng định nghĩa hoàn thành Định nghĩa hồn thành thường khác nhau, tùy thuộc vào tình hình dự án Định nghĩa hoàn thành cho thấy nhóm định cơng việc coi hồn thành kết thúc việc lập trình kiểm thử đơn vị Một định nghĩa hoàn thành Định nghĩa khác hoàn thành Một kịch khác nhóm cho họ hồn thành user story tích hợp kiểm thử trước buổi sơ kết Sprint Tầm quan trọng định nghĩa hoàn thành Kịch tốt nhất, người dùng nghiệp vụ phần nhóm Scrum, họ có trách nhiệm thực kiểm thử chấp nhận trước cho hoàn thành Dù dự án có hay khơng sử dụng Scrum, việc phát triển kiểm thử chấp nhận người dùng ngày trở thành phương pháp phổ biến nên đưa vào phân đoạn phát hành sớm tốt quy trình Định nghĩa Hồn thành Thảo luận trao đổi tình Tester hỏi ScrumMaster: “Này, ScrumMaster, chẳng có để kiểm thử vào lúc cả, tơi nên làm đây? Họp cải tiến Sprint Dừng nhìn lại, tìm kiếm cải tiến xây dựng tổ chức học tập Khung thời gian: Thành phần: Scrum Master + Nhóm Phát triển (Product Owner tham dự) Scrum Master trợ giúp nhóm tìm hiểu, khơng đưa câu trả lời Họp cải tiến Sprint Câu hỏi: Đã làm tốt gì? Phải cải thiện gì? Workshop Chuẩn bị trước buổi Workshop: Các nhóm chuẩn bị giải pháp kiểm thử cho dự án Nộp giải pháp kiểm thử dự án lên LMS (kế hoạch kiểm thử, test case cho dự án) Tiến hành thảo luận buổi họp cải tiến Sprint Nộp biên họp nội dung buổi họp lên LMS Nội dung buổi Workshop Các nhóm trình bày giải pháp kiểm thử dự án Các nhóm trao đổi họp cải tiến Sprint trao đổi với giảng viên Tổng kết nội dung học Khái niệm kiểm thử phần mềm Một số đặc điểm kiểm thử phần mềm Tại kiểm thử lại cần thiết? Quy trình kiểm thử Các mức độ test Vai trò Tester Công việc Tester Tổ chức sở hạ tầng kiểm thử Định nghĩa hoàn thành