Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 198 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
198
Dung lượng
5,19 MB
Nội dung
ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM Bài giảng cho sinh viên ngành Cơng nghệ thơng tin Đỗ Thị Bích Ngọc Hà Nội - 2020 MỞ ĐẦU Trước thách thức trình phát triển phần mềm, việc đảm bảo chất lượng phần mềm (Software Quality Assurance-SQA) quan trọng, đòi hỏi phải nghiên cứu cách nghiêm túc để thực thi hiệu Tài liệu cung cấp kiến thức chất lượng phần mềm, đảm bảo chất lượng dự án phát triển phần mềm Qui trình xây dựng hệ thống đảm bảo chất lượng phần mềm trình bày nội dung giảng Qua đó, sinh viên hiểu cách thức xây dựng hệ thống đảm bảo chất lượng phần mềm vai trò thành viên hệ thống Một số chuẩn đảm bảo chất lượng giới thiệu chương cuối Thông qua nội dung giảng sinh viên nắm kỹ rà soát kiểm thử phần mềm Nội dung giảng xây dựng bảy chương: Chương Giới thiệu đảm bảo chất lượng phần mềm Những khái niệm mở đầu tài liệu giới thiệu Chương Bắt đầu với khái niệm phần mềm, chất lượng phần mềm đảm bảo chất lượng phần mềm, phần phân tích tiêu chí chất lượng phần mềm Chương Tích hợp hoạt động đảm bảo chất lượng phần mềm vào vòng đời phát triển phần mềm Chương đề cập đến thành phần đảm bảo chất lượng phần mềm vòng đời dự án phần mềm Những nội dung trình bày chương bao gồm : phân tích số mơ hình phát triển phần mềm phổ biến Sau đó, chương đề cập đến mức độ kiểm thử phần mềm Chương Các hoạt động rà soát Chương trình bày hoạt động rà sốt cho loại tài liệu tạo trình phát triển phần mềm Chương trình bày nguyên tắc phương pháp thực rà soát số checklist rà soát mẫu Chương Kiểm thử phần mềm Chương đề cập đến khái niệm kiểm thử phần mềm Những nội dung trình bày chương bao gồm : khái niệm bản, mức kiểm thử, trình kiểm thử, ca kiểm thử Chương 5: Kỹ thuật kiểm thử hộp đen hộp trắng Chương trình bày kỹ thuật dùng thiết kế ca kiểm thử Các kỹ thuật kiểm thử hộp đen để kiểm thử chức năng, nghiệp vụ hệ thống Các kỹ thuật kiểm thử hộp trắng để kiểm thử code, kiểm thử đơn vị Chương Các công cụ hỗ trợ đảm bảo chất lượng phần mềm Chương đề cập đến loại công cụ dùng kiểm thử phần mềm Những nội dung trình bày chương bao gồm : phần mềm phục vụ quản lý kiểm thử, công cụ hỗ trợ kiểm thử, công cụ hỗ trợ kiểm thử tự động cho kiểm thử chức kiểm thử phi chức Chương Các chuẩn, chứng hoạt động đánh giá Chương đề cập tới chuẩn quản lý chất lượng ISO, CMM/CMMI, sâu vào CMM/CMMI Phụ lục Gồm phụ lục : - Trình bày lỗi thường gặp viết chương trình - Trình bày số hướng dẫn cho loại kiểm thử Một test plan mẫu CHƯƠNG 1: GIỚI THIỆU ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM 1.1 Khái niệm phần mềm 1.2 Các nguyên nhân gây lỗi phần mềm 1.2.1 Một số ví dụ điển hình lỗi phần mềm 1.2.2 Lỗi phần mềm 13 1.2.3 Nguyên nhân gây lỗi phần mềm 14 1.3 Đảm bảo chất lượng phần mềm 17 1.3.1 Khái niệm 17 1.3.2 Mục tiêu đảm bảo chất lượng phần mềm 18 1.3.3 Xác minh, thẩm định đánh giá chất lượng 18 1.4 Các tiêu chí chất lượng 19 1.5 Các tiêu chí chất lượng ảnh hưởng tới hoạt động đảm bảo chất lượng phần mềm 23 CHƯƠNG 2: TÍCH HỢP CÁC HOẠT ĐỘNG ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM VÀO VÒNG ĐỜI PHÁT TRIỂN PHẦN MỀM 25 2.1 Các phương pháp phát triển phần mềm 25 2.2 Các hoạt động đảm bảo chất lượng phần mềm 29 2.2.1 Đảm bảo chất lượng hợp đồng 29 2.2.2 Đảm bảo chất lượng đặc tả 30 2.2.3 Đảm bảo chất lượng phân tích, thiết kế 32 2.2.4 Đảm bảo chất lượng phát triển phần mềm (lập trình) 33 2.3 Các mức độ kiểm thử 34 2.3.1 Giới thiệu 34 2.3.2 Kiểm thử đơn vị 34 2.3.3 Kiểm thử tích hợp 35 2.3.4 Kiểm thử hệ thống 40 2.3.5 Kiểm thử chấp nhận 43 CHƯƠNG 3: CÁC HOẠT ĐỘNG RÀ SOÁT 44 3.1 Mục tiêu rà soát 44 3.1.1 Định nghĩa 44 3.1.2 Mục tiêu 44 3.2 Các hình thức rà sốt 44 3.2.1 Rà sốt thức 44 3.2.2 Rà soát ngang hàng 47 3.2.3 Ý kiến chuyên gia 48 3.2.4 So sánh rà sốt thức rà sốt ngang hàng 49 3.3 Thực hoạt động rà soát dự án 50 3.3.1 Rà soát hợp đồng 50 3.3.2 Rà sốt phân tích thiết kế 53 3.3.3 Các hoạt động rà soát khác 56 3.4 Đảm bảo chất lượng thành phần bảo trì phần mềm 63 3.4.1 Giới thiệu 63 3.4.2 3.4.3 3.4.4 3.5 Cơ sở cho chất lượng bảo trì cao 64 Các thành phần chất lượng phần mềm tiền bảo trì 66 Hỗ trợ đảm bảo chất lượng bảo trì phần mềm 70 Đảm bảo chất lượng phần mềm yếu tố bên tham gia 78 3.5.1 Những thành phần bên ngồi đóng góp vào dự án phần mềm 78 3.5.2 Rủi ro lợi ích giới thiệu người tham dự 79 3.5.3 Những mục tiêu đảm bảo chất lượng đóng góp người tham gia bên ngồi 80 3.5.4 Các cơng cụ đảm bảo chất lượng đóng góp thành viên đóng góp bên ngồi 81 CHƯƠNG 4: KIỂM THỬ PHẦN MỀM 83 4.1 Định nghĩa mục tiêu 83 4.1.1 Định nghĩa 83 4.1.2 Các mức độ kiểm thử 84 4.2 Quy trình kiểm thử 85 4.2.1 Quy trình 85 4.2.2 Input/Output cho test 87 4.2.3 Quản lý lỗi 88 4.3 Kế hoạch kiểm thử 90 4.4 Thiết kế test (test design) 92 CHƯƠNG 5: KỸ THUẬT KIỂM THỬ HỘP ĐEN VÀ HỘP TRẮNG 95 5.1 Các kỹ thuật kiểm thử hộp đen 95 5.1.1 Phân lớp tương đương 95 5.1.2 Kiểm thử biên 99 5.1.3 Bảng định 100 5.1.4 Lược đồ chuyển trạng thái 101 5.1.5 Kiểm thử theo cặp 103 5.2 Các kỹ thuật kiểm thử hộp trắng 106 5.2.1 Kiểm thử luồng điều khiển 106 5.2.2 Kiểm thử luồng liệu 113 5.3 Kiểm thử đơn vị tự động 117 5.3.1 Giới thiệu chung 117 5.3.2 Tổng quan thư viện Junit 119 5.4 Bảng tóm tắt Testing Levels/ Techniques 122 CHƯƠNG 6: CÁC CÔNG CỤ HỖ TRỢ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM 123 6.1 Các công cụ quản lý thông tin Đảm bảo chất lượng phần mềm 123 6.1.1 Phần mềm hỗ trợ viết tài liệu 123 6.1.2 Phần mềm quản lý lỗi 123 6.2 Cơng cụ kiểm thử tự động ? 125 6.2.1 Khái niệm 125 6.2.2 Quy trình kiểm thử tự động 125 6.3 Công cụ hỗ trợ kiểm thử đơn vị 126 6.4 Công cụ hỗ trợ kiểm thử chức tự động 126 6.4.1 Selenium WebDriver 129 6.4.2 Các câu lệnh sử dụng Selenium WebDriver 130 6.5 Công cụ hỗ trợ kiểm thử API 132 Giới thiệu công cụ kiểm thử API Postman 134 6.6 Công cụ hỗ trợ kiểm thử hiệu 135 6.7 Công cụ hỗ trợ kiểm thử bảo mật 135 CHƯƠNG 7: CÁC TIÊU CHUẨN TRONG QUẢN LÝ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM 139 7.1 Giới thiệu 139 7.2 Đảm bảo chất lượng phần mềm chuẩn ISO 139 7.3 Đảm bảo chất lượng phần mềm chuẩn CMM, CMMI 140 7.4 Cấu trúc level CMMI : 144 7.4.1 Cấu trúc CMMI : 144 7.4.2 Các level CMMI: 144 7.4.3 Việt Nam áp dụng CMM/CMMI lĩnh vực phần mềm 152 TÀI LIỆU THAM KHẢO 153 PHỤ LỤC 154 Phụ lục 1: Một số lỗi thường gặp phát triển phần mềm 154 Phụ lục 2: Một số hướng dẫn cho loại kiểm thử 163 Phụ lục 3: Test plan mẫu 176 Chương 1: Giới thiệu đảm bảo chất lượng phần mềm 1.1 Khái niệm phần mềm Trước tìm hiểu đảm bảo chất lượng phần mềm, mục giới thiệu khái niệm phần mềm Định nghĩa: Phần mềm bao gồm thành phần sau đây: • Chương trình máy tính • Các thủ tục • Tài liệu liên quan • Dữ liệu cần thiết cho vận hành hệ thống Mỗi thành phần phần mềm có chức riêng chất lượng chúng đóng góp vào chất lượng chung phần mềm bảo trì phần mềm sau: • Chương trình máy tính cần thiết hiển nhiên chúng giúp máy tính vận hành thực thi yêu cầu ứng dụng • Những thủ tục yêu cầu để định nghĩa theo thứ tự lịch biểu chương trình thực thi, phương thức triển khai người chịu trách nghiệm cho thực thi hoạt động cần thiết cho việc tác động vào phần mềm • Nhiều kiểu tài liệu cần thiết cho người phát triển, người sử dụng người có nhiệm vụ trì Tài liệu phát triển (báo cáo yêu cầu, báo cáo thiết kế, mơ tả chương trình, v.v) cho phép phối hợp cộng tác hiệu thành viên đội ngũ phát triển hiệu việc xem lại rà soát cá sản phẩm lập trình thiết kế Tài liệu sử dụng(thường hướng dẫn sử dụng) cung cấp miêu tả cho ứng dụng sẵn sàng phương pháp thích hợp cho họ sử dụng Tài liệu bảo trì (tài liệu cho người phát triển) cung cấp cho đội bảo trì tất thơng tin u cầu mã nguồn công việc cấu trúc cho module Thơng tin sử dụng để tìm ngun nhân lỗi (bugs) thay đổi bổ sung thêm vào phần mềm có sẵn • Dữ liệu bao gồm tham số đầu vào, mã nguồn danh sách tên thích hợp với phần mềm để đặc tả cần thiết cho người sử dụng thao tác với hệ thống Một kiểu khác liệu cần thiết chuẩn liệu test, sử dụng để sách định rõ thứ thay đổi không mong muốn mã nguồn liệu phần mềm xảy loại cố phần mềm lường trước 1.2 Các nguyên nhân gây lỗi phần mềm 1.2.1 Một số ví dụ điển hình lỗi phần mềm Có nhiều trường hợp lỗi phần mềm gây thiệt hại hàng triệu đô la thiệt hai người Để thấy mức độ nghiệm trọng đa dạng lỗi phần mềm, mục giới thiệu 10 lỗi tiếng ngành phần mềm Ariane Crash Hình 1-0-1: Vụ nổ Ariane lỗi tràn số tính tốn Arian thứ năm loạt tàu vũ trụ dân dụng Ariane châu Âu dùng để phóng vệ tinh vào khơng gian Vào ngày tháng năm 1996 Kourou, Guiana Pháp, Ariane không người lái phát nổ khoảng 40 giây sau phóng Chiếc tên lửa trị giá 500 triệu đô la phát nổ lỗi phần mềm phổ biến biết đến tên gọi Integer Overflow Lỗi xảy trình thực chuyển đổi liệu từ số floating point 64-bit sang giá trị số integer16-bit Số floating point chuyển đổi có giá trị lớn số biểu diễn số integer16-bit Lỗi phần mềm tên lửa Patriot Hình 1-0-2: Hệ thống chắn tên lửa phán đốn sai vị trí lỗi làm tròn số Ngày 25 tháng năm 1991 Chiến tranh vùng Vịnh, hệ thống tên lửa Patriot dưng không theo dõi đánh chặn tên lửa Scud công doanh trại Mỹ Theo Cơ quan Trách nhiệm Giải trình Chính phủ Hoa Kỳ, phần mềm bị trễ khơng theo dõi việc phóng tên lửa thời gian thực, để tên lửa Iraq có hội vượt qua phát nổ trước làm điều để ngăn chặn Mỹ có 28 người thiệt mạng 100 người bị thương sau cố Lỗi Y2K Y2K viết tắt Year 2000 gọi “lỗi thiên niên kỷ” Vào cuối năm 90, lỗi Y2K lỗi đề cập nhiều giới chờ đợi máy bay va chạm, tàu vũ trụ biến mất, thị trường chứng khoán sụp đổ dự đốn nhiều chun gia cơng nghệ Lỗi sai lầm đơn giản hệ thống quản lý thời gian máy tính sử dụng hai chữ số để biểu thị năm Theo đó, 1970 biểu diễn 70 năm 1999 biểu diễn 99 Lý việc để tiết kiệm nhớ Khi gần đến năm 2000, lập trình viên máy tính nhận máy tính khơng thể biểu diễn xác năm 2000, 00 dùng để biểu diễn năm 1900 Các hoạt động lập trình hàng ngày hàng năm bị hư hỏng thiếu sót Vào ngày 31 tháng 12 năm 1999, chuyển sang ngày tháng năm 2000, máy tính hiểu từ ngày 31 tháng 12 năm 1999, chuyển sang ngày tháng năm 1900 Các ngân hàng, tính lãi suất hàng ngày, phải đối mặt với vấn đề thực Lãi suất số tiền mà người cho vay, ví dụ ngân hàng, tính phí khách hàng, chẳng hạn cá nhân doanh nghiệp họ vay tiền Thay tỷ lệ lãi suất cho ngày, máy tính tính tỷ lệ lãi suất cho gần 100 năm ! Các trung tâm công nghệ, nhà máy điện, bị đe dọa lỗi Y2K Nhà máy điện phụ thuộc máy tính để kiểm tra an tồn bảo trì, chẳng hạn áp lực nước mức độ xạ Khơng có ngày xác làm tính tốn đưa cư dân gần đối mặt với nguy hiểm Giao thơng vận tải phụ thuộc vào thời gian ngày tháng xác Các hãng hàng khơng đặc biệt bị đe doạ máy tính lưu thơng tin tất chuyến bay theo lịch trình bị đảo lộn hết Cuối cùng, có Y2K khơng gây hậu nghiêm trọng phải thời gian để nhà phát triển phần mềm khắc phục triệt để lỗi Khoản tiền gửi 92 nghìn triệu triệu la PayPal Vào ngày tháng năm 2013, Chris Reynolds cảm thấy giật hoảng hốt trước khoản tiền có tài khoản PayPal Số dư tài khoản nhân viên PR Pennsylvania tăng lên thành 92.233.720.368.547.800 USD Số tiền ghi có vào tài khoản PayPal Reynolds lỗi phần mềm làm anh trở thành người giàu giới PayPal thừa nhận việc lỗi phần mềm họ PayPal đề nghị tặng khoản tiền (không công bố) cho Reynolds YouTube phải nâng cấp đếm Gangnam Style Năm 2014, YouTube bị lỗi video âm nhạc gọi Gangnam Style Psy Các nhà phát triển xây dựng YouTube tảng 32-bit, có nghĩa YouTube lưu hiển thị số lượt xem video số nằm dải từ 2,147,483,648 đến 2,147,483,647 Tức số lượt xem lớn biểu diễn Youtube khoảng 2.15 tỷ Youtube nghĩ khó có video đạt lượt xem kinh khủng Tuy nhiên video video Gangnam Style phá vỡ đếm lượt xem YouTube vượt qua số 2.147.483.647 (có lẽ bố, mẹ, bà liên tục cho con, cho cháu xem để dụ chúng ăn cháo, ăn cơm nên số lượt xem khủng vậy) “Chúng không nghĩ có video xem với số lượng lớn số nguyên 32-bit” YouTube cho biết đăng Google + 10 KẾ HOẠCH KIỂM THỬ Đóng trạng thái STM010104 người dùng Xem chi tiết STM010105 thông tin người dùng STM010106 Thêm thông báo Cập nhật/ sửa STM010107 mẫu thông báo STM02 Quản trị đăng ký học STM0201 Quản trị mơn học STM020101 Tìm kiếm STM020102 Thêm môn học Sửa thông tin môn STM020103 học STM020104 Xóa mơn học Xem thơng tin chi STM020105 tiết môn học STM0201 1 Phiên bản: 1.0 GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Quản trị lớp học phần STM020101 Tìm kiếm Thêm lớp học STM020102 phần Sửa thông tin lớp STM020103 học phần STM020104 Xóa lớp học phần Xem thơng tin chi STM020105 tiết lớp học phần PSTM_Test_Plan Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Trang: 7/21 KẾ HOẠCH KIỂM THỬ Import danh sách lớp học phần từ STM020106 file Excels STM0202 STM020202 Đăng kí học STM020203 Sửa đăng kí STM020204 Xóa đăng kí STM020205 Xem lịch học Integration testing, System testing GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test GUI & Functional test Đăng ký dạy STM020201 Tìm kiếm STM020202 Đăng kí dạy STM020203 Sửa đăng kí STM020204 Xóa đăng kí STM020205 Xem lịch dạy STM0203 GUI & Functional test Đăng ký học STM020201 Tìm kiếm STM0202 Phiên bản: 1.0 Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Quản trị điểm STM020301 Tìm kiếm STM020302 Nhập điểm STM020303 Sửa điểm STM020304 Xóa điểm PSTM_Test_Plan Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Trang: 8/21 KẾ HOẠCH KIỂM THỬ Phiên bản: 1.0 GUI & Functional test STMR0101 Báo cáo Thống kê GUI & Functional test STMR010101 Thống kê theo loại học lực GUI & Functional test GUI & Functional test GUI & Functional test Thống kê giảng STMR010103 viên theo: số dạy, kết học GUI & Functional test Integration testing, System testing Thống kê học kì STMR010104 theo số sinh viên GUI & Functional test Integration testing, System testing Import điểm từ STM020305 excel Thống kê sinh viên STMR010101 theo kết học Thống kê môn học theo kết STMR010102 học - Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Integration testing, System testing Kiểm thử phi chức năng: STT Các yêu cầu kiểm thử PCN Nội dung yêu cầu an toàn, bảo mật Kiểu kiểm thử Giai đoạn kiểm thử Kiểm thử Functional bảo mật testing Dữ liệu có mức độ bảo Kiểm thử Functional testing mật cao lưu trữ, bảo mật truyền nhận mạng phải mã hóa với thuật tốn đủ mạnh Dữ liệu bảo mật cao phải bao gồm tối thiểu liệu: thông tin khách hàng, liệu thẻ (nếu có), mật Hệ thống phải hỗ trợ Kiểm thử Functional testing chế thông báo, cảnh báo bảo mật ngăn chặn việc cố tình sử dụng mã truy cập người khác để truy cập hệ thống Cho phép tham số PSTM_Test_Plan Trang: 9/21 KẾ HOẠCH KIỂM THỬ Phiên bản: 1.0 hóa số lần tối đa truy cập không hợp lệ vào hệ thống Tất lần truy cập không thành công phải ghi lại có báo cáo để theo dõi yêu cầu tính khả dụng Giao diện hình phải GUI thân thiện với người sử dụng, đạt yêu cầu sau: Functional testing - Các hình thiết kế đảm bảo tính đồng nhất, quán - Các biểu tượng đồ họa đồng - Hỗ trợ kiểm soát liệu đầu vào - Hỗ trợ font giao diện theo tiêu chuẩn Unicode Cung cấp giao diện người GUI sử dụng tảng web- Functional testing base, thiết bị di động hỗ trợ trình duyệt web phổ biến tối thiểu sau (Yêu cầu rõ số phiên hỗ trợ): - Chrome - Firefox - Internet Explorer - Apple Safari giao tiếp hệ thống khác Tương tác với hệ N/A thống khác, đặc biệt liệu hệ thống Phần mềm PSTM_Test_Plan N/A Trang: 10/21 KẾ HOẠCH KIỂM THỬ Phiên bản: 1.0 quản thông tin sinh viên Kiểm thử hiệu Trong giai đoạn này, thực phần kiểm thử hiệu năng: phiên đăng kí với số lượng sinh viên lớn để đánh giá sơ lược hiệu hệ thống Kiểm thử Functional hiệu năng, testing Kiểm thử luồng nghiệp vụ II.2 Phạm vi không kiểm thử STT Tên module N/A Chức Ghi N/A N/A II.3 Ràng buộc - N/A III PHƯƠNG PHÁP KIỂM THỬ III.1 Chiến lược kiểm thử III.1.1 Kiểm thử giao diện người sử dụng (User Interface Testing) Kiểm thử giao diện người sử dụng (UI) mục đích kiểm tra so sánh giao diện phát triển so với thiết kế ban đầu yêu cầu khách hàng, đảm bảo hoạt động thành phần giao diện Bên cạnh cần đảm bảo tính thẩm mỹ, tiện dụng cho người dùng Mục đích: Mục đích đảm bảo: - Việc sử dụng thơng qua mục tiêu kiểm thử phản ánh chức yêu cầu nghiệp vụ, bao gồm hình đến hình, trường đến trường sử dụng phương pháp truy cập (phím tabs, di chuột, tổ hợp phím) - Các đối tượng thuộc tính menus, size, position, state tập trung vào việc tương thích yêu cầu Cách thực hiện: Tạo chỉnh sửa kịch kiểm thử cho hình để kiểm tra việc sử dụng cách tình trạng đối tượng cho hình đối tượng ứng dụng Kiểm tra giao diện hiển thị dựa điều kiện môi trường & cấu hình u cầu Điều thành: kiện hồn Mỗi hình kiểm tra đảm bảo với phiên kiểm tra phạm vi chấp nhận PSTM_Test_Plan Trang: 11/21 KẾ HOẠCH KIỂM THỬ Lưu ý: Phiên bản: 1.0 Việc hiển thị trường thông tin giao diện gắn với phân quyền người dùng III.1.2 Kiểm thử luồng nghiệp vụ (Business Flow Testing) Kiểm thử luồng nghiệp vụ tài liệu yêu cầu nghiệp đặc thù ứng dụng Mục tiêu kiểu kiểm thử kiểm tra tính đắn liệu, qui trình báo cáo việc thực qui tắc nghiệp vụ Bảng sau liệt kê số gợi ý ứng dụng: Mục đích: Kiểm thử luồng nghiệp vụ đảm bảo yêu cầu sau: - Các công thức tính tốn điều kiện ràng buộc xử lý - Luồng nghiệp vụ - Quá trình xử lý liệu kết đầu phải - Phục hồi liệu Cách thực hiện: Thực chức năng, sử dụng liệu hợp lệ không hợp lệ để kiểm tra Cụ thể sau: - Kết mong đợi với liệu hợp lệ - Đưa cảnh báo với liệu không hợp lệ - Các qui tắc nghiệp vụ thỏa thuận áp dụng Điều kiện hoàn Toàn kế hoạch kiểm thử thực thành: Các vấn đề đặc Xác định mô tả vấn đề (nội bên ngoài) ảnh hưởng đến việc kiểm thử chức biệt: III.1.3 Kiểm thử liệu tích hợp liệu (Data and Database Integrity Testing) Cơ sở liệu xử lý sở liệu phải đảm bảo với thiết kế liệu thống Nghiên cứu thêm DBMS để xác định công cụ kỹ thuật có giúp hỗ trợ cho việc kiểm thử: Mục đích: Đảm bảo việc lưu trữ, thao tác, truy vấn thông tin trả lại đặc tả yêu cầu Cách thực hiện: Thực kiểm tra thiết kế sở liệu Thực truy vấn, thao tác (thêm/sửa/xóa/tìm kiếm) để đảm bảo liệu trả Điều thành: kiện hoàn Tất phương pháp truy cập chức xử lý giống thiết kế khơng có sai lệch liệu Các vấn đề đặc biệt: Cần có hiểu biết hệ thống lưu trữ liệu PSTM_Test_Plan Trang: 12/21 KẾ HOẠCH KIỂM THỬ Phiên bản: 1.0 Phân quyền đủ để thực đủ thao tác liệu (nếu có phân quyền) Cơ sở liệu có kích thước nhỏ tối thiểu (giới hạn số ghi) phải dùng để làm rõ thêm kiện không phép chấp nhận III.1.4 Kiểm thử hồi quy (Regression Testing) Kiểm thử hồi quy hoạt động cấn thiết với hệ thống bảo trì nâng cấp, mục đích đảm bảo hệ thống hoạt động tốt có thay đổi, cập nhật số module Mục đích: Kiểm thử hồi qui dùng để kiểm tra phần sửa chữa, thêm phần mềm, để đảm bảo thay đổi không gây lỗi phần khác Cách thực hiện: Tái sử dụng TC từ phần kiểm thử trước để kiểm thử module sửa chữa 80% TC chọn ngẫu nhiên Thực TC tương tác module để đảm bảo hệ thống hoạt động tốt Điều kiện hoàn Toàn trường hợp kiểm thử thực đạt yêu cầu thành: Các vấn đề đặc biệt: Toàn trường hợp kiểm thử chọn thực đạt yêu cầu Đòi hỏi hiểu biết hệ thống III.1.5 Kiểm thử hiệu (Performance Testing) Kiểm thử hiệu nhằm kiểm tra đánh giá thời gian phản hồi, tỉ lệ giao dịch, yêu cầu liên quan tới thời gian khác Mục tiêu kiểm thử hiệu nhằm để xác minh yêu cầu hiệu wordload cấu hình phần cứng Lưu ý: Giao dịch (transacton) “logical business transactions” Các giao dịch định nghĩa chức cụ thể đăng kí tín Mục đích: Xác minh hiệu hành vi cho giao dịch thiết kế chức nghiệp vụ theo điều kiện: - Cách thực hiện: Sử dụng test case viết cho chức luồng nghiệp vụ: - PSTM_Test_Plan Workload trường hợp dự đốn thơng thường Workload trường hợp dự đốn xấu Sửa file liệu để tăng số giao dịch script để tang số lần lặp giao dịch xảy Script cần chạy máy (Single user, single transaction) lặp lại với nhiều khách hàng (ảo thực, xem Các vấn đề đặc biệt bên dưới) Trang: 13/21 KẾ HOẠCH KIỂM THỬ Điều kiện thành: Phiên bản: 1.0 hoàn Single transaction or single user: hồn thành test script mà khơng bị lỗi với thời gian mong muốn cho giao dịch Mulitple transaction or multiple users: hồn thành test script mà khơng bị lỗi thời gian cho phép Các vấn đề đặc biệt: Thực kiểm thử hiệu bao gồm workload server Có số cách để thực hiện, bao gồm: - “drive transaction” trực tiếp tới server, thường lời gọi SQL - Tạo người dùng ảo để mô nhiều người dùng (thường vài trăm người), sử dụng công cụ mô - Sử dụng nhiều người dùng thật, người chạy test scripts địa điểm Kiểm thử hiệu nên thực máy điển hình vào thời gian điển hình để có đánh giá xác Cơ sở liệu sử dụng cho kiểm thử hiệu nên có kích thước đủ lớn kích thước thật III.1.6 Kiểm thử bảo mật truy cập (Security and Access Control Testing) Kiểm thử bảo mật truy cập có mục tiêu: Bảo mật mức ứng dụng, bao gồm truy cập tới liệu tính nghiệp vụ Bảo mật mức hệ thống, bao gồm đăng nhập vào hệ thống truy cập hệ thống từ xa Bảo mật mức ứng dụng đảm bảo người phân quyền có quyền truy cập liệu tính tương ứng Ví dụ, phép nhập thơng tin tạo tài khoản, managers có quyền xố Nếu có bảo mật mức liệu, kiểm thử đảm bảo “người dùng loại 1” xem tồn thơng tin khách hàng, “người dung loại 2” khơng Bảo mật mức hệ thống đảm bảo người dùng cấp phép quyền truy cập vào hệ thống Mục đích: Bảo mật mức ứng dụng đảm bảo người phân quyền có quyền truy cập liệu tính tương ứng Bảo mật mức hệ thống đảm bảo người dùng cấp phép quyền truy cập vào hệ thống Cách thực hiện: Bảo mật mức ứng dụng: xác định liệt kê với loại người dùng chức năng, liệu mà quyền truy cập Tạo ca kiểm thử cho loại người dùng xác minh quyền tạo transactions cho loại người dùng Chỉnh sửa loại người dùng chạy lại ca kiểm thử cho người dung Sau đó, xác minh chức năng, liệu thay đổi có thêm/xố xác hay khơng PSTM_Test_Plan Trang: 14/21 KẾ HOẠCH KIỂM THỬ Điều kiện thành: Phiên bản: 1.0 Bảo mật mức hệ thống: Xem nội dung hoàn Với loại người dùng, chức liệu truy cập hoạt động Các vấn đề đặc biệt: Truy cập vào hệ thống phải review với mạng thích hợp quản trị hệ thống Kiểm thử khơng cần thiết tính mạng systems administration III.2 Quy trình kiểm thử Thực kiểm thử tích hợp cho chức năng, module liệt kê mục II.1 môi trường test Lưu ý: - Khi viết testcase loại bỏ “Bước kiểm thử” để tiết kiệm thời gian - Dự án không thực kiểm thử tự động nên không tạo test script Quy trình kiểm thử: - Step 1: Đội tester xây dựng checklist test chung cho toàn dự án, PM review - Step 2: Đội tester xây dựng testcases cho chức năng, Test Leader review - Step 3: SelftTest dev Do loại bỏ bước unit test, nên Dev cần tự review chức trước chuyển sang đội Test - Step 4: Test đội Tester - III.3 Phương pháp kiểm soát Việc kiểm soát lỗi đề xuất sau: Công cụ log bug: Excel + Skype + Redmine Quy trình kiểm sốt lỗi: - Step 1: Tester log lỗi vào Redmine - Step 2: Tester skype với DEV để nhắc check bug Redmine & trao đổi trình sửa lỗi - Step 3: Dev & Tester làm việc, update Bug redmine theo quy trình sửa lỗi (PSTM_CRM_RedmineHelpv1.0.pdf) III.4 Testing convention - Quy tắc đặt mã Test cases: T__ Quy tắt đặt tên file test cases: __ _v Quy tắc đặt tên sheets: Thống template test cases: check file template đính kèm Thống template Test report: : check file template đính kèm Check list review test cases cho loại test III.1.x : check file template đính kèm Template để chuẩn bị data test: : check file template đính kèm III.5 Kế hoạch chuẩn bị liệu kiểm thử Tên/ Loại Điều kiện Người thu Phương thức thu Người/ Đơn Ngày thu vị cung cấp thập liệu liệu thập liệu thập liệu liệu PSTM_Test_Plan Trang: 15/21 KẾ HOẠCH KIỂM THỬ N/A N/A N/A Phiên bản: 1.0 N/A N/A N/A III.6 Kế hoạch báo cáo STT Loại báo cáo Thời gian báo Hình thức Người cáo báo cáo cáo Báo cáo định tuần/lần kỳ Báo cáo kết Khi kết thúc thúc chức kiểm thử chức Báo cáo kết Khi kết thúc thúc giai đoạn giai đoạn Báo cáo kết Khi kết thúc thúc dự án dự án Email Email Email Email báo Người nhận báo cáo Đỗ Thị Bích Ngọc Đỗ Thị Bích Ngọc - PM Đội dự án PM Đội dự án Đỗ Thị Bích Ngọc Đỗ Thị Bích Ngọc - PM Đội dự án PM Đội dự án III.7 Cơng cụ kiểm thử STT Cơng cụ Mục đích Microsoft Office Trình duyệt Chrome Ghi Lịch trình N/A Thực kiểm thử trình duyệt N/A Excel Quản lý lỗi N/A Gmail Quản lý lỗi , Trao đổi nghiệp vụ với dự án N/A Skype Quản lý lỗi , Trao đổi nghiệp vụ với dự án N/A Jmeter Kiểm thử hiệu N/A web: FF, III.8 Tiêu chuẩn kiểm thử - Điều kiện bắt đầu thực kiểm thử Công việc kiểm tra phần mềm bắt đầu thực điều kiện sau thỏa mãn: + Theo kế hoạch kiểm thử thống + Dự án hoàn thành review code selft check cho module tương ứng + Dự án hoàn thành việc cài đặt server bàn giao chức năng/module cần kiểm tra cho nhóm Test - Điều kiện dừng trình kiểm thử Quá trình thực test dừng lại có điều kiện sau: PSTM_Test_Plan Trang: 16/21 KẾ HOẠCH KIỂM THỬ Phiên bản: 1.0 + Đạt ngưỡng kiểm thử thành công + Dự án bị hủy/ tạm ngừng (do chương trình build khơng đạt, theo đạo) + Hết thời gian kiểm thử - Tiêu chuẩn kiểm thử thành công + 100% Intergration test case thực + 95% lỗi đóng; khơng cịn lỗi Fatal, Serious mở - Điều kiện thực kiểm thử hồi quy Khi có thay đổi mã nguồn mơi trường phần mềm IV MƠI TRƯỜNG KIỂM THỬ IV.1 Máy chủ v Máy chủ kiểm thử độc lập với máy chủ phát triển hệ thống v Yêu cầu: ü Người deploy source code, DB: N/A ü Quy trình deploy: Người deploy cần thơng báo, thống với Test Leader trước thực deploy… IV.2 Máy trạm v Cấu hình: N/A v Windows: N/A v Trình duyệt: Firefox, Chrome IV.3 Đường truyền N/A IV.4 Khác N/A V NHÂN SỰ VÀ ĐÀO TẠO V.1 Nhân Tên nhân Vai trị Đỗ Thị Bích Ngọc Nhiệm vụ Thời gian %Tham Từ ngày gia dự làm việc án Test Lead Kiểm thử 50% Tester Tester Tester Kiểm thử Kiểm thử Kiểm thử 50% 50% 50% Đến ngày V.2 Kế hoạch đào tạo Mảng đào tạo PSTM_Test_Plan Người tham gia Khoảng gian thời Mức độ cần thiết Trang: 17/21 KẾ HOẠCH KIỂM THỬ N/A N/A Phiên bản: 1.0 N/A N/A VI LỊCH TRÌNH KIỂM THỬ VI.1 Lịch trình kiểm thử Lịch trình kiểm thử dự án: sau hồn thành lập trình function VI.2 Các mốc quan trọng STT Nội dung công việc Lập kế hoạch kiểm thử Kiểm thử module Phân hệ Quản trị thông tin người dùng Dự kiến bắt đầu Dự kiến kết thúc VII PHỐI HỢP VỚI CÁC BÊN LIÊN QUAN VII.1 Nội Đội phát triển dự án STT Đối tượng phối Vị trí cơng tác hợp Nội dung phối hợp Tel, Fax, Mail Phân tích nghiệp Đầu mối cung cấp/ trao N/A đổi nghiệp vụ dự án; vụ biểu mẫu, liệu test dự án VII.2 Phối hợp với khách hàng STT Đối tượng phối Vị trí cơng tác hợp Nội dung phối hợp Tel, Fax, Mail N/A N/A N/A N/A VIII LƯU TRỮ TÀI LIỆU STT Tên liệu Loại liệu Nơi lưu trữ Ghi Kế hoạch kiểm Bản mềm thử, Lịch trình kiểm thử Intergration test Bản mềm case Các tài liệu thư mục N/A theo đường dẫn: Intergration log Các tài liệu thư mục N/A theo đường dẫn: PSTM_Test_Plan test Bản mềm Các tài liệu thư mục N/A theo đường dẫn: Trang: 18/21 KẾ HOẠCH KIỂM THỬ Phiên bản: 1.0 Báo cáo test Bản mềm Các tài liệu thư mục N/A theo đường dẫn: Lỗi tìm Lỗi phần mềm N/A PSTM_Test_Plan N/A Trang: 19/21 KẾ HOẠCH KIỂM THỬ Phiên bản: 1.0 IX KẾ HOẠCH QUẢN LÝ RỦI RO STT Nguồn rủi Mô tả ro Tester không nắm vững nghiệp vụ PSTM_Test_Plan Mức độ Khả ảnh hưởng xảy Các tester, Bình đặc biệt thường tester không làm chủ nghiệp vụ, bỏ sót tình 50% Chiến lược xử lý Ghi - Tester cần học nghiệp vụ có kế hoạch Q&A với BA phần không hiểu - BA review test case tester viết Trang: 20/21 KẾ HOẠCH KIỂM THỬ Phiên bản: 1.0 X CÁC SẢN PHẨM BÀN GIAO STT Sản phẩm Kế hoạch kiểm thử Kịch kiểm thử Theo lịch trình System test log Theo lịch trình Báo cáo tuần lần/tuần Ngày bàn giao Người bàn giao Người nhận Đỗ Thị Bích Ngọc Báo cáo kết thúc kiểm N/A thử dự án PSTM_Test_Plan Trang: 21/21 ... thiệu đảm bảo chất lượng phần mềm Những khái niệm mở đầu tài liệu giới thiệu Chương Bắt đầu với khái niệm phần mềm, chất lượng phần mềm đảm bảo chất lượng phần mềm, phần phân tích tiêu chí chất lượng. .. tiêu đảm bảo chất lượng phần mềm Phát triển phần mềm ln đơi với bảo trì, hoạt động bảo đảm chất lượng phần mềm có mối liên quan chặt chẽ đến bảo trì Những mục tiêu đảm bảo chất lượng phần mềm tương... 1: Giới thiệu đảm bảo chất lượng phần mềm 1.1 Khái niệm phần mềm Trước tìm hiểu đảm bảo chất lượng phần mềm, mục giới thiệu khái niệm phần mềm Định nghĩa: Phần mềm bao gồm thành phần sau đây: