Kiểm thử và đảm bảo chất lượng phần mềm

27 53 2
Kiểm thử và đảm bảo chất lượng phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG I: KIỂM THỬ PHẦN MỀM 1. Khái niệm. 2. Vai trò của kiểm thử phần mềm. 3. Các cấp độ trong kiểm thử phần mềm. 4. Quy trình kiểm thử phần mềm. 5. Phân loại kiểm thử phần mềm. 6. Các mức độ nghiêm trọng của lỗi 7. Ca kiểm thử 8. Kiểm thử tự động 9. Nguyên tắc quan trọng trong kiểm thử phần mềm. CHƯƠNG 2: KIỂM THỬ ỨNG DỤNG BẰNG CÔNG CỤ SELENIUM 1. Giới thiệu chung về Selenium 2. Cài đặt Selenium 3. Nhận xét về Selenium CHƯƠNG 3: BÀI TOÁN THỬ NGHIỆM   LỜI MỞ ĐẦU Kiểm thử phần mềm là một hoạt động giữ vai trò quan trọng để đảm bảo chất lượng phần mềm và là hoạt động mang tính sống còn trong các dự án sản xuất hoặc gia công phần mềm. Vì vậy, kiểm thử phần mềm đã trở thành quy tình bắt buộc trong các dự án phát triển phần mềm trên thế giới. Ở Việt Nam, ngành công nghiệp phần mềm đang phát triển thì không thể xem nhẹ việc kiểm thử phần mềm vì xác suất thất bại sẽ rất cao, hơn nữa, hầu hết các công ty phần mềm có uy tín đều đặt ra yêu cầu nghiêm ngặt là nếu một phần mềm không có tài liệu kiểm thử đi kèm thì sẽ không được chấp nhận. Tuy nhiên, hoạt động kiểm thử thường gặp nhiều khó khăn: Thứ nhất, kiểm thử các hệ thống phức tạp đòi hỏi rất nhiều nguồn tài nguyên và chi phí cao. Thứ hai, tiến trình phát triển phần mềm luôn trải qua nhiều hoạt động biến đổi thông tin, sự mất mát thông tin trong quá trình biến đổi là yếu tố chính làm cho hoạt động kiểm thử khó khăn. Thứ ba, kiểm thử chưa được chú trọng trong đào tạo con người. Cuối cùng, không tồn tại kỹ thuật kiểm thử cho phép khẳng định một phần mềm hoàn toàn đúng đắn hay không chứa lỗi. Với mục đích phát hiện lỗi, kiểm thử phần mềm thường trải qua các bước tạo dữ liệu thử, thực thi phần mềm trên dữ liệu thửu và quan sát kết quả nhận được. Trong các bước này, bước tạo dữ liệu đóng vai trò quan trọng nhất, bởi vì chúng ta không thể tạo ra mọi dữ liệu từ miền vào chương trình, mà chúng ta chỉ có thể tạo ra các dữ liệu thử có khả năng phát hiện lỗi cao nhất. Vấn đề đặt ra là làm thế nào để đánh giá được khả năng phát hiện lỗi của một bộ dữ liệu thử? Một kinh nghiệm để giúp giải quyết vấn đề này, đó là sử dụng khái niệm chất lượng bộ dữ liệu thử như là một phương tiện để đánh giá bộ dữ liệu thử như nào là “tốt” khi kiểm thử chương trình. Ở đây, “tốt” được đánh giá liên quan đến tiêu chuẩn chất lượng được định trước, thường là một số dấu hiệu bao phủ chương trình. Ví dụ, tiêu chuẩn bao phủ dòng lệnh đòi hỏi bộ dữ liệu thử thực hiện mọi dòng lệnh trong chương trình ít nhất 1 lần. Nếu bộ dữ liệu thử được tìm thấy không chất lượng liên quan đến tiêu chuẩn (tức là không phải tất cả các câu lệnh đều được thực hiện ít nhất 1 lần), thì kiểm thử nữa là bắt buộc. Do đó, mục tiêu tạo ra một tập các kiểm thử thực hiện đầy đủ tiêu chuẩn chất lượng. Tiêu chuẩn chất lượng tiêu biểu như bao phủ câu lệnh và kiểm thử quyết định (thực hiện tất cả các đường dẫn đúng và sai qua chương trình) dựa vào việc thực hiện chương trình với số lượng kiểm thử tăng dần để nâng cao độ tin cậy của chương trình đó. Tuy nhiên, chúng không tập trung vào nguyên nhân thất bại của chương trình – được gọi là lỗi. Kiểm thử đột biến là một tiêu chuẩn như vậy. Tiêu chuẩn này tạo ra các phiên bản của chương trình có chứa các lỗi đơn gian và sau đó tìm ra các kiểm thử để chỉ ra các dấu hiệu của lỗi. Nếu có thể tìm thấy một bộ dữ kiệu thử chất lượng làm lộ ra các dấu hiệu này ở tất cả các phiên bản bị lỗi, thì sự tin tưởng vào tính đúng đắn của chương trình sẽ tăng. Kiểm thử đột biến đã được áp dụng cho nhiều ngôn ngữ lập trình như là một kỹ thuật kiểm thử hộp trắng.

