Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 91 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
91
Dung lượng
2,76 MB
Nội dung
Ƣ Ệ VIỆ ỀN THÔNG Ệ Ồ ÁN ƢƠ Ề CÔNG NGHỆ PH N MỀM ề tài 04 TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PH N MỀM Giảng viên hƣớng dẫn: Thầy Lƣơng ạnh Bá Sinh viên thực hiện: Nhóm 01 han ăng ƣng Nguyễn Thị Thanh Vi Nguyễn Trung Hiếu Lê ăn uân Lớp: Công nghệ phần mềm K52 Hà Nội, 10/2010 Báo cáo Đại cương Công nghệ phần mềm Ả Ngày thay đổi Ậ Mô tả thay đổi Ổ Người thực Phiên 5/10/2010 Bắt đầu viết Cả nhóm 1.0 27/10/2010 Sửa đổi Cả nhóm 1.1 Nhóm 01- Lớp công nghệ phần mềm K52 Page Báo cáo Đại cương Công nghệ phần mềm hần 1: Các kỹ thuật kiểm thử phần mềm 1.1 Các khái niệm 1.1.1 Mục đích kiểm thử 1.1.2 Nguyên tắc kiểm thử 1.1.3 Khả kiểm thử 1.2 Kiểm thử hộp trắng 11 1.3 Kiểm thử theo lộ trình sở 12 1.3.1 Đồ thị luồng 12 1.3.2 Cyclomatic Complexity (độ đo phức tạp vòng) 16 1.3.3 Kế thừa ca kiểm thử 17 1.3.4 Ma trận đồ thị 21 1.4 Kiểm thử cấu trúc điều khiển 23 1.4.1 Kiểm thử điều kiện 23 1.4.2 Kiểm thử luồng liệu 25 1.4.3 Kiểm thử vòng lặp 28 1.5 Kiểm thử hộp đen 28 1.5.1 Kiểm thử dựa vào đồ thị (Graph-Based) 29 1.5.2 Phương pháp phân đoạn tương đương 31 1.5.3 Phương pháp phân tích giá trị biên 33 1.5.4 Kiểm thử so sánh 33 1.5.5 Kiểm thử mảng trực giao 34 1.6 Kiểm thử cho môi trường, kiến trúc ứng dụng chuyên ngành 37 1.6.1 Kiểm thử giao diện đồ họa người dùng: 37 1.6.2 Kiểm thử kiến trúc Client/Server: 37 1.6.3 Kiểm thử tài liệu thiết bị trợ giúp 37 1.6.4 Kiểm thử cho hệ thống thời gian thực: 38 1.7 Ụ LỤ iới thiệu kỹ thuật chiến lƣợc kiểm thử phần mềm Tổng kết 40 Các chiến lược kiểm thử 41 Nhóm 01- Lớp công nghệ phần mềm K52 Page Báo cáo Đại cương Công nghệ phần mềm 2.1 Những đặc điểm chiến lược kiểm thử 42 2.1.3 Chiến lược kiểm thử phần mềm 44 2.1.4 Tiêu chuẩn để hoàn thiện kiểm thử 46 2.2 Những vấn đề nảy sinh từ chiến lược 48 2.3 Kiểm thử đơn vị 48 2.3.1 Các quy tắc xem xét kiểm thử đơn vị 48 2.3.2 Một số thủ tục kiểm thử đơn vị 51 2.4 Kiểm thử tích hợp 52 2.4.1 Tích hợp từ xuống 53 2.4.2 Tích hợp lên 54 2.4.3 Kiểm thử hồi quy 55 2.4.4 Chú thích kiểm thử tích hợp 56 2.4.5 Tài liệu kiểm thử tích hợp 56 2.5 Kiểm thử chấp nhận 58 2.5.1 Tiêu chuẩn kiểm thử chấp nhận 58 2.5.2 Xem xét cấu hình 58 2.5.3 Kiểm thử Alpha Beta 58 2.6 Kiểm thử hệ thống 59 2.6.1 Kiểm thử phục hồi 60 2.6.2 Kiểm thử bảo mật 60 2.6.3 Kiểm thử căng thẳng 60 2.6.4 Kiểm thử thực 61 2.7 Nghệ thuật gỡ rối 61 2.7.2 Sự nghiên cứu tâm lý 63 2.7.3 Phương pháp tiếp cận gỡ lỗi 63 hần 2: iới thiệu số công cụ kiểm thử khảo sát quy trình kiểm thử công ty phần mềm Fsoft 65 3.1 Giới thiệu số kiểm thử phổ biến 65 Defect Management system 65 Nhóm 01- Lớp công nghệ phần mềm K52 Page Báo cáo Đại cương Công nghệ phần mềm 3.1.1 3.2 Giới thiệu công cụ BugZero 65 Một số công cụ kiểm thử chức 65 3.2.1 Rational Robot tester 66 3.2.2 Quick Test Pro 66 3.2.3 Công cụ kiểm thử Visual Studio 2008 68 3.3 Kết luận 77 Khảo sát quy trình kiểm thử phần mềm công ty Fsoft 78 4.1 Giới thiệu công ty Fsoft 78 4.2 Một số nguyên tắc chung khâu kiểm thử phần mềm Fsoft 79 4.2.1 Lý để công ty áp dụng kiểm thử 79 4.2.2 Khái niệm QA-QC 79 4.2.3 Một số điều kiện đưa kiểm thử FSoft 80 4.2.4 Những kỹ mà kiểm thử viên (tester) cần phải có 80 4.2.5 Các quy định ý nghĩa kiểm thử 80 4.2.6 Kiểm thử cần có đầu vào đầu hợp lý 81 4.2.7 Quá trình kiểm thử cần thực theo mô hình vòng lặp 83 4.2.8 Giới thiệu số công cụ sử dụng để kiểm thử Fsoft 83 4.2.9 Kịch lỗi (defect) 84 4.2.10 Sự áp dụng kỹ thuật kiểm thử Fsoft 85 4.2.11 Xây dựng tài liệu kiểm thử 88 4.2.12 Quản lý thay đổi quản lý điều khiển 88 4.3 Tổng kết khảo sát 90 Các tài liệu tham khảo 91 Nhóm 01- Lớp công nghệ phần mềm K52 Page Báo cáo Đại cương Công nghệ phần mềm Lời nói đầu Hiện nay, kiểm thử phần mềm đóng vai trò quan trọng định thành công sản phẩm phần mềm Có số phần mềm không thông qua khâu kiểm thử kiểm thử sơ sài nên sử dụng họ phải chịu nguy lớn bị khách hàng kiện phần mềm bị lỗi mà chưa phát thiết kế Một câu hỏi đặt cho nhà quản lý dự án xây dựng phần mềm làm để trình kiểm thử diễn hiệu nhất, phát lỗi nghiêm trọng kịp thời sửa chữa? Với mong muốn tìm hiểu phương pháp thiết kế quy trình kiểm thử tốt, nhóm 01 chúng em xin lựa chọn đề tài “Những kỹ thuật kiểm thử phần mềm” Chúng em xin chân thành cảm ơn thầy Lương Mạnh Bá, thầy giúp chúng em có kiến thức tảng để nghiên cứu đề tài Do lần nhóm làm việc nên chúng em không tránh khỏi sai sót Chúng em mong thầy bạn đọc chia sẻ góp ý để giúp tài liệu ngày hoàn thiện Nhóm chúng em gồm thành viên: PHÂN CÔNG CÔNG VIỆC Họ tên Phan Đăng Hưng Nguyễn Thị Thanh Vi MSSV 20071484 20073430 Công việc Liên hệ Tìm hiểu số công cụ kiểm thử 0983193089 khảo sát quy trình kiểm thử công ty (PDHung3012@g phần mềm Fsoft mail.com) Tìm hiểu số công cụ kiểm thử 01688329541 khảo sát quy trình kiểm thử công ty phần mềm Fsoft Nguyễn Trung Hiếu 20073653 Tìm hiểu kỹ thuật chiến lược kiểm 0936949145 thử phần mềm Lê Văn Huân 20071295 Tìm hiểu kỹ thuật chiến lược kiểm 0168213395 thử phần mềm Hà Nội, ngày 22-10-2010 Nhóm 01- Lớp công nghệ phần mềm K52 Page Báo cáo Đại cương Công nghệ phần mềm hần 1: iới thiệu kỹ thuật chiến lƣợc kiểm thử phần mềm Toàn nội dung phần nhóm chúng em tìm hiểu dịch lại từ sác (A practical of Software Engineering- PAOSE) tác giả R.Pressman tái lần thứ Các kỹ thuật kiểm thử phần mềm Sự phát triển hệ thống phần mềm bao gồm chuỗi qui trình mà khả có sai sót người cao Các lỗi xảy từ bắt đầu tiến trình đối tượng khai báo Bởi đảm bảo tính hoàn hảo phần mềm, phát triển phần mềm kèm với hoạt động đảm bảo chất lượng Kiểm thử phần mềm thành phần chủ chốt bảo đảm chất lượng phần mềm Kiểm thử tiến trình (và nghệ thuật) nhằm phát lỗi việc xem xét lại đặc tả, thiết kế mã hoá Kiểm thử mấu chốt đảm bảo chất lượng phần mềm Sự tăng lên trông thấy phần mềm hệ thống mát phần mềm không hoạt động kích thích cho việc phải có kiểm thử hoàn hảo, tổ chức tốt Là bất thường tổ chức phát triển phần mềm sử dụng tới 30 đến 40% toàn dự án cho kiểm thử Thực tế, thời gian cho công việc kiểm thử lên tới đến lần tất bước phát triển phần mềm lại! Trong phần này, thảo luận đặc điểm cở kiểm thử phần mềm kỹ thuật thiết kế ca kiểm thử (test case – TC) Thiết kế ca kiểm thử tập trung vào tập kỹ thuật cho việc tạo ca kiểm thử bao trùm lên toàn mục đích cần kiểm thử Trong phần 2, chiến lược kiểm thử debug phần mềm giới thiệu 1.1 ác khái niệm Kiểm thử điều thú vị Trong suốt hoạt động phát triển phần mềm từ trước đó, kỹ sư xây dựng phần mềm từ khái niệm trừu tượng tới sản phẩm hoàn thiện Bây công việc kiểm thử Kỹ sư xây dựng chuỗi ca kiểm thử nhằm đánh đổ phần mềm xây dựng Thực tế, kiểm thử bước trình phát triển phần mềm mà xem bước phá hoại bước tạo dựng Nhóm 01- Lớp công nghệ phần mềm K52 Page Báo cáo Đại cương Công nghệ phần mềm Các kỹ sư phần mềm người muốn xây dựng, không muốn phá hoại Kiểm thử đòi hỏi người phát triển loại bỏ nhận thức trước phần mềm xác vừa phát triển cố gắng tìm lỗi cách khách quan 1.1.1 ục đích kiểm thử Mục đích kiểm thử để tìm cách có hệ thống tầng lỗi khác thực điều với lượng thời gian công sức Nếu kiểm thử thực thành công, tức tìm lỗi phần mềm Lợi ích thứ hai kiểm thử chức phần mềm thực với điều kiện cụ thể, thuộc tính yêu cầu thực thi xuất Thêm vào đó, liệu thu thập từ kiểm thử cung cấp ngầm định tin cậy phần mềm chất lượng phần mềm Nhưng kiểm thử lỗi đâu, chi phần mềm có lỗi Đây điều cần ghi nhớ kiểm thử 1.1.2 guyên tắc kiểm thử Trước ứng dụng phương pháp để thiết kế ca kiểm thử hiệu quả, kỹ sư phần mềm cần hiểu nguyên tắc kiểm thử Các nguyên tắc là: Mọi kiểm tra nên đƣợc dò vết từ yêu cầu khách hàng Như ta thấy, mục đích kiểm thử để phát lỗi Nó kéo theo hầu hết lỗi nghiêm trọng (từ quan điểm khách hàng) lỗi làm cho dự án thất bại đối chiếu với yếu cầu khách hàng Các kiểm tra cần đƣợc lên kế hoạch chu đáo trƣớc bắt đầu Lên kế hoạch kiểm thử (Chương 18) bắt đầu mô hình yêu cầu hoàn thành Định nghĩa chi tiết ca kiểm thử bắt đầu thiết kế mô hình hoàn tất Do đó, kiểm tra lên kế hoạch thiết kế trước bắt đầu code Nguyên tắc Pareto ứng dụng cho kiểm thử phần mềm Nói ngắn gọn, nguyên tắc Pareto cho 80% lỗi bắt thông qua kiểm thử dò vết từ 20% thành phần chương trình Tất nhiên, vấn đề tách thành phần riêng biệt cần kiểm tra chu đáo chúng Kiểm thử nên thành phần nhỏ dần tới thành phần lớn Nói chung, kiểm thử lên kế hoạch thực thi thành phần nhỏ lẻ Trong trình kiểm thử, tập trung vào kiểm thử tích hợp kiểm thử toàn hệ thống Kiểm thử thấu đáo Số lượng hoán vị tính toán cho chí chương trình kích cỡ vừa lớn (xem 17.2) Do đó, thực thi tổ hợp kiểm tra Tuy nó, xem xét cấu trúc logic chương trình để đảm bảo Nhóm 01- Lớp công nghệ phần mềm K52 Page Báo cáo Đại cương Công nghệ phần mềm điều kiện thiết kế mức thành phần thỏa mãn ể đƣợc kết tốt nhất, kiểm thử nên đƣợc đạo bên thứ ba độc lập Như nói, kỹ sư phần mềm làm hệ thống người tốt để thực việc kiểm thử hệ thống 1.1.3 kiểm thử Trong hoàn cảnh lý tưởng, kỹ sư phần mềm thiết kế chương trình, hệ thống, hay sản phẩm với khả kiểm thử kèm Điều cho phép cá nhân khác thiết kế ca kiểm thử dễ dàng Vậy khả kiểm thử gì? Đó đơn giản dễ dàng chương trình kiểm thử Đôi nhà lập trình giúp đỡ cho trình kiểm thử cách đưa danh sách đánh dấu điểm mấu chốt thiết kế, tính năng, …, hữu ích cho trình kiểm thử Danh sách đánh dấu cung cấp tập tính chất dẫn tới phần mềm kiểm thử Khả hoạt động Hệ thống có lỗi kỹ thuật Không có lỗi kỹ thuật làm ngưng thực thi kiểm thử Sản phẩm phân chia thành tầng chức Khả quan sát Đầu khác tạo từ đầu vào Các trạng thái hệ thống biến hiển thị truy vấn trình thực thi Các trạng thái hệ thống cũ biến hiển thị truy vấn Mọi nhân tố ảnh hưởng tới đầu hiển thị Các đầu sai phát dễ dàng Các lỗi bên tự động phát thông qua chế tự kiểm tra Các lỗi bên tự động báo cáo Khả kiểm soát Mọi đầu tạo thông qua tổ hợp đầu vào Mọi code thực thi thông qua số tổ hợp đầu vào Nhóm 01- Lớp công nghệ phần mềm K52 Page Báo cáo Đại cương Công nghệ phần mềm Các trạng thái phần mềm phần cứng biến điều khiển trực tiếp kỹ sư kiểm thử Dạng đầu vào đầu thống Các kiểm thử tự động, tự tái tạo, chuyên môn hóa cách thuận tiện Khả phân tích đƣợc Hệ thống phần mềm xây dựng từ module độc lập Module phần mềm kiểm thử độc lập Sự đơn giản Chức đơn giản, nghĩa tập tính phải thỏa mãn yêu cầu tối thiểu yêu cầu Cấu trúc đơn giản, nghĩa kiến trúc modul hóa để giới hạn lan truyền lỗi Code đơn giản, nghĩa chuẩn code áp dụng cho dễ dàng bảo trì kế thừa Tính bền vững Các thay đổi tới phần mềm không thường xuyên Các thay đổi tới phần mềm kiểm tra Các thay đổi tới phần mềm không không thỏa mãn ca kiểm thử có Phần mềm phục hồi tốt bị hỏng Khả hiểu đƣợc Thiết kễ phải dễ hiểu Sự phụ thuộc bên trong, bên thành phần chung phải dễ hiểu Các thay đổi tới thiết kế thông báo Tài liệu kỹ thuật truy cập Tài liệu kỹ thuật tổ chức tốt Tài liệu kỹ thuật rõ ràng chi tiết Tài liệu kỹ thuật xác Thế kiểm thử? Các tính chất kiểm thử tốt là: Một kiểm thử tốt có khả cao tìm lỗi Để đạt điều này, người kiểm thử phải hiểu phần mềm thử phát triển viễn cảnh phần mềm hỏng Lý tưởng tập lớp lỗi xây dựng Ví dụ, lớp lỗi tiềm tàng GUI thất bại nhận diện vị trí chuột phù hợp Một tập Nhóm 01- Lớp công nghệ phần mềm K52 Page 10 Báo cáo Đại cương Công nghệ phần mềm Với a=2, b=-3 expected=5, kết cho giá trị (a-b+1), qua trình kiểm thử đơn vị phát lỗi hàm ƣớc 6: Sau phát lỗi, chữa lại định nghĩa hàm trừ trả giá trị a-b, kết trình kiểm thử Hàm Tru() thẩm định 3.3 Kết luận Những công cụ kiểm thử chúng em số nhiều công cụ kiểm thử hay dùng Dựa vào công cụ này, việc kiểm thử chương trình thực tốt với số ca kiểm thử (test case) đưa tự động Tuy nhiên, để kiểm thử có hiệu quả, đội tester cần tự thiết kế test case hợp lý công cụ test hỗ trợ thiết kế test case trường hợp sở Tóm lại, vài trò người kiểm thử phần mềm quan trọng Nhóm 01- Lớp công nghệ phần mềm K52 Page 77 Báo cáo Đại cương Công nghệ phần mềm Khảo sát quy trình kiểm thử phần mềm công ty Fsoft Trong thời gian vừa qua, nhóm chúng em tiến hành khảo sát quy trình kiểm thử phần mềm công ty Fsoft Sau em xin đưa báo cáo giới thiệu sơ lược công ty giới thiệu số kỹ thuật kiểm thử áp dụng công ty 4.1 Giới thiệu công ty Fsoft a Sơ lược công ty: - Tên đầy đủ: FPT Software - Website: http://fpt-software.com ịa chỉ: FPT Building, Pham Hung St., Cau Giay District, Hanoi, Vietnam iện thoại/Fax: Tel.: +84 (4) 768 9048 / Fax: +84 (4) 768 9049 Giới thiệu chung công ty: FPT Software nhà cung cấp dịch vụ gia công phần mềm Việt Nam Với đội ngũ nhân lực trẻ trung có khả khu vưc, công ty cung cấp dịch vụ chất lượng cao: o Phát triển phần mềm bảo trì, giải pháp ERP kiểm tra đảm bảo chất lượng Embedded Systems, nhiều dịch vụ khác o Ngoài ra, công ty tham gia vào nhiều lĩnh vực khác Ngân hàng & Tài chính, Viễn thông, chế tạo, bảo hiểm, Chính phủ công cộng, bán lẻ, sở hạ tầng, dịch vụ tiện ích b Giới thiệu người vấn: Ngày khảo sát Khảo sát viên 7/10/2010 Phan Đăng Hưng- sinh viên lớp Công nghệ phần mềm K52 Nhóm 01- Lớp công nghệ phần mềm K52 Công ty Người vấn FPT software Chị Lê Thị Vân Anh- nhân viên phòng nhân (AnhLTV@fsoft.com.vnTel: +84 0983 406 879) Page 78 Báo cáo Đại cương Công nghệ phần mềm Ngày update Không Version 1.0 4.2 Một số nguyên tắc chung khâu kiểm thử phần mềm Fsoft Trong thời gian tìm hiểu số quy trình kiểm thử phần mềm Fsoft, nhóm rút nguyên tắc khâu kiểm thử phần mềm công ty 4.2.1 Lý để công ty áp dụng kiểm thử Hiện nay, nước ta, kiểm thử khâu trọng nhiều công ty nước ta Hiện nay, có hai công ty lớn Fsoft CMC quan tâm đến khâu Khi vấn câu hỏi Fsoft lại trọng đến khâu kiểm thử cho số cán công ty, nhóm thu ý kiến : Vì phần mềm hay mắc lỗi Để hiểu độ tin cậy phần mềm Để tìm hiểu khoảng thời gian vận chuyển phần mềm thời gian xuất sản phẩm Để chứng minh phần mềm lỗi Để đưa kiểm thử vào kế hoạch project Bởi sai lầm thường phải trả giá đắt Để phòng ngừa nguy bị kiện lỗi phần mềm Để tăng khả cạnh tranh 4.2.2 Khái niệm QA-QC a Khái niệm QA: Quality Assurance (đảm bảo chất lượng) b Khái niệm QC: Quality Control (điều khiển chất lượng) c Một số nguyên tắc chung QA QC Nhiệm vụ QA phòng ngừa lỗ hổng Nhiệm vụ QC phát lỗ hổng Testing nhiệm vụ QC Ngăn chặn thường chi phí thấp phòng ngừa Xác nhận thẩm định (validation & verification) d Ta cần phân biệt rõ ràng xác nhận (validation) thẩm định (verification) - Xác nhận: đảm bảo hệ thống hoạt động theo kế hoạch xử lý.Quá trình xác nhận trả lời cho câu hỏi: có xây dựng hệ thống theo yêu cầu khách hàng không? - Thẩm định: phương pháp đảm bảo hệ thống phục vụ theo chuẩn quốc tế .Quá trình thẩm định trả lời cho câu hỏi: Chúng ta xây dựng hệ thống hợp lệ hay không ? Thông thường, thẩm định thực đội quản lý dự án Nhóm 01- Lớp công nghệ phần mềm K52 Page 79 Báo cáo Đại cương Công nghệ phần mềm Như vậy, nhiệm vụ người kiểm thử phần mềm QC(quản lý chất lương phần mềm) kiểm tra xem phần mềm thực theo chuẩn hay chưa 4.2.3 Một số điều kiện đƣợc đƣa kiểm thử FSoft Kiểm thử kèm theo quản lý phát triển tiến trình Kiểm thử kèm theo hoạt động điều kiện điều khiển hệ thống/ứng dụng điều kiện điều khiển tính toán kết o Các tình điều khiển = bình thường+bất thường Hủy bỏ sản phẩm: cố tình làm cho sản phẩm chạy sai nếu: o Mọi thứ hoạt động mà không nên làm o Hoặc thứ ko hoạt động đáng phải xử lý Kiểm định chất lượng sản phẩm cà chất lượng người lập trình Một chu trình kiểm thử trình mà sản phẩm kiểm thử lỗ hong phát Trước công bố, sản phẩm phải qua nhiều vòng kiểm thử để xác nhận chất lượng sản phẩm Một trình kiểm thử thành công hay thất bại đánh giá dựa theo khả thực thành công điều kiện vừa nêu 4.2.4 Những kỹ mà kiểm thử viên (tester) cần phải có Một người kiểm thử viên đào tạo kỹ sau đây: Kỹ theo dõi Kỹ truyền đạt với Kỹ chuyên môn kỹ thuật Sự tự tin Kiên nhẫn, kiên trì Có đầu óc hoài nghi Năng động Đây yêu cầu quan trọng tester để hoàn thành xuất sắc công việc cảu 4.2.5 ác quy định ý nghĩa kiểm thử Trong tiến hành kiểm thử, người kiểm thử phải tuân theo: Các bước kiểm thử cần lưu vết Kiểm thử cần phải có kế hoạch rõ ràng Kiểm thử cần phải mức nhỏ phát triển thành lớn dần Không tồn phép kiểm thử toàn diện Kiểm thử nên kết hợp thành phần thứ Nhóm 01- Lớp công nghệ phần mềm K52 Page 80 Báo cáo Đại cương Công nghệ phần mềm Hiểu yêu cầu khách hàng: o Nhận biết khách hàng cần o Nhận biết khách hàng tiềm o Nhận biết hpatj động hay dùng đến khuôn mẫu o Dành ưu tiên cho kiểm thử module Chi phí phần mềm bao gồm: Chi phí đào tạo, chi phí xem lại sản phẩm, chi phí kiểm thử chi phí sửa lỗi Lỗi bị phát muộn chi phí sửa chữa lớn Bảng ước lượng chi phí lỗi xuất phát giai đoạn Chính vậy, song song với bảo trì, kiểm thử phần mềm khâu quan trọng giúp chung ta tối ưu hóa chi phí xây dựng phần mềm 4.2.6 Kiểm thử cần có đầu vào đầu hợp lý a ầu vào đầu chuẩn đƣợc đƣa từ yếu tố nhƣ: Input: o Yêu cầu khách hàng tiêu chuẩn cho phép o Tài liệu đặc tả yêu cầu o Văn thiết kế o Các module chương trình Nhóm 01- Lớp công nghệ phần mềm K52 Page 81 Báo cáo Đại cương Công nghệ phần mềm Output: o Các tài liệu kiểm thử: Kế hoạch kiểm thử, pha kiểm thử o Các lỗ hổng văn quản lý hệ thống o Kết kiểm thử b Thành phần tham gia đội test (test team) Thông thường, nhóm người kiểm thử (tester) có nhóm trưởng (test leader) Nhóm trưởng chịu trách nhiệm báo cáo đến ban quản lý dự án (project leader) ban quản lý chất lượng phần mềm (Software Quantity Assurance) Nhóm trưởng nhận hỗ trợ đội phụ trách hạ tầng c Nhiệm vụ tester sau nhận yêu cầu đầu vào: - Học tập từ yêu cầu: từ yêu cầu, tester phải nhận cần kiểm thử; liệu có phải thứ rõ ràng chi tiết hay chưa xác định yêu cầu bất khả thi Sau họ lập kế hoạch test (test plan) - Xem xét lại/ học DDD (Data Display Debugger):Xác định nội dung yêu cầu phần mềm.Xác định chức hệ thống, tkạo test case & test data - Xây dựng test case: Để bao phủ chức sản phẩm người tiêu dùng sử dụng phải thiết kế trường hợp kiểm thử Kiểm thử thay đổi phát triển phần mềm đặc tính đời thành phần bên phần mềm thay đổi - Các defect: Defects kịch làm cho sản phẩm ném lỗi thực yêu cầu mong đợi.Tester cần lưu lại thông tin defect để đảm bảo yêu cầu Thông thường, quy trình kiểm thử tuân theo bước xử lý: lập kế hoạch test, chuẩn bị test, xử lý test phân tích liệu Trong đó, lập kế hoạch bước xác định Nhóm 01- Lớp công nghệ phần mềm K52 Page 82 Báo cáo Đại cương Công nghệ phần mềm yêu cầu khách hàng số yêu cầu thực khác Sau đó, trình kiểm thử chuẩn bị ba giải đoạn: đặc tả thiết kế, đặc tả yêu cầu lập kế hoạch kiểm thử Quá trình thực thi test bao gồm xây dựng trường hợp kiểm thử, kịch kiểm thử liệu kiểm thử Kết thu chuyển qua bước phân tích liệu để đánh giá độ đảm bảo phần mềm 4.2.7 Quá trình kiểm thử cần đƣợc thực theo mô hình vòng lặp Để đảm bảo trình kiểm thử đạt hiệu cao, thông thường người ta thường tiến hành nhiều vòng kiểm thử (testing cicycle-life) để phát lỗi Sơ đồ vòng kiểm thử 4.2.8 Giới thiệu số công cụ đƣợc sử dụng để kiểm thử Fsoft Quan giai đoạn, kiểm thử cần có công cụ khác để giúp trình diễn nhanh Sau số công cụ sử dụng Fsoft Lập kế hoạch kiểm thử: MS Excel Kiểm thử ngôn ngữ kịch bản: Rational Visual Test 6.0 Kiểm thử quản lý kịch lỗi: DMS Kiểm thử đồ họa: Virtual Ruler, Eye Dropper Kiểm thử chức năng: Rational Robot Test Kiểm thử khả thực thi: Rational Load Test Tùy theo dự án mà công cụ sử dụng không sử dụng: Nhóm 01- Lớp công nghệ phần mềm K52 Page 83 Báo cáo Đại cương Công nghệ phần mềm Đánh giá chị Vân Anh công cụ: TestTrack Pro: tool quản lý defect, thường khách hàng mua Fsoft sử dụng chung với khách hàng để quản lý defects tìm DMS for Defect management: tool quản lý defect Fsoft viết Hầu hết dự án fsoft dùng tool Rational Robot Functional test tool: dùng có yêu cầu automation test Rational Performance test tool: dùng có yêu cầu automation test Virtual Ruler and Eye Dropper for Graphic test: có dự án dùng, có dự án không, tùy yêu cầu 4.2.9 Kịch lỗi (defect) Kịch lỗi kịch theo kịch đó, chương trình thực không với yêu cầu Để giải kịch lỗi (defect tracking) cần thực bốn bước: nhận diện lỗi (logging defect), phân tích lỗi (analyzing defect), sửa lỗi (correcting defect) kiểm thử lại lỗi Mô tả nhiệm vụ bốn bước trình xử lý kịch lỗi: logging, analyzing, corecting retesting Một dòng xử lý lỗi thông thường bao gồm: Phát triển sản phẩm đưa biên phát triển đến tester Tester test sản phẩm thu thập kịch lỗi Các kịch lỗi đưa vào DMS đưa lại cho người phát triển Các kịch lỗi chữa lại đưa trở lại kiểm thử Nhóm 01- Lớp công nghệ phần mềm K52 Page 84 Báo cáo Đại cương Công nghệ phần mềm Vòng lặp kiểm thử kéo dài từ đến lần lỗi sửa hoàn toàn Người quản trị dự án thu thập số kịch lỗi DMS đưa vào báo cáo hàng tuần để tiến hành xử lý đưa kết pha kiểm thử project Ta phân loại kịch dựa theo: o o o o o Kiểu kịch lỗi Khả khác phục Loại sản phẩm Các hoạt động điều khiển chất lượng Các kịch lỗi sở 4.2.10.Sự áp dụng kỹ thuật kiểm thử Fsoft a Kỹ thuật kiểm thử hộp trắng (white box testing) hộp đen (black box testing) Kiểm thử hộp trắng: phương pháp sử dụng cấu trúc điều khiển việc thiết kế thủ tục để tạo ca kiểm thử Ưu điểm phương pháp llaf kiểm tra tất đường độc lập module Kiểm thử hộp đen: Đây phương pháp kiểm thử dựa vào yêu cầu chức phần mềm Dựa vào tập điều kiện đầu vào đưa tất yêu cầu chức cho chương trình Thông thường có lỗi sau phát hiện: o Thiếu thủ tục cần thiết o Lỗi giao diện o Lỗi cấu trúc liệu truy nhập sở liệu o Lỗi thực thi chức Kiểm thử hợp trắng đề cập đến vấn đề cấu trúc bên chương trình Nhóm 01- Lớp công nghệ phần mềm K52 Page 85 Báo cáo Đại cương Công nghệ phần mềm Kiểm thử hộp đen kiểm thử xem chương trình đáp ứng yêu cầu người dùng Quá trình kiểm thử tiến hành cho bược thực chiến lược kiểm thử khác nhau.Mỗi bước kiểm thử sinh hai tài liệu liên quan document ( Các văn review) Aplication (Code review, test) b Có bốn loại kiểm thử áp dụng cho pha: Kiểm thử đơn vị: dùng để kiểm tra module Kiểm thử tích hợp: để kiểm tra hiệu tích hợp module Thông thường kiểm thử tích hợp kiểm thử chức giao diện Kiểm thử hệ thống: So sánh với SRS để kiểm tra toàn hệ thống làm việc có mong đợi khồng Kiểm thử chấp nhận: Trong bước khách hàng xác định rõ họ cần yêu cầu cần xây dựng Mục đích kiểm thử chấp nhận không tìm kịch lỗi Nhóm 01- Lớp công nghệ phần mềm K52 Page 86 Báo cáo Đại cương Công nghệ phần mềm Các chiến lược kiểm thử áp dụng cho bước phân tích thiết kế hệ thống phần mềm c Các loại kiểm thử: Một phần mềm thông thường FSoft kiểm thử về: Kiểm thử chức Kiểm thử giao diện Kiểm thử khả thực hiện: Kiểm thử yêu cầu đặc tả tính thực thi Kiểm thử liệu toàn vẹn liệu Kiểm thử bảo mật điều khiển truy nhập Kiểm thử load Kiểm thử stress Kiểm thử volume Kiểm thử hồi quy Kiểm thử cài đặt d ác sở kiểm thử Quá trình kiểm thử dựa yêu tố: Môi trường kiểm thử Tài liệu kiểm thử Nhóm 01- Lớp công nghệ phần mềm K52 Page 87 Báo cáo Đại cương Công nghệ phần mềm Quản lý cấu hình điều khiển thay đổi Trong số đó, môi trường kiểm thử bao gồm: Hệ thống module cần kiểm thử, tài liệu đặc tả kiểm thử test case, liệu kiểm thử Cần trì độc lập môi trường kiểm thử môi trường phần mềm 4.2.11.Xây dựng tài liệu kiểm thử Tài liệu kiểm thử bao gồm: kế hoạch kiểm thử (test plan), ca kiểm thử (test case), liệu kiểm thử Văn kiểm thử gồm có ba mục chính: Test plan: Mục đích: để tổ chức hoạt động test Mô tả: Phạm vi test: Các bối cảnh thể loại test Các nguy ảnh hưởng đến kiểm thử Các yêu cầu để test Chiến lược kiểm thử Các trạng thái kiểm thử (bắt đầu, dừng, ngưng, hoàn thành) Các công cụ sử dụng để test Nguồn môi trường kiểm thử Khả khắc phục Test case: Xây dựng test case từ use case Mô tả: - Đặc tả test case: thông qua luồng luồng đặc biệt - Chuẩn bị thủ tục test: Các điều kiện kiểm thử cần có, chuẩn bị hành động tác nhân, cung cấp liệu đầu vào, công bố kết mong đợi Có ba loại test case chính: Normal case, Abnormal case, boundary value Test data: Đưa thông tin chi tiết liệu đưa vào Kết kiểm thử: Mô tả: - Test case ID - Output - Kết quả: Pass(thành công) fail (không thành công) 4.2.12 Quản lý thay đổi quản lý điều khiển Nhóm 01- Lớp công nghệ phần mềm K52 Page 88 Báo cáo Đại cương Công nghệ phần mềm Ở đây, người kiểm thử cần biết rõ đoạn mã nguồn thay đổi để kiểm thử Một số yêu cầu thay đổi đưa : a Thay đổi TP: Thay đổi kiểu test thời gian test Thay đổi TC: thay đổi test case tùy theo yêu cầu thay đổi Lưu giữ thông tin thay đổi Test ngược trở lại theo test case thay đổi Kiểm thử thích hợp thay đổi phần mềm theo chiến lược kiểm thử hồi quy o lƣờng test Chúng ta đo lường vê tiêu chí sau: Các kịch lỗi DMS; Các khả lỗi, độ bao phủ kiểm thử tỉ lễ thành cong test Các độ đo đưa vào để đánh giá độ hiệu tester: hiệu test độ đo kẽ hở test Hiệu test đượctính công thức lấy số lượng kịch lỗi chia cho số đánh giá nỗ lực test, độ đo kẽ hở số kịch lỗi phát sau sản phẩm công bố chia cho kích thước sản phẩm b Kiểm thử ứng dụng web Khi tiến hành kiểm thử ứng dụng web, tất thành phần bên client server kiểm thử Cụ thể hơn, kiểm thử ứng dụng web bao gồm kiểm thửu hợp lệ chức kiểm thử, kiểm tra tính công nhận chức test, kiểm thử áp dụng chuẩn HTML, kiểm thử đường link, kiểm thử load test, kiểm thử tính bảo mật, kiểm thử hồi quy Khi kiểm thử, gặp số khó khăn Đầu tiên, chugns ta kiểm tra hết tất khả tất xảy đến với hệ thống Chúng ta kiểm thử vất tất đặc điểm khách hàng yêu cầu, yêu cầu môi trường Ngoài ra, chọn công cụ để kiểm thử load kiểm thử volume, trình kiểm thử bị ảnh hưởng xấu Để giải vấn đề này, cần xác định nên tập trung vào kiểm thử dựa vào phạm vi tài ràng buộc thời gian Hơn nữa, trước kiểm thử ta cần phân tích rõ khả xấu đánh giá độ ưu tiên ca kiểm thử dựa vào phân tích khả xấu Một số nguy xảy kiểm thư cần phân tích là: Chúc quan trọng theo yêu cầu khách hàng? Chức phổ cập ? Ở miền liệu dễ xảy không yêu cầu khách hàng nhất? Phần ứng dụng dẫn đến nguy cấp an toàn bảo mật? Nhóm 01- Lớp công nghệ phần mềm K52 Page 89 Báo cáo Đại cương Công nghệ phần mềm 4.3 Tổng kết khảo sát Qua khảo sát công ty Fsoft, chúng em tìm hiểu nguyên lý bản, điều kiện cần có hay số quy tắc kiểm thử công ty Tuy nhiên thời gian có hạn chưa phải thành viên, nên thu hoạch chúng em tồn mức tổng quan, chưa sâu vào phần mềm cụ thể Trong kì tiếp theo, học môn học kiểm thử phần mềm chúng em xin thực tập thời gian công ty để tìm hiểu kỹ quy trình kiểm thử Nhóm 01- Lớp công nghệ phần mềm K52 Page 90 Báo cáo Đại cương Công nghệ phần mềm ác tài liệu tham khảo Roger S.Pressman Software Engineering, a Practitioner’s Approach 5th Edition, McGraw-Hill, 2000 Sommerville I., Software engineering - 4th, Addison Wesley, 1995 Giáo trình công nghệ phần mềm (ebook dùng file đính kèm) Thạc Bình Cường, Nhập môn Công nghệ phần mềm, Nhà xuất Khoa học Kỹ thuật, 2002 Lương Mạnh Bá, Tài liệu Cơ sở công nghệ phần mềm, Nhà xuất Khoa học Kỹ Thuật, 2010 Slide mô tả qui trình kiểm thử công ty Fsoft Vietnam Một số trang web tham khảo: - http://en.wikipedia.org/wiki/Test_automation (trang giới thiệu công cụ kiểm thử tự động Bách Khoa Toàn Thư) - http://www.vietnamesetestingboard.org/zbxe/?document_srl=394782 (trang web nhân viên kiểm thử làm việc Việt Nam) Nhóm 01- Lớp công nghệ phần mềm K52 Page 91 [...]... tả ở phần 1.3 là một trong số các kỹ thuật kiểm thử cấu trúc điều khiển Mặc dù kiểm thử phần nền tảng là đơn giản và hiệu quả cao, nhưng nó không đầy đủ Trong phần này, các kỹ thuật khác của kiểm thử cấu trúc điều khiển được thảo luận Các kiểm thử bổ sung này tăng cường chất lượng cho kiểm thử hộp trắng 1.4.1 iểm thử điều kiện Kiểm thử điều kiện là một phương pháp thiết kế ca kiểm thử thực thi các điều... nhìn hoàn chỉnh về các giải thuật có thể được ứng dụng trong ma trận đồ thị Với các kỹ thuật đó, phân tích cần thiết cho thiết kế kiểm thử có thể từng phần hoặc hoàn toàn tự động 1.4 iểm thử cấu trúc điều khiển Nói chung, cách tạo các bộ giá trị kiểm thử để kiểm thử được 100% các trường hợp có thể xảy ra với một chương trình gọi là kỹ thuật kiểm thử theo luồng điều khiển Kỹ thuật kiểm thử theo lộ trình... đầu vào sẽ thực hiện tất cả các yêu cầu chức năng cho một trương trình Kiểm Nhóm 01- Lớp công nghệ phần mềm K52 Page 28 Báo cáo Đại cương Công nghệ phần mềm thử hộp đen không phải là một thay thế cho kiểm thử hộp trắng Đúng hơn, nó là một phương pháp bổ sung để phát hiện các lớp lỗi khác nhau thích hợp hơn kiểm thử hộp trắng Kiểm thử hộp đen sẽ thử tìm các lỗi theo các theo các loại sau: (1) không chính... Từ các câu lệnh trong một chương trình liên kết với nhau lại theo định nghĩa và sử dụng của các biến, phương pháp kiểm thử luồng dữ liệu hiệu quả cho phát hiện lỗi Tuy Nhóm 01- Lớp công nghệ phần mềm K52 Page 27 Báo cáo Đại cương Công nghệ phần mềm nhiên, vấn đề đo lường bao phủ kiểm thử và chọn hướng kiểm thử cho kiểm thử luồng dữ liệu khó khăn hơn so với kiểm thử điều kiện 1.4.3 iểm thử vòng lặp Kiểm. .. các vòng lặp không độc lập, phương pháp áp dụng cho các vòng lặp lồng nhau được khuyến khích Các vòng lặp không có cấu trúc Bất cứ khi nào có thể, các vòng lặp dạng này nên được thiết kế lại để đưa về dạng có cấu trúc 1.5 iểm thử hộp đen Kiểm thử hộp đen, còn gọi là kiểm thử hành vi, tập trung vào các yêu cầu chức năng của phần mềm Tức là, kiểm thử hộp đen cho pháp các kỹ sư phần mềm thu thập tập các. .. Công nghệ phần mềm Kiểm thử phần 2: value(1) = -999 Kết quả mong muốn: average = -999; các biến khác ở giá trị mặc định Kiểm thử phần 3: Thử xử lý 101 hoặc nhiều giá trị hơn 100 giá trị cần được xác thực Kết quả mong muốn: như ca kiểm thử 1 Kiểm thử phần 4: value(i) = đầu vào hợp lệ với value(k) < giá trị nhỏ nhất với Kết quả mong muốn: trung bình đúng dựa trên k giá trị và tổng Kiểm thử phần 5: value(i)... kiểm thử DU Các chiến lược kiểm thử luồng dữ liệu hữu ích cho việc lựa chọn phần kiểm thử của một chương trình chứa mệnh đề if và loop suy biến Để minh họa điều này, xem xét một ứng dụng kiểm thử DU để chọn hướng kiểm thử cho PDL như sau: Nhóm 01- Lớp công nghệ phần mềm K52 Page 26 Báo cáo Đại cương Công nghệ phần mềm Để áp dụng chiến lược kiểm thử DU trong lựa chọn hướng kiểm thử của lược đồ điều khiển... Công nghệ phần mềm kiểm thử cần được thiết kế để làm việc với con chuột trong sự cố gắng tìm kiếm lỗi nhận diện ví trí con chuột 2 Một kiểm thử tốt không dƣ thừa Thời gian kiểm thử và tài nguyên bị giới hạn Không có lý do nào trong việc dựng một kiểm thử có cùng một mục đích như một kiểm thử khác Mỗi kiểm thử nên có một mục đích riêng (thậm chí nó chỉ khác nhau chút ít) Ví dụ, một modulle phần mềm SafeHome... (vd, biến đếm) Thêm các kiểm thử khác cho các giá trị vượt ra khỏi phạm vi hay bị loại trừ 3 Đi ra ngoài, tiến hành kiểm thử cho các vòng lặp tiếp theo, nhưng giữ tất cả các vòng lặp bên ngoài vòng lặp đó ở giá trị tối thiểu và các vòng lặp bên trong ở các giá trị “điển hình” 4 Tiếp tục cho tới khi mọi vòng lặp được kiểm thử Vòng lặp nối tiếp Các vòng lặp nối tiếp có thể được kiểm thử sử dụng phương... 01- Lớp công nghệ phần mềm K52 Page 19 Báo cáo Đại cương Công nghệ phần mềm Hình 1.5 ồ thị luồng cho thủ tục average Kiểm thử phần 1: value(k) = giá trị hợp lên, k