Báo cáo kiểm thử phần mềm

68 1.8K 35
Báo cáo kiểm thử 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

Bài báo cáo chi tiết về quá trình tìm hiểu lí thuyết kiểm thử, lí thuyết công cụ kiểm thử Selenium, mô tả quá trình tải và cài đặt công cụ kiểm thử. Có hướng dẫn viết testCase kiểm thử. các bạn chỉ cần 1 webSite có sẵn, sau đó viết testCase như mẫu.

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO Kiểm thử phần mềm ĐỀ TÀI: KIỂM THỬ CHỨC NĂNG WEBSITE VỚI SELENIUM WEBDRIVER Lớp: ĐH KTPM3-K9 Nhóm: 02 Giảng viên hướng dẫn: Hà Nội, ngày… tháng….năm 2016 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM ĐỀ TÀI: KIỂM THỬ CHỨC NĂNG WEBSITE VỚI SELENIUM WEBDRIVER Giảng viên hướng dẫn: Sinh viên thực hiện: Hoàng Tấn Phát Hà Nội, ngày… tháng….năm 2016 Lời Nói Đầu Tên đề tài KIỂM THỬ CHỨC NĂNG WEBSITE VỚI SELENIUM WEBDRIVER Lí chọn đề tài Trong năm gần đây, công nghệ thông tin phát triển nhanh chóng, mạnh mẽ ứng dụng hầu hết mặt đời sống, kinh tế, văn hóa, xã hội Công nghệ thông tin phát triển đồng nghĩa với ngành công nghệ phần mềm phát triển Việc xây dựng ứng dụng web ngày phổ biến ngày trở nên thân thiết với người qua hoạt động giới thiệu, quảng cáo, mua bán, quản lý mạng Cuộc sống lên cao nhu cầu chất lượng sản phẩm tăng lên Một sản phẩm không dừng lại việc thân thiện dễ sử dụng mà phải xác, kịp thời đảm bảo tính bảo mật tốt Lỗi phần mềm nói chung hay ứng dụng web nói riêng gây hậu nghiêm trọng Do đó, hoạt động đảm bảo chất lượng phần mềm quan trọng Trong hoạt động lại tiêu tốn chiếm tỉ trọng lớn công sức thời gian dự án Chính lí đó, việc đưa vào quy trình kiểm thử vô cần thiết Vì vấn đề cấp thiết , nhóm em định chọn đề tài để nâng cao kĩ “ kiểm thử phần mềm ” để hướng đến sản phẩm tốt cho người sử dụng Em xin chân thành cảm ơn ! Mục Lục Phần : PHẦN MỞ ĐẦU I.Tổng quan kiểm thử phần mềm 1.Khái niệm kiểm thử phần mềm Kiểm thử phần mềm trình thực thi hệ thống phần mềm để xác định xem phần mềm có với đặc tả không thực môi trường mong đợi hay không Mục đích kiểm thử phần mềm để kiểm tra xem phần mềm có đáp ứng với nhu cầu khách hang phù hợp với đặc tả yêu cầu, đảm bảo chất lượng tính xác ứng dụng 2.Các cấp độ kiểm thử phần mềm 2.1 Kiểm thử đơn vị Một đơn vị (Unit) thành phần phần mềm nhỏ mà ta kiểm thử được, ví dụ: hàm (Function), thủ tục (Procedure), lớp (Class), phương thức (Method) Unit testing đề cập đến kiểm thử để chứng thực (xác minh - verify) chức phần riêng biệt code, thường mức hàm (function level) Trong môi trường hướng đối tượng (object-oriented environment), kiểm thử đơn vị thường sử dụng mức lớp (class) kiểm thử đơn vị nhỏ bao gồm hàm constructor destructor Kiểm thử đơn vị thường lập trình viên thực Công đoạn cần thực sớm tốt giai đoạn viết code xuyên suốt chu kỳ phát triển phần mềm Một hàm có nhiều kiểm thử, để bắt trường hợp nhánh code Cũng mức kiểm thử khác, kiểm thử đơn vị đòi hỏi phải chuẩn bị trước ca kiểm thử (hay trường hợp kiểm thử) (test case) kịch (test script), định rõ liệu vào, bước thực liệu mong muốn xuất Các test case test script giữ lại để sử dụng sau 2.2 Kiểm thử tích hợp Integration test kết hợp thành phần ứng dụng kiểm thử ứng dụng hoàn thành Trong Unit Test kiểm tra thành phần Unit riêng lẻ Intgration Test kết hợp chúng lại với kiểm tra giao tiếp chúng  Integration Test có mục tiêu chính: • Phát lỗi giao tiếp xảy Unit  • Tích hợp Unit đơn lẻ thành hệ thống nhỏ (subsystem) cuối nguyên hệ thống hoàn chỉnh (system) chuẩn bị cho kiểm thử mức hệ thống (System Test) Có loại kiểm thử Integration Test: • Kiểm thử cấu trúc (Structure Test): Tương tự White Box Test (kiểm thử nhằm bảo đảm thành phần bên chương trình chạy đúng), trọng đến hoạt động thành phần cấu trúc nội chương trình chẳng hạn lệnh nhánh bên • Kiểm thử chức (Functional Test): Tương tự Black Box Test (kiểm thử trọng đến chức chương trình, không quan tâm đến cấu trúc bên trong), khảo sát chức chương trình theo yêu cầu kỹ thuật • Kiểm thử hiệu (Performance Test): kiểm thử việc vận hành hệ thống • Kiểm thử khả chịu tải (Stress Test): kiểm thử giới hạn hệ thống  • • 2.3 Kiểm thử hệ thống Kiểm thử hệ thống (ST) bao gồm loạt kiểm nghiệm nhằm xác minh toàn thành phần hệ thống tích hợp cách đắn Mục đích ST đảm bảo toàn hệ thống hoạt động khách hàng mong muốn System Test bắt đầu tất phận PM tích hợp thành công Thông thường loại kiểm tra tốn nhiều công sức thời gian Trong nhiều trường hợp, việc kiểm tra đòi hỏi số thiết bị phụ trợ, phần mềm phần cứng đặc thù, đặc biệt ứng dụng thời gian thực, hệ thống phân bố, hệ thống nhúng Ở mức độ hệ thống, người kiểm tra tìm kiếm lỗi, trọng tâm đánh giá hoạt động, thao tác, tin cậy yêu cầu khác liên quan đến chất lượng toàn hệ thống Điểm khác then chốt Integration Test System Test System Test trọng hành vi lỗi toàn hệ thống, Integration Test trọng giao tiếp đơn thể đối tượng chúng làm việc Thông thường ta phải thực Unit Test Integration Test để bảo đảm Unit tương tác chúng hoạt động xác trước thực System Test Kiểm thử hệ thống thường có loại kiểm thử sau: Kiểm tra chức (Functional Test): bảo đảm hành vi hệ thống thỏa mãn yêu cầu thiết kế Kiểm tra khả vận hành (Performance Test): bảo đảm tối ưu việc phân bổ tài nguyên hệ thống (ví dụ nhớ) nhằm đạt tiêu thời gian xử lý hay đáp ứng câu truy vấn… • • • • Kiểm tra khả chịu tải (Stress Test hay Load Test): bảo đảm hệ thống vận hành áp lực cao (ví dụ nhiều người truy xuất lúc) Stress Test tập trung vào trạng thái tới hạn, “điểm chết”, tình bất thường… Kiểm tra cấu hình (Configuration Test) Kiểm tra khả bảo mật (Security Test): bảo đảm tính toàn vẹn, bảo mật liệu hệ thống Kiểm tra khả phục hồi (Recovery Test): bảo đảm hệ thống có khả khôi phục trạng thái ổn định trước tình tài nguyên liệu; đặc biệt quan trọng hệ thống giao dịch ngân hàng trực tuyến 2.4 Kiểm thử chấp nhận Sau giai đoạn ST AT, giai đoạn kiểm tra khách hàng thực Mục đích AT để chứng minh phần mềm thỏa mãn tất yêu cầu khách hàng khách hàng chấp nhận sản phẩm trả tiền toán hợp đồng AT có ý nghĩa quan trọng, hầu hết trường hợp, phép kiểm tra ST AT gần tương tự, chất cách thức thực lại khác biệt Trên thực tế, khách hàng không quan tâm không tham gia vào trình phát triển phần mềm thường kết AT sai lệch lớn, PM trải qua tất kiểm tra trước Sự sai lệch liên quan đến việc hiểu sai yêu cầu mong chờ khách hàng Ví dụ PM xuất sắc vượt qua phép kiểm tra chức thực nhóm thực dự án, khách hàng kiểm tra sau thất vọng bố cục hình nghèo nàn, thao tác không tự nhiên, không theo tập quán sử dụng khách hàng… Có phương pháp kiểm thử chấp nhận: • • Kiểm thử alpha: thực nơi tổ chức phát triển nhóm phát triển test mà khách hàng thực test Kiểm thử beta: thực khách hàng khách hàng tiềm nơi họ (khách hàng download beta cài vào máy sử dụng).[5] 3.Các kỹ thuật kiểm thử Một sản phẩm kiểm thử theo cách: • Hiểu rõ chức cụ thể hàm hay module Các trường hợp kiểm thử xây dựng để kiểm thử tất thao tác • Hiểu rõ cách hoạt động hàm/module hay sản phẩm Các trường hợp kiểm thử xây dựng để đảm bảo tất thành phần khớp với Đó tất thao tác nội hàm dựa vào mô tả tất thành phần nội kiểm thủ cách thoả đáng Cách tiếp cận gọi kiểm thử hộp đen (Black-box testing) cách tiếp cận thứ hai gọi kiểm thử hộp trắng (White-box testing) 3.1 Kiểm thử hộp đen (Black Box Test) Kiểm thử hộp đen hay gọi kiểm tra chức thử nghiệm hành vi Xem chương trình “hộp đen”, hoàn toàn không quan tâm cách cư xử cấu trúc bên chương trình Thay vào đó, Tập trung vào tìm trường hợp mà chương trình không thực theo đặc tả [2]  • • • • • • • • • Phương pháp kiểm thử hộp đen bao gồm: Phân vùng tương đương - Equivalence partitioning Phân tích giá trị biên – Boundary value analysis Kiểm thử cặp – All-pairs testing Kiểm thử fuzz – Fuzz testing Kiểm thử dựa mô hình – Model-based testing Ma trận dấu vết – Traceability matrix Kiểm thử thăm dò – Exploratory testing Đồ thị nguyên nhân-kết - Cause Effect Graphing Kiểm thử dựa đặc tả – Specification-base testing 3.1.1 Phân vùng tương đương - Equivalence partitioning Phân vùng tương đương (Equivalence Class): kỹ thuật kiểm thử phần mềm có liên quan đến phân chia giá trị đầu vào thành phân vùng hợp lệ không hợp lệ, sau viết kịch kiểm thử cho phần, chọn giá trị đại diện từ phân vùng làm liệu thử nghiệm.[2] • • • • • • - Phân vùng tương đương: kỹ thuật thực test theo class đồng giá trị (tập hợp điều kiện thao tác) Tập hợp giá trị input có kết xử lý, tập hợp thời gian có kết xử lý, tập hợp kết export xử lý giá trị nhập Mục đích : Giảm đáng kể số lượng test case cần phải thiết kế với lớp tương đương ta cần test phần tử đại diện Chọn tối thiểu giá trị đại diện từ class đồng giá trị để tiến hành test Thiết kế ca kiểm thử cho phân vùng tương đương dựa đánh giá vùng tương đương với điều kiện vào Vùng tương đương biểu thị tập cho trạng thái hợp lệ hay không hợp lệ điều kiện vào Thiết kế test case phân vùng tương đương tiến hành theo hai bước: Xác định lớp tương đương Xác định ca kiểm thử - -> Nếu có lỗi xảy giá trị khác class đồng giá trị có lỗi giống 3.1.2 Phân tích giá trị biên – Boundary Value Analysis Phân tích giá trị biên (Boundary Value Analysis): kỹ thuật kiểm thử phần mềm có liên quan đến việc xác định biên (ranh giới) điều kiện mô tả cho giá trị đầu vào chọn giá trị biên bên cạnh giá trị biên làm liệu kiểm thử Phương pháp phân tích giá trị biên đưa giá trị đặc biệt, bao gồm loại liệu, giá trị lỗi, bên trong, bên biên giá trị, lớn nhỏ  • • • • • •  - • • • • • • Test giá trị biên thực theo trình tự đây: Tìm đường biên Quyết định giá trị biên Quyết định giá trị để test Giá trị biên Dưới giá trị biên (Nếu class đồng giá trị) Trên giá trị biên (Nếu class đồng giá trị) Boundary values: Min – Min Max Max + [11] 3.1.2 Sử dụng bảng định – Decision Table Làm giảm số lượng tets casse không cần thiết so với kỹ thuật loại trừ phép kết hợp không cần thiết giá trị biến đầu vào Liệt kê nguyên nhân (cause) – kết (result) ma trận Mỗi cột ma trận đại diện cho phép kết hợp cause trong việc tạo result Các bước để tạo bảng định Liệt kê nguyên nhân bảng định Tính tổng số lượng kết hợp cause Điền vào cột với tất kết hợp có Rút bớt số lượng phép kết hợp dư thừa Kiểm tra phép kết hợp có bao phủ hết trường hợp hay không Bổ sung kết vào bảng định [11] 3.1.3 Đồ thị nguyên nhân - kết Là kỹ thuật thiết kế kiểm thử phần mềm liên quan đến việc xác định trường hợp (điều kiện đầu vào) hiệu ứng (điều kiện đầu ra) Vì hệ thống phát triển tảng OOP, đó, có đồ thị đối tượng mà hệ thống định nghĩa kết nối Từ đồ thị này, dễ dàng biết mối quan hệ đối tượng mà hệ thống xử lý, từ cho kịch kiểm thử phù hợp 3.2 Kiểm thử hộp trắng Kiểm thử hộp trắng (White box testing) kỹ thuật xác minh giúp kỹ sư phần mềm sử dụng để kiểm tra mã code họ hoạt động dự kiến Có loại white box testing tồn sau: * API testing (application programming interface) – Kiểm thử ứng dụng cách sử dụng hàm API public private * Code coverage – Là việc tạo trường hợp test để thỏa mãn số điều kiện bao phủ code - code coverage (ví dụ như, người thiết kế test tạo trường hợp test cho tất câu lệnh chương trình thực thi lần) * Fault injection methods – cải tiến bao phủ trường hợp cách đưa số lỗi vào để test đường dẫn code * Mutation testing methods * Static testing - White box testing bao gồm tất phương pháp kiểm thử tĩnh (ví dụ review code) Kiểm thử độ bao phủ Phương pháp kiểm thử white box sử dụng để ước lượng tính trọn vẹn đầy đủ tập hợp kiểm thử (test suit) tạo phương pháp kiểm thử black box Điều cho phép nhóm sản xuất phần mềm xem xét lại phần hệ thống test để chắn chức quan trọng tập trung test kỹ Hai hình thức chung kiểm thử độ bao phủ code: * Bao phủ chức - Function coverage, dựa việc thực thi chức * Bao phủ câu lệnh - Statement coverage, dựa số lượng dòng lệnh thực thi để hoàn thành kiểm thử 10 54 55 56 57 Báo cáo kết STT Module code Pas s Fail Module Đăng Nhập Module Đăng kí Tổng số 39 46 0 Number of test cases 39 46 Đã test: 100% Test thành công: 100% 58 IV: Kiểm thử hiệu web bán sách A Tìm hiểu cộng cụ Jmeter - Jmeter công cụ để đo độ tải performance đối tượng, sử dụng để test performance nguồn tĩnh nguồn động, kiểm tra độ tải hiệu nhiều loại server khác như: Web HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail – SMTP(S), POP3(S) and IMAP(S)… - Jmeter mã nguồn mở viết java Cha đẻ JMeter Stefano Mazzocchi sau Apache thiết kế lại để cải tiến giao diện đồ họa cho người dùng khả kiểm thử hướng chức 1.Đặc trưng Jmeter - Nguồn mở, miễn phí - Giao diện đơn giản, trực quan dễ sử dụng - Có thể kiểm thử nhiều kiểu server: Web - HTTP, HTTPS, SOAP, Database JDBC, LDAP, JMS, Mail - POP3,… - Một công cụ độc lập chạy nhiều tảng hệ điều hành khác nhau, Linux cần chạy shell scrip, Windows cần chạy file bat - Đa luồng, giúp xử lý tạo nhiều request khoảng thời gian, xử lý liệu thu cách hiệu - Đặc tính mở rộng, có nhiều plugin chia trẻ rộng rãi miễn phí - Một công cụ tự động để kiểm thử hiệu tính ứng dụng Cách thức hoạt động: giả lập nhóm người dùng gửi yêu cầu tới máy chủ, nhận xử lý response từ máy chủ trình diễn kết cho người dùng dạng bảng biểu, đồ thị,cây… 1.1.Cài đặt - Tải jmeter trang : http://jmeter.apache.org/download_jmeter.cgi, chọn download tìm đến mục Binaries 59 - Giải nén vào bin chạy file ApacheJMeter 1.2.Giao diện công cụ 60 B Tiến hành kiểm thử hiệu cụ thể Giả lập nhiều user truy cập vào trang web Mở jmeter ,đặt tên cho Test Plan testtruycap Chuột phải vào Test Plan –> Add –> Threads(users) –> Thread Group Cửa sổ Thread Group với mục quan trọng : 61 Name : tên thread group Number of Threads(users) : số lượng thread user mà ta muốn giả lập Ramp-Up Period: cho biết thời gian để JMeter tạo tất thread cần thiết Loop Count : số lần thread tạo thực , chọn forever thực mãi người dùng dừng lại tay Cửa sổ Thread Group Tạo request đến server : thread(tương ứng user) tạo nhiều request http gửi lên server Chuột phải vào Thread group –> add –> sample –> http request Default 62 Cửa sổ Http Request Default Cửa sổ Http Request Default: Protocol: giao thức sử dụng HTTP HTTPS(bỏ trống mặc định http) Server Name or IP: điền vào domain IP trang web cần kiểm tra Port Number: port web, để trống port mặc định 80 Method: phương thức để gửi HTTP request, phương thức bao gồm GET, POST, PUSH, HEAD,… Path: đường dẫn nguồn để xử lý Request Parameters: biểu diễn danh sách thông số gửi request, ta thêm xóa thông số 63 Truy cập vào trang chủ Đăng nhập vào hệ thống 64 Kết Tiến hành chạy thu kết : 2.1 Xem kết tổng hợp tất thread (Chuột phải vào Thread Group –> Add -> Listener –> Summary Report) Label : tên request # Sample : số request Average : thời gian trung bình xử lý request : thời gian nhỏ xử lý request max : thời gian nhỏ xử lý request Std.Dev: độ lệch tiêu chuẩn mô tả mức độ phân tán tập liệu lập thành bảng tần số Error : phần trăm bị lỗi request(lỗi kết nối lỗi cho đầu không mong muốn) thoughput : số request/s server kb/s = (avg.bytes*thoughput)/1024 Kết tổng hợp thread truy cập trang chủ 65 Kết tổng hợp thread login 2.2 Xem kết request kịch bản(Chuột phải Thread Group –> Add –> Listener –> View Results Tree) Kết thread truy cập trang chủ 66 Kết thread login 67 Phần 3: KẾT LUẬN Kiểm thử phần mềm hoạt động quan trọng đảm bảo chất lượng phần mềm để đảm bảo độ tin cậy chất lượng phần mềm Mục đích kiểm thử phát lỗi phần mềm để từ khắc phục sửa chữa Việc kiểm thử khẳng định chức sản phẩm điều kiện, mà khẳng định không hoạt động điều kiện cụ thể Trong thời gian tìm hiểu kiểm thử phần mềm nói chung công cụ kiểm thử Selenium , Jmeter nói riêng nhóm em hiểu kiểm thử phần mềm giai đoạn quan trọng quy trình sản xuất phần mềm Sự áp dụng thực toán nhỏ Nhóm e xin trân thành cảm ơn thầy Nguyễn Đức Lưu giúp đỡ chúng em thực tốt đề tài Tài liệu tham khảo: http://forums.testervn.com/ http://www.seleniumhq.org/docs/ http://jmeter.apache.org/usermanual https://viblo.asia 68 ... cảm ơn ! Mục Lục Phần : PHẦN MỞ ĐẦU I.Tổng quan kiểm thử phần mềm 1.Khái niệm kiểm thử phần mềm Kiểm thử phần mềm trình thực thi hệ thống phần mềm để xác định xem phần mềm có với đặc tả không... gọi kiểm thử cấu trúc” kỹ thuật kiểm thử cho phép khảo sát kiến trúc bên chương trình Kiểm thử hộp trắng chiến lược thực ba sáu loại kiểm thử giai đoạn kiểm thử phần mềm là: kiểm thử đơn vị, kiểm. .. viên kiểm thử chương trình thực xây dựng nào,dẫn đến trường hợp kiểm thử hộp đen phải viết nhiều trường hợp kiểm thử cần viết ca kiểm thử để kiểm tra 2.2 Kiểm thử hộp trắng Kỹ thuật kiểm thử hộp

Ngày đăng: 24/10/2017, 11:12

Từ khóa liên quan

Mục lục

  • Phần 1 : PHẦN MỞ ĐẦU

    • I.Tổng quan về kiểm thử phần mềm

      • 1.Khái niệm kiểm thử phần mềm

      • 2.Các cấp độ kiểm thử phần mềm

        • 2.1 Kiểm thử đơn vị

        • Một đơn vị (Unit) là một thành phần phần mềm nhỏ nhất mà ta có thể kiểm thử được, ví dụ: các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc các phương thức (Method).

        • Unit testing đề cập đến các kiểm thử để chứng thực (xác minh - verify) chức năng của một phần riêng biệt của code, thường ở mức hàm (function level). Trong một môi trường hướng đối tượng (object-oriented environment), kiểm thử đơn vị thường được sử dụng ở mức lớp (class) và kiểm thử các đơn vị nhỏ nhất bao gồm các hàm constructor và destructor.

        • Kiểm thử đơn vị thường do lập trình viên thực hiện. Công đoạn này cần được thực hiện càng sớm càng tốt trong giai đoạn viết code và xuyên suốt chu kỳ phát triển phần mềm. Một hàm có thể có nhiều kiểm thử, để bắt được các trường hợp hoặc các nhánh trong code.

        • Cũng như các mức kiểm thử khác, kiểm thử đơn vị cũng đòi hỏi phải chuẩn bị trước các ca kiểm thử (hay trường hợp kiểm thử) (test case) hoặc kịch bản (test script), trong đó chỉ định rõ dữ liệu vào, các bước thực hiện và dữ liệu mong muốn sẽ xuất ra. Các test case và test script được giữ lại để sử dụng sau này.

          • 2.2 Kiểm thử tích hợp

          • 2.3 Kiểm thử hệ thống

          • 2.4 Kiểm thử chấp nhận

          • 3.Các kỹ thuật kiểm thử

            • 3.1 Kiểm thử hộp đen (Black Box Test)

              • 3.1.1 Phân vùng tương đương - Equivalence partitioning

              • 3.1.2 Phân tích giá trị biên – Boundary Value Analysis

              • 3.1.2 Sử dụng bảng quyết định – Decision Table

              • 3.1.3 Đồ thị nguyên nhân - kết quả

              • 3.2. Kiểm thử hộp trắng

              • Phần 2 : Nội dung

                • Chương I. Tổng quan về Selenium

                  • 1. Giới thiệu chung về Selenium

                  • 2. Các thành phần của Selenium

                    • 2.1 Selenium IDE

                    • 2.2 Selenium Webdriver

                    • 2.3 Selenium RC ( Remote Control )

                    • 2.4 Selenium Grid

                    • 3. Cài đặt Selenium Webdriver

                    • CHƯƠNG 2:

                      • I TÀI LIỆU KHẢO SÁT, XÁC ĐỊNH YÊU CẦU CỦA HỆ THỐNG.

                        • 1. Khảo sát hiện trạng

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

Tài liệu liên quan