BỘ XÂY DỰNG TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO BÀI TẬP LỚN KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM NHÓM Giáo viên hướng dẫn: Nguyễn Thị Hạnh Hà Nội – 10/06/2021 MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG I: KIỂM THỬ PHẦN MỀM Khái niệm Vai trò kiểm thử phần mềm Các cấp độ kiểm thử phần mềm Quy trình kiểm thử phần mềm Phân loại kiểm thử phần mềm Các mức độ nghiêm trọng lỗi Ca kiểm thử Kiểm thử tự động Nguyên tắc quan trọng kiểm thử phần mềm CHƯƠNG 2: KIỂM THỬ ỨNG DỤNG BẰNG CÔNG CỤ SELENIUM Giới thiệu chung Selenium Cài đặt Selenium Nhận xét Selenium CHƯƠNG 3: BÀI TOÁN THỬ NGHIỆM LỜI MỞ ĐẦU Kiểm thử phần mềm hoạt động giữ vai trò quan trọng để đảm bảo chất lượng phần mềm hoạt động mang tính sống cịn dự án sản xuất gia cơng phần mềm Vì vậy, kiểm thử phần mềm trở thành quy tình bắt buộc dự án phát triển phần mềm giới Ở Việt Nam, ngành cơng nghiệp phần mềm phát triển khơng thể xem nhẹ việc kiểm thử phần mềm xác suất thất bại cao, nữa, hầu hết cơng ty phần mềm có uy tín đặt yêu cầu nghiêm ngặt phần mềm khơng có tài liệu kiểm thử kèm không chấp nhận Tuy nhiên, hoạt động kiểm thử thường gặp nhiều khó khăn: - Thứ nhất, kiểm thử hệ thống phức tạp đòi hỏi nhiều nguồn tài nguyên chi phí cao - Thứ hai, tiến trình phát triển phần mềm ln trải qua nhiều hoạt động biến đổi thông tin, mát thông tin q trình biến đổi yếu tố làm cho hoạt động kiểm thử khó khăn - Thứ ba, kiểm thử chưa trọng đào tạo người - Cuối cùng, không tồn kỹ thuật kiểm thử cho phép khẳng định phần mềm hoàn tồn đắn hay khơng chứa lỗi Với mục đích phát lỗi, kiểm thử phần mềm thường trải qua bước tạo liệu thử, thực thi phần mềm liệu thửu quan sát kết nhận Trong bước này, bước tạo liệu đóng vai trị quan trọng nhất, khơng thể tạo liệu từ miền vào chương trình, mà tạo liệu thử có khả phát lỗi cao Vấn đề đặt làm để đánh giá khả phát lỗi liệu thử? Một kinh nghiệm để giúp giải vấn đề này, sử dụng khái niệm chất lượng liệu thử phương tiện để đánh giá liệu thử “tốt” kiểm thử chương trình Ở đây, “tốt” đánh giá liên quan đến tiêu chuẩn chất lượng định trước, thường số dấu hiệu bao phủ chương trình Ví dụ, tiêu chuẩn bao phủ dịng lệnh đòi hỏi liệu thử thực dịng lệnh chương trình lần Nếu liệu thử tìm thấy khơng chất lượng liên quan đến tiêu chuẩn (tức tất câu lệnh thực lần), kiểm thử bắt buộc Do đó, mục tiêu tạo tập kiểm thử thực đầy đủ tiêu chuẩn chất lượng Tiêu chuẩn chất lượng tiêu biểu bao phủ câu lệnh kiểm thử định (thực tất đường dẫn sai qua chương trình) dựa vào việc thực chương trình với số lượng kiểm thử tăng dần để nâng cao độ tin cậy chương trình Tuy nhiên, chúng khơng tập trung vào ngun nhân thất bại chương trình – gọi lỗi Kiểm thử đột biến tiêu chuẩn Tiêu chuẩn tạo phiên chương trình có chứa lỗi đơn gian sau tìm kiểm thử để dấu hiệu lỗi Nếu tìm thấy kiệu thử chất lượng làm lộ dấu hiệu tất phiên bị lỗi, tin tưởng vào tính đắn chương trình tăng Kiểm thử đột biến áp dụng cho nhiều ngơn ngữ lập trình kỹ thuật kiểm thử hộp trắng CHƯƠNG I: KIỂM THỬ PHẦN MỀM Kiểm thử phần mềm gì? Kiểm thử phần mềm kiểm tra tiến hành để cung cấp cho bên liên quan thông tin chất lượng sản phẩm dịch vụ kiểm thử Hiểu theo cách đơn giản hơn, kiểm thử phần mềm trình tìm thất bại chứng tỏ việc tiến hành phần mềm đắn Vai trò kiểm thử phần mềm Kiểm thử phần mềm chiếm vị trí quan trọng việc nâng cao chất lượng độ tin cậy phần mềm trình phát triển Hồn thành vịng quay “đưa lỗi vào – tìm lỗi – khử lỗi đi” quy trình kiểm thử phần mềm thu lại cải tiến đáng kể cho chất lượng sản phầm phần mềm Việc biết sản phầm phần mềm tốt tới mức trước đưa vào sử dụng hạn chế tối đa rủi ro gặp phải trình phát triển phần mềm Vịng đời q trình kiểm thử Các cấp độ kiểm thử phần mềm Có nhiều cách để chia cấp độ kiểm thử phần mềm, tựu chung lại gồm cấp độ sau:  Kiểm thử đơn vị: Cấp độ chủ yếu lập trình viên trực tiếp thực Phần mềm phát triển bao gồm nhiều đơn vị chức (hàm, phương thức) hợp thành Mỗi lập trình viên đảm nhiệm việc phát triển hay nhiều đơn vị chức Kiểm thử đơn vị việc lập trình viên sau hồn thành code đơn vị chức tiến hành kiểm thử chức cách lập nhằm phát lỗi khắc phục trước tích hợp với    đơn vị chức khác Kiểm thử đơn vị thường tiến hành theo giai đoạn: kiểm thử đơn vị tĩnh kiểm thử đơn vị động Kiểm thử tích hợp: Sau kiểm thử đơn vị tiến hành lập trình viên viết nó, đơn vị chức ghép lại với để tạo thành hệ thống đầy đủ làm việc Các đơn vị chức hoạt động tốt trạng thái độc lập riêng rẽ, ghép lại xuất lỗi giao diện cho kết sử dụng liệu từ đơn vị chức khác Đó lý phải tiếp tục kiểm thử để phát lỗi kể Người ta thường chia bược thành giai đoạn: kiểm thử thích hợp kiểm thử hệ thống Ở mức kiểm thử tích hợp, đơn vị chức kết hợp lại với tiến hành kiểm thử chúng theo phương pháp tăng dần để đảm bảo cụm đơn vị chức làm việc ổn định môi trường thử nghiệm Kiểm thử hệ thống: Sau tất đơn vị chức tích hợp lại với tạo thành hệ thống hoàn chỉnh, kiểm thử hệ thống thực thi để đảm bảo sản phầm phần mềm đáp ứng đầy đủ yêu cầu đặc tả yêu cầu phần mềm Đây công việc tốn nhiều công sức trình kiểm thử phần mềm Đồng thời sử dụng nhiều kỹ thuật kiểm thử khác như: kiểm thử giao diện người dùng, kiểm thử chức năng, kiểm thử hiệu năng, kiểm thử tính dễ dùng để hồn tất cơng việc kiểm thử cấp độ Kiểm thử chấp nhận: Khi kiểm thử hệ thống hoàn tất, sản phẩm phần mềm coi sẵn sàng cho việc sử dụng thực tế Lúc này, phần mềm cần tiến hành cấp độ kiểm thử cuối – kiểm thử chấp nhận khách hàng hay người sử dụng phần mềm Tuy có phần tương tự kiểm thử hệ thống mục đích kiểm thử chấp nhận điịnh việc đưa vào sử dụng thức sản phẩm phần mềm Người ta dựa số liệu thống kế thực tế chất lượng, độ tin cậy phần mềm để định triển khai cho người dùng cuối Kiểm thử chấp nhận thường thực hình thức cho nhóm người dùng thử sản phẩm phần mềm để phát lỗi nhận phản hồi từ người dúng Trong đó, phiên alpha dành cho đội phát triển phần mềm phiên beta cung cấp cho người sử dụng thật để đưa đánh giá môi trường thực tế Ở thời điểm tại, kiểm thử chấp nhận coi cấp độ quy chuẩn bắt buộc thiếu quy trình phát triển nhiều sản phẩm phần mềm Quy trình kiểm thử phần mềm Kiểm thử phần mềm bao gồm nhiều giai đoạn với phối hợp nhiều bên liên quan không hoạt động đơn lẻ Chính thế, cần có quy trình kiểm thử phần mềm để làm rõ công đoạn, bước kiểm thử, người chịu trách nhiệm việc kiểm thử tiến hành toàn quy trình phát triển phần mềm Nói cách khác, quy trình kiểm thử phần mềm chuỗi hoạt động tiến hành để thực việc kiểm thử Các giai đoạn quy trình kiểm thử phần mềm biểu diễn tổng quát sơ đồ sau: Phân tích yêu cầu Lên kế hoạch kiểm thử Tạo ca kiểm thử Cài đặt môi trường kiểm thử Thực kiểm thử Đóng chu trình kiểm thử Quy trình kiểm thử phần mềm  Phân tích u cầu: Nhóm kiểm thử tương tác với bên liên quan để hiểu rõ yêu cầu cụ thể cần cho việc kiểm thử Các yêu cầu chức (xác định phần mềm cần phải làm gì) phi chức (hiệu năng, tính bảo mật hệ thống, màu sắc…)  Hoạt động cụ thể:  Xác định loại kiểm thử thực  Tổng hợp chi tiết mức độ tập trung thứ tự ưu tiên  Chuẩn bị RTM (Requirement Traceability Matrix – tài liệu dạng bảng sử dụng để theo dõi yêu cầu khách hàng kiểm tra xem yêu cầu đáp ứng đầy đủ hay chưa)  Xác định môi trường kiểm thử  Phân tích khả sử dụng kiểm thử tự động  Tài liệu sử dụng:  RTM  Báo cáo khả sử dụng kiểm thử tự động (nếu cần)  Lên kế hoạch kiểm thử: Còn gọi tên khác lên chiến lược thử nghiệm Ở giai đoạn này, trưởng nhóm kiểm thử dự tốn chi phí cho dự án chuẩn bị kế hoạch kiểm thử  Hoạt động cụ thể  Lựa chọn công cụ kiểm thử (test tool)  Lên kế hoạch nhân ấn định vai trò trách nhiệm cho người nhóm  Phổ biến cho người nhóm kiểm thử yêu cầu dự án  Tài liệu sử dụng:  Bản kế hoạch kiểm thử  Tạo ca kiểm thử: Giai đoạn cần phải tạo, xác minh, kiểm tra lại ca kiểm thử Dữ liệu kiểm thử tạo xác định giai đoạn  Hoạt động cụ thể  Tạo ca kiểm thử  Xác minh, kiểm tra lại ca kiểm thử  Tạo liệu kiểm thử  Tài liệu kiểm thử  Ca kiểm thử  Dữ liệu kiểm thử  Cài đặt môi trường kiểm thử: Môi trường kiểm thử định điều kiện phần cứng phần mềm dự án Thiết lập mơi trường kiểm thử thực song song với giai đoạn sinh ca kiểm thử tiêu chí quan trọng q trình kiểm thử Tuy nhiên, nhóm kiểm thử không cần tham gia vào giai đoạn có bên liên quan khác hỗ trợ, nhiệm vụ nhóm kiểm thử u cầu mơi trường kiểm thử cần thiết  Hoạt động cụ thể  Hiểu kiến trúc yêu cầu, thiết lập môi trường chuẩn bị danh sách yêu cầu phần cứng phần mềm cho môi trường thử nghiệm  Thiết lập môi trường kiểm thử  Thực kiểm thử: Nhóm kiểm thử thực kiểm thử theo kế hoạch danh sách ca kiểm thử chuẩn bị từ giai đoạn trước Các lỗi phát giai đoạn thơng báo lại cho nhóm phát triển phần mềm để chỉnh sửa thực kiểm thử lại  Hoạt động cụ thể:  Thực kiểm thử theo kế hoạch  Làm tài liệu kết kiểm thử, cập nhật lại lỗi ca kiểm thử  Kiểm thử lại lỗi chỉnh sửa  Kiểm tra để đóng lỗi  Tài liệu sử dụng:  Ca kiểm thử (cập nhật kết quả)  Báo cáo lỗi  Đóng chu tình kiểm thử: Nhóm kiểm thử họp, thỏa luận phân tích bào học rút sau q trình kiểm thử, đưa chiến lược cho lần kiểm thử chia sẻ kinh nghiệm cho dự án tương tự  Hoạt động cụ thể:  Đánh giá việc hồn thành quy trình kiểm thử dựa vào thời gian, mức độ bao phủ, chi phí chất lượng  Chuẩn bị liệu dựa tiêu chí  Chuẩn bị báo cáo kết thúc kiểm thử  Báo cáo chát lượng sản phẩm cho khách hàng  Phân tích kết kiểm thử để tìm phân bố lỗi theo loại mức độ nghiêm trọng  Tài liệu sử dụng  Báo cáo kết thúc kiểm thử Phân loại kiểm thử phần mềm Có cách để xác định ca kiểm thử kiểm thử tĩnh kiểm thử động  Kiểm thử tĩnh: hình thức kiểm thử phần mềm mà không cần thực thi chương trình Điều ngược với thử nghiệm động Cơng việc chử yếu kiểm tra tính đắn mã lệnh, thuật toán hay tài liệu Đây loại kiểm thử thực lập trình viên Lỗi phát kiểm thử động đề cập Các lập tình viên trao đổi mã nguồn chéo làm việc cách độc lập để thực kiểm thử tĩnh  Kiểm thử động: liên quan đến việc thực thi chương trình để phát lỗi, thất bại có chương trình hay tìm vấn đề hiệu hệ thống Việc thực thi chương trình tất liệu đầu vào để thực thi hay nói cách khác sinh ca kiểm thử Trong kiểm thử động, người ta chia làm kỹ thuật: kiểm thử hộp trắng (kiểm thử cấu trúc) kiểm thử hộp đen (kiểm thử chức năng) - Kiểm thử hộp trắng: kỹ thuật kiểm thử dựa vào thuật toán, cấu trúc mã nguồn bên chương trình với mục đích đảm bảo tất câu lệnh điều kiện thực lần Người kiểm thử truy cập vào mã nguồn chương trình kiểm tra nó, lấy làm sở để thực việc kiểm thử Kiểm thử đường dẫn, kiểm thử luồng điều khiển, kiểm thử nội (xác nhận tham số, vòng lặp), kiểm thử tính (kiểm tra thời gian xử lý, liệu cụ thể) Tuy nhiên, việc kiểm thử hộp trắng tồn nhiều hạn chế như: đảm bảo chương trình tuân theo đặc tả, khó phát lỗi liệu, thiếu đuqịng dẫn… Như vậy, khơng thể sử dụng kiểm thử hộp trắng để kiểm thử chương trình Xác định ca kiểm thử với kiểm thử hộp trắng - Kiểm thử hộp đen: kỹ thuật kiểm thử dựa đầu vào đầu chương trình mà khơng quan tâm tới mã nguồn bên viết Với kỹ thuật này, kiểm thử viên xem phần mềm hộp đen Để thực hiện, kiểm thử viên xây dựng nhóm giá trị đầu vào cho chúng thực đầy đủ chức cần có chương trình Kiểm thử hộp đen sử dụng phương pháp: phân tích giá trị biên, kiểm thử tính bền vững, kiểm thử trường hợp xấu nhất, kiểm thử phân lớp tương đương miền liệu đầu vào, đầu ra, kiểm thử giá trị đặc biệt, kiểm thử dựa bảng định Tất phương pháp dựa thông tin xác định thành phần kiểm thửu Dữ liệu đầu vào Dữ liệu đầu Minh họa kỹ thuật kiểm thử hộp đen Cho tới nay, việc xác định kỹ thuật kiểm thử tốt kỹ thuật: kiểm thử hộp đen kiểm thử hộp trắng dấu hỏi lớn Biểu đồ Venn sau giúp hình dung khái quát mối liên hệ kiểm thử hộp đen kiểm thử hộp trắng thực tế kiểm thử 10 Ngồi thêm số cột như: Designed by (người thực kiểm thử), Execute Date (ngày thực kiểm thử)… Mức độ chi tiết ca kiểm thử phụ thuộc vào dự án quy mô công ty sản xuất phần mềm Một ca kiểm thử cho hiệu khi:  Dựa vào ca kiểm thử tìm thấy lỗi  Tìm nhiều lỗi khó phát  Chỉ điểm ban đầu mà thực kiểm thử khơng tìm vấn đề  Ca kiểm thử cần có bước thực kiểm thử (Test steps) đơn giản, minh bạch, dễ hiểu  Các trường hợp thử nghiệm nên có giá trị, tóm tắt ngắn  Các ca kiểm thử nên có liên kết: ca kiểm thử cần đánh số thứ tự (Test case ID) để đảm bảo ca kiểm thử bao phủ 100% đặc tả yêu cầu phần mềm  Ca kiểm thử bảo trì: nên viết ca kiểm thử cho có thay đổi, chỉnh sửa bên liên quan dễ dàng nhận thấy thay đổi  Ca kiểm thử có tính ứng dụng cao Tóm lại, ca kiểm thử viết để kiểm tra hoạt động chức có mong muốn đặc tả yêu cầu phần mềm hay không Khi viết ca kiểm thử nên cố gắng viết đơn giản, dễ hiểu phải đầy đủ liệu chuẩn cần có ca kiểm thử Kiểm thử tự động Kiểm thử tự động q trình kiểm tra hệ thống cơng cụ tự động hóa với liệu đầu vào đầu xác định Công việc kiểm thử thường chiếm 11% - 40% chi phí cho trình phát triển phần mềm Hơn nữa, dự án phần mềm mong muốn giảm chi phí thời gian, nhân lực mà đem lại hiệu cao, chất lượng tốt Đó lý kiểm thử tự động áp dụng rộng rãi quy trình phát triển phần mềm ngày Kiểm thử tự động đặc biệt phát huy tác dụng trường hợp kiểm thử lặp lặp lại, kiểm thử hồi quy hay ca kiểm thử có giá trị liệu đầu vào lớn khiến cho việc kiểm thử thủ cơng gặp nhiều khó khăn Đối với trường hợp kiểm thử lặp lặp lại quy trình cách thủ cơng hồn tồn dẫn tới sai sót Ngược lại, thay kiểm thử tự động, dù có lặp lặp lại 13 lần thid cho thao tác kết xác Điều giúp chũng ta tránh rủi ro khơng đáng có giảm đáng kể thời gian cho việc kiểm thử Một số công cụ kiểm thử tự động phổ biến nay:  Selenium: công cụ kiểm thử phần mềm mã nguồn mở hỗ trợ kiểm thử tự động cho ứng dụng Web Selenium cung cấp chức ghi tự động phát lại, hỗ trợ hữu ích cho kiểm thử hồi quy Điểm mạnh Selenium hỗ trợ nhiều tảng khác nhau, tích hợp vào trình duyệt phổ biên nay, thực nhiều ca kiểm thử lúc, có khả lưu ca kiểm thử để sử dụng lại cần cho phép người dùng chèn thích kịch kiểm thử để hiểu rõ nội dung kiểm thử Selenium hỗ trợ lượng lớn ngơn ngữ lập trình Web phổ biến C#, Java, PHP, Python… Selenium kết hợp với số cơng cụ khác Bromien Junit với người dùng thông thường cần chạy tự động mà không cần cài thêm công cụ hỗ trợ Selenium cộng đồng đnahs giá công cụ tốt cho kiểm thử tự động ứng dụng Web  QTP (HP UFT): sử dụng rộng rãi để kiểm thử chức hồi quy QTP sử dụng khái niệm kiểm thử từ khóa để đơn giản hóa việc tạo bảo trì ca kiểm thử Cơng cụ hỗ trợ mơi trường NET có chế xác định đối tượng kiểm thử tốt Đối với kiểm thử viên khơng theo ngành kỹ thuật sử dụng dễ dàng công cụ  Rational Function Tester: công cụ kiểm thử tự động hướng đối tượng có khả tự động kiểm tra liệu, kiểm tra giao diện kiểm thử hồi quy Rational Function Tester hỗ trợ nhiều giao thức ứng dụng Java, HTML, NET, Windows, Visual Basic… Công cụ hỗ trợ ghi phát lại hành động theo yêu cầu Nó cho phép nhà phát triển tạo kịch liên quan đến từ khóa để tái sử dụng Bộ biên tập Công cụ Java Developer Toolkit Eclipse tạo điều kiện cho kiểm thử viên tạo mã thử nghiệm đoạn mã Java với Eclipse  WATIR: phần mềm kiểm tra mã nguồn mở để kiểm thử hồi quy Watir hỗ trợ nhiều trình duyệt nhiều tảng khác Đồng thời sử dụng ngơn ngữ kịch đại có đầy đủ tính Điểm mạnh Watir hỗ trợ ứng dụng Web viết ngôn ngữ  SilkTest: thiết kế để thực kiểm thử chức hồi quy Nó ngơn ngữ hướng đối tượng giống C++ SilkTest sử dụng khái niệm đối tượng, class kế thừa Nó chuyển đổi lệnh script thành lệnh GUI Trên máy, lệnh chạy máy từ xa máy chủ Silktest xác định chuyển động chuột 14 với phím bấm Nó sử dụng phương pháp ghi phát lại phương pháp lập trình mơ tả Dù có nhiều ưu điểm mặt thời gian thực thi kiểm thử tự động khơng thể thay hồn tồn q trình kiểm thử người Để thực kiểm thử tự động, trước hết cần bàn tay người thiết lập thao tác cho công cụ hay đoạn kịch máy tính để thực thi Đối với ca kiểm thử thực số lần việc thời gian tạo kịch kiểm thử tự động không cần thiết Chưa kể tới ca kiểm thử với đặc thù riêng biệt mà kiểm thử tự động khơng làm Thêm vào đó, khơng phải công cụ kiểm thử tự động miễn phí dễ sử dụng hay đưa vào triển khao rộng rãi Nguyên tắc quan trọng kiểm thử phần mềm Có thể hiểu nguyên tác quy định mà phải tuân theo Trong kiểm thử phần mềm, việc theo đuổi nguyên tắc điều cần thiết giúp phát triển hệ thống cách tốt Người ta đưa nguyên tắc kiểm thử quan trọng dựa vào chúng để tiết kiệm thời gian, cơng sức chi phí phát triển Cụ thể:  Kiểm thử lỗi: kiểm thử phát lỗi phần mềm, lại khơng thể chứng minh phần mềm hồn tồn khơng có lỗi Thực tế cho thấy, kiểm thử cách nghiêm ngặt phần mềm xuất lỗi Vì vậy, cần phải tìm nhiều lỗi tốt  Kiểm thử cạn kiệt khơng thể: việc kiểm tra với liệu đầu vào, đầu với toàn kịch phần mềm Hay nói cách khác, kiểm tra thứ chương trình cách trọn vẹn điều khơng thể làm Tuy nhiên, phân tích rủi ro dựa mức độ ưu tiên thông qua mức độ nghiêm trọng lỗi phần mềm để kiểm thử số chức chính, thiết yếu phần mềm  Kiểm thử sớm tốt: chi phí cho việc khắc phục, sửa lỗi tỷ lệ thuận với thời gian phát lỗi Khơng phần mềm chuẩn bị giao cho khách hàng phát lỗi xuất từ đặc tả yêu cầu phần mềm hay phân tích thiết kế hệ thống Điều gây thiệt hại khơng nhỏ cho q trình phát triển phần mềm Vì vậy, kiểm thử phần mềm từ giai đoạn đầu quy trình phát triển điều cần thiết  Xác định vị trí tập trung lỗi: lỗi thường tập trung nhiều chức phần mềm Do đó, tập trung tìm lỗi chức giúp 15 giảm thiểu thời gian kiểm thử Đây cách hiệu kiểm thử phần mềm  Nghịch lý thuốc trừ sâu: liệu hệ thống thay đổi liên tục thường xuyên xuất hành vi từ phía người dùng Nó giống việc sử dụng loại thuốc trừ sâu nhiều mùa vụ mà không để ý tới phát triển đa dạng sâu bọ Vì vậy, giữ nguyên ca kiểm thử cũ thời gian dài, khơng thể tìm lỗi phát sinh Việc xem xét thay đổi ca kiểm thử thường xuyên điều cần thiết  Kiểm thử phụ thuộc vào ngữ cảnh: nguyên tắc đề cập tới việc tiếp cận kiểm thử theo nhiều ngữ cảnh khác Điển việc kiểm thử ứng dụng Web kiểm thử thiết bị di động dùng chung chiến lược kiểm thử Mỗi môi trường kiểm thử có đặc trưng riêng lý cần xác định việc kiểm thử theo ngữ cảnh cho phù hợp  Phần mềm có lỗi 0: việc khơng tìm thấy lỗi khơng có nghĩa khơng tồn lỗi phần mềm Chúng ta hạn chế tối đa lỗi gặp phải khơng thể triệt tiêu tồn lỗi gặp phải Dựa theo ngun tắc giúp có nhìn tổng quát kiểm thử phần mềm đánh giá tính hiệu hoạt động kiểm thử triển khai 16 CHƯƠNG 2: KIỂM THỬ ỨNG DỤNG BẰNG CÔNG CỤ SELENIUM Giới thiệu chung Selenium a Seleium gì? - Selenium (thường viết tắt SE) phần mềm mã nguồn mở, phát triển Jason Huggins, sau tiếp tục phát triển nhóm ThoughtWorks năm 2004 - Seleium công cụ hỗ trợ kiểm thử tự động tính ứng dụng web, bao gồm phần: Selenium IDE, Selenium Remote Control (RC), Selenium Core Selenium Grid - Selenium hỗ trợ kiểm thử hầu hết trình duyệt web phổ biến Firefox, Internet Explorer, Googlechrome hỗ trợ nhiều ngơn ngữ lập trình phổ biến C#, Java, Python, PHP Khơng vậy, Selenium cịn kết hợp với số công cụ kiểm thử khác Junit, Bromien, Nunit b Các thành phần Selenium Selenium bao gồm thành phần chính, thành phần đóng vai trị cụ thể việc hỗ trợ kiểm thử ứng dụng Web Các thành phần là:  Selenium IDE: mơi trường phát triển tích hợp cho việc xây dựng trường hợp kiểm thử Selenium Nó hoạt động add-on Firefox cung cấp giao diện dễ sử dụng để phát triển chạy trường hợp kiểm thử Selenium-IDE có tính thu lại kịch kiểm thử để tái sử dụng Nó có menu ngữ cảnh tích hợp với trình duyệt Firefox, cho phép người chọn từ danh sách xác minh (verify) khẳng định (assert) cho yếu tố giao diện chọn Selenium-IDE cung cấp chức chỉnh sửa trường hợp kiểm thử xác dễ kiểm sốt Mặc dù Selenium-IDE Firefox add-on test case tạo Selenium-IDE chạy trình duyệt khác cách sử dụng Selenium-RC  Selenium Core: cơng cụ tích hợp Selenium-IDE Selenium Core công cụ chạy test script viết Selenese Thế mạnh cơng cụ chạy test script hầu hết trình duyệt, lại 17 yêu cầu cài đặt máy chủ ứng dụng web cần kiểm tra Điều khơng thể nhân viên kiểm thử khơng có quyền truy cập đến máy chủ  Selenium RC (Remote control): cho phép nhà phát triển tự động hóa kiểm thử sử dụng ngơn ngữ lập trình cho tính linh hoạt tối đa mở rộng việc phát triển logic thử nghiệm Ví dụ, trình ứng dụng trả tập kết việc kiểm thử, chương trình thử nghiệm tự động cần chạy thử nghiệm phần tử tập hợp kết quả, hỗ trợ lặp lặp lại ngôn ngữ lập trình sử dụng để chuyển đổi thông qua việc tập hợp kết quả, kêu gọi lệnh Selenium chạy thử nghiệm mục Selenium-RC cung cấp API (Application Programming Interface) thư viện cho ngôn ngữ hỗ trợ: HTML, Java, C#, Perl, PHP, Python Ruby Khả sử dụng Selenium-RC với ngôn ngữ bậc cao để phát triển trường hợp thử nghiệm cho phép thử nghiệm tự động tích hợp với dự án xây dựng mơi trường tự động  Selenium Gird: thực phương pháp kiểm tra phân bố, phối hợp nhiều kết Selenium RC thực thi nhiều trình duyệt web khác lúc, cho phép lưu lại kết Cài đặt Selenium a Cài đặt sử dụng Selenium IDE: - Selenium IDE (Integrated Development Environment) phát hành dạng phần mềm bổ trợ (add-on) Firefox, cho phép test, edit debug code Selenium sinh code tự động nạp đoạn mã viết tay - Đề cài đặt Selenium IDE, vào tab Get Extension Tool/Add-ons, phần tìm kiếm gõ từ khóa “Selenium IDE” sau tiến hành cài đặt Khởi động lại trình duyệt, cài đặt thành cơng mục Tool có thêm dịng Selenium IDE Hình giao diện Selenium IDE : 18 Giao diện Selenium IDE Các chức File: • Tạo test-case test-suite • Mở test-case test-suite lưu • Lưu test-case test-suite theo định dạng html • Export test-case test-suite theo định dạng mà Selenium hỗ trợ • Thêm test-case  Thốt khỏi chương trình Các chức Edit: • Undo, Redo: Thực lại, thực tới command • Cut, Copy, Paste, Delete: Cắt, copy, dán, xóa • Select All: Chọn tất command Các chức Options: • Options: Lựa chọn số tính năng: encoding file, chọn lựa phần mở rộng Selenium IDE • Format: Chọn dạng nguồn test-script • Clipboard Format: Chọn dạng Clipboard Các chức Help: • Các thơng tin tài liệu Selenium IDE 19 Giao diện vùng làm việc Các công cụ Seleium IDE b Cài đặt sử dụng Selenium Core: - Selenium Core thành phần thuộc công cụ Selenium Selenium Core dùng để test ứng dụng web - Có thể cài Selenium Core đơn giản cách cài Selenium IDE, nhúng sẵn Selenium Core bên Hoặc tải cài địa http://seleniumhq.org/download/ đặt vào thư mục gốc htdocs webserver chạy website bình thường 20 - Các test-suite test-case cần đặt hết vào thư mục tests Selenium Core Sau chạy testRunner ta cần chỉnh lại đường dẫn đến test-suite cần thiết Giao diện Selenium Core - Màn hình chia thành đoạn (sections): “Test Suite”, “Current Test”, “Control Panel” frame ứng dụng thể ứng dụng ta Control Panel thực thi ta chọn test suite Mặc định Selenium Core chạy test suite “ /tests/TestSuite.html” Click nút Go để mở test suite thực Giao diện Selenium Control Panel Chức Selenium Control Panel • Run All Tests: Chạy tất test test suite • Run Selected Test: Chạy test chọn • Pause / Continue: Ngừng tiếp tục chạy test • Step: Chạy bước test sau đặt breakpoint xóa breakpoint Có thể hiệu chỉnh tốc độ test cách rê trượt Check “Highlight Elenmets” để làm bật elements sử dụng - “Show Log” thể window log Nhận xét Selenium 21 - Một công cụ gọn nhẹ đơn giản cài đặt Selenium IDE hay Selenium Core chạy Platform Windows, Linux hay Mac - Chưa có IDE cho trình duyệt khác Firefox nhược điểm, Selenium Core hoạt động tốt trình duyệt phổ biển - Vì công cụ để kiểm thử ứng dụng web nên dễ hiểu Selenium dùng để test ứng dụng chạy Window hay Linux - Selenium cơng cụ hồn tồn miễn phí khơng có vấn đề quyền - Cả Selenium IDE Selenium Core đơn giản, trực quan dễ sử dụng Tuy nhiên có số rắc rối phím tắt Các command Selenium đơn giản dễ học - Selenium khả test GUI (giao diện người dùng đồ họa) khơng có hàm hỗ trợ test giao diện bắt cỡ chữ, cỡ tiêu đề, màu sắc… - Selenium cung cấp khả “record and playback” tốt Khả bắt tương tác người dùng ứng dụng tốt Tuy nhiên không hoạt động tốt với ứng dụng viết Flash, Sliverlight hay Ajax - Selenium IDE hoạt động với cửa sổ - Selenium hỗ trợ việc tăng giảm tốc độ test, tạo breakpoint chạy theo step hỗ trợ tốt cho việc debug mã chương trình 22 CHƯƠNG 3: BÀI TỐN THỬ NGHIỆM Trong mặt phẳng tọa độ xOy cho điểm: S(x1,y1), Q(x2,y2), R(x3,y3) - Nhập vào tọa độ điểm - Kiểm tra xem S,Q, R có đỉnh tam giác khơng? Nếu có, tính hiển thị tọa độ trọng tâm tam giác? Bài làm: CFG level 1,2 Code: float xS, xQ, xR, yS, yQ, yR; cout > xS >> yS; cout > xQ >> yQ; cout > xR >> yR; cout

Ngày đăng: 16/08/2021, 09:18

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan