1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu các vấn đề về kiểm thử phần mềm và công cụ kiểm thử tự động selenium

72 1 0

Đ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

Nội dung

Đ ÁN T T NGHI P Đ I H C L IC M N Em xin chân thành cảm ơn thầy giáo, cô giáo Khoa Công nghệ thông tin I c a Học viện cơng nghệ b u viễn thông Hà Nội thầy cô c a viện CNTT&TTCDIT đư tạo điều kiện thuận lợi cho em trình học tập năm qua trình thực đồ án tốt nghiệp Em xin gửi l i cảm ơn đặc biệt đến thạc sĩ Đỗ Mạnh Hùng - Viện CNTT&TTCDIT đư nhiệt tình h ớng dẫn bảo em suốt th i gian thực đồ án Em xin xin gửi l i cảm ơn chân thành đến gia đình, bạn bè anh chị đồng nghiệp trung tâm phần mềm viễn thơng Viettel đư hết lịng hỗ trợ em th i gian thực đồ án Hà Nội, ngày…….tháng……năm 2012 Sinh viê n: Nguyễn Huyền Trang SVTH: Nguyễn Huyền Trang – D08CNPM2 i Đ ÁN T T NGHI P Đ I H C NH N XÉT, ĐÁNH GIÁ, CHO ĐI M (C a gi ng viên h ng d n) ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ……………………………………………… Đi m: ………….………………… (bằng ch :……… …………………………………) Đ ng Ủ/Không đ ng ý cho sinh viên bảo vệ tr ớc hội đồng chấm đồ án tốt nghiệp? Hà Nội, ngày tháng năm 2012 CÁN B SVTH: Nguyễn Huyền Trang – D08CNPM2 - GI NG VIểN H NG D N ii Đ ÁN T T NGHI P Đ I H C NH N XÉT, ĐÁNH GIÁ, CHO ĐI M (C a gi ng viên ph n bi n) ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ……………………………………………… Đi m: ………….………………… (bằng ch :……… …………………………………) Đ ng Ủ/Không đ ng ý cho sinh viên bảo vệ tr ớc hội đồng chấm đồ án tốt nghiệp? Hà Nội, ngày tháng năm 2012 CÁN B SVTH: Nguyễn Huyền Trang – D08CNPM2 - GI NG VIÊN PH N BI N iii Đ ÁN T T NGHI P Đ I H C M CL C M Đ U - 1 Lý ch n đ tài - M c tiêu nghiên c u - B c c n i dung c a đ án - CH NG 1: T NG QUAN V PH N M M VÀ L I PH N M M - 1.1 Đ nh nghĩa ph n m m - 1.2 Đ nh nghĩa công ngh ph n m m - 1.3 Vòng đ i ph n m m - 1.4 Đ nh nghĩa ch t l ng ph n m m đ m b o ch t l ng ph n m m - 1.4.1 Định nghĩa chất l ợng phần mềm - 1.4.2 Định nghĩa đảm bảo chất l ợng phần mềm - 1.5 L i ph n m m - 1.5.1 Định nghĩa lỗi phần mềm phân loại lỗi phần mềm - 1.5.2 Các nguyên nhân gây lỗi phần mềm - 1.5.3 Chi phí cho việc sửa lỗi phần mềm - 1.6 Qui trình x lý l i ph n m m - 1.6.1 B ớc 1: Đ a lỗi lên phần mềm quản lý lỗi - 1.6.2 B ớc 2: Gán lỗi cho nhân viên phát triển - 1.6.3 B ớc 3: Xử lý lỗi - 1.6.4 B ớc 4: Kiểm thử lại - 1.7 T ng k t ch ng - CH NG 2: T NG QUAN V KI M TH PH N M M - 2.1 Đ nh nghĩa ki m th ph n m m - 2.2 M c tiêu c a ki m th ph n m m - 2.2.1 M c tiêu trực tiếp - 2.2.2 M c tiêu gián tiếp - 10 2.3 Các nguyê n t c c b n c a ki m th ph n m m - 10 2.4 Qui trình ki m th ph n m m - 10 2.5 Các kỹ thu t ki m th ph n m m - 11 2.5.1 Kiểm thử hộp đen - 11 2.5.2 Kiểm thử hộp trắng - 11 2.5.3 Kiểm thử hộp xám - 12 2.6 Các giai đo n ki m th ph n m m - 12 2.6.1 Kiểm thử đơn vị - 12 2.6.2 Kiểm thử tích hợp - 13 2.6.3 Kiểm thử hệ thống - 13 2.6.3.1 Kiểm thử ch c - 13 2.6.3.2 Kiểm thử hiệu - 15 2.6.3.3 Kiểm thử an tồn thơng tin - 15 2.6.4 Kiểm thử chấp nhận - 23 2.6.4.1 Kiểm thử alpha - 23 2.6.4.2 Kiểm thử Bêta - 24 SVTH: Nguyễn Huyền Trang – D08CNPM2 iv Đ ÁN T T NGHI P Đ I H C 2.6.5 Kiểm thử hồi qui - 24 2.7 Ki m th t đ ng - 24 2.7.1 Kiểm thử tự động gì? Qui trình kiểm thử tự động - 24 2.7.2 u điểm nh ợc điểm c a kiểm thử tự động - 24 2.7.3 Các tr ng hợp nên áp d ng kiểm thử tự động - 25 2.8 T ng k t ch ng - 26 CH NG 3: CỌNG C KI M TH T Đ NG SELENIUM - 27 3.1 T ng quan v Selenium - 27 3.1.1 Selenium gì? - 27 3.1.2 Các thành phần c a Selenium - 27 3.2 Selenium IDE - 28 3.2.1 Cài đặt Selenium IDE - 28 3.2.2 Các icon c a Selenium IDE - 29 3.2.3 Các thao tác thực kiểm thử tự động với Selenium - 31 3.2.3.1 Recording_Thực thu kịch với Selenium IDE - 31 3.2.3.2 Thêm lệnh khẳng định xác nhận với menu ngữ cảnh - 32 3.2.3.3 Các thao tác chỉnh sửa - 33 3.2.3.4 M l u lại test case - 33 3.2.3.5 Chạy test case - 33 3.2.4 Selenese - 34 3.2.4.1 Cú pháp Script - 34 3.2.4.2 Một số lệnh th ng sử d ng Selenium - 35 3.3 Selenium Remote Control (Selenium RC) - 35 3.3.1 Các thành phần c a Selenium Remote Control - 36 3.3.1.1 Máy ch Selenium - 36 3.3.1.2 Các th viện máy khách - 36 3.3.2 Cài đặt Selenium Remote Control - 36 3.3.2.1 Cài đặt máy ch Selenium - 37 3.3.2.2 Chạy Selenium Server - 37 3.3.2.3 Sử d ng Java Client Driver - 37 3.3.2.4 Sử d ng Python Client Driver - 38 3.3.2.5 Sử d ng NET Client Driver - 38 3.3.2.6 Sử c ng Ruby Client Driver - 38 3.3.3 Các thao tác với Selenium RC - 38 3.3.3.1 Chạy kịch kiểm thử Selenium IDE với Selenium Remote Control - 38 3.3.3.2 Tạo kịch kiểm thử với ngơn ngữ lập trình Java Eclipse - 40 3.3.3.3 Dịch kịch kiểm thử Selenium IDE thành kịch kiểm thử Selenium RC - 42 3.3.3.4 Báo cáo kết kiểm thử - 45 3.4 T ng k t ch ng - 47 CH NG 4: TH NGHI M - 49 4.1 Bài toán th nghi m - 49 4.2 S khác gi a k ch b n ki m th t đ ng k ch b n ki m th th công - 49 4.3 K ch b n ki m th th công - 50 SVTH: Nguyễn Huyền Trang – D08CNPM2 v Đ ÁN T T NGHI P Đ I H C 4.3.1 Ch c đăng nhập - 50 4.2.2 Ch c soạn thảo gửi email - 50 4.4 K ch b n ki m th t đ ng - 51 4.5 K t qu th nghi m - 57 4.5.1 Ch c đăng nhập - 57 4.5.2 Ch c gửi email - 58 4.6 T ng k t ch ng - 58 K T LU N - 59 DANH M C TÀI LI U THAM KH O - 60 PH L C: K CH B N KI M TH TH CÔNG CHO NG D NG TH NGHI M -61- SVTH: Nguyễn Huyền Trang – D08CNPM2 vi Đ ÁN T T NGHI P Đ I H C DANH M C THU T NG VÀ T ụ nghĩa Thu t ng /T vi t t t IEEE Institute of Electrical and Electronic Engineers Test case Tr Test suite Tập hợp tr ng hợp kiểm thử Selenium (Kịch kiểm thử tự động Selenium ) Test script Tập hợp tr ng hợp kiểm thử (Kịch kiểm thử) Selenium RC Selenium Remote Control Account Tài khoản đăng nhập vào hệ thống User Tên đăng nhập Mô-đun Là phần c a ch ơng trình, mơ-đun đảm nhiệm ch c riêng Validate Một thuật ngữ kiểm thử phần mềm dùng để kiểm tra tính hợp lệ c a liệu yếu tố c a ng d ng Framework Trong phần mềm, Framework tập th viện lớp sử d ng lại đ ợc VI T T T Ghi ng hợp kiểm thử SVTH: Nguyễn Huyền Trang – D08CNPM2 vii Đ ÁN T T NGHI P Đ I H C DANH M C B NG, HÌNH V , S Đ Danh m c s đ : Sơ đồ 1.1 : Chi phí cho việc sửa lỗi phần mềm -5- Sơ đồ 1.2: Các trạng thái c a lỗi -5- Sơ đồ 1.3: Qui trình xử lý lỗi -6- Sơ đồ 2.1: Qui trình kiểm thử phần mềm - 10 - Sơ đồ 2.2: Các giai đoạn kiểm thử phần mềm - 12 - Danh m c hình v : Hình 2.1: Kiểm tra lỗi SQL Injection - 17 - Hình 2.2: Lỗi SQL Injection - 17 - Hình 2.3: Lỗi XSS_1 - 18 - Hình 2.4: Kiểm tra Lỗi XSS_2 - 18 - Hình 2.5: Lỗi XSS_2 - 18 - Hình 2.6: Kiểm tra lỗ hổng CFRS_1 - 19 - Hình 2.7: Kiểm tra lỗ hổng CFRS_2 - 19 - Hình 2.8: Kiểm tra lỗ hổng CFRS_3 - 19 - Hình 2.9: Kiểm tra lỗi Path Traversal_1 - 20 - Hình 2.10: Kiểm tra lỗi Path Traversal_2 - 20 - Hình 2.11: Kiểm tra lỗi Path Traversal_3 - 21 - Hình 2.12: Kiểm tra lỗi Path Traversal_4 - 21 - Hình 2.13: Kiểm tra lỗi xác thực phân quyền - 21 - Hình 2.14: Kiểm tra lỗi Session fixation - 22 - Hình 2.15: Lỗi HTTP Only Cookie - 23 - Hình 3.1: Pop up cài đặt Selenium - 28 - Hình 3.2: Kiểm tra cài đặt Selenium thành cơng - 29 - Hình 3.3: Các icon c a Selenium IDE - 29 - Hình 3.4: Test case Selenium IDE - 30 - Hình 3.5: Thực thu tr ng hợp kiểm thử_1 - 31 - Hình 3.6: Thực thu tr ng hợp kiểm thử_2 - 31 - Hình 3.7: Lệnh xác minh (verify) yếu tố trang web - 32 - Hình 3.8: Vai trị c a Remote Control Server - 35 - Hình 3.9: Chạy máy ch Selenium thành cơng - 37 - Hình 3.10: Câu lệnh chạy testcase Selenium IDE Selenium RC - 38 - Hình 3.11: Chạy kịch kiểm thử Selenium IDE Selenium RC - 39 - Hình 3.12: Chạy kịch kiểm thử Selenium IDE Selenium RC - 39 - Hình 3.13: Tạo project Java - 40 - SVTH: Nguyễn Huyền Trang – D08CNPM2 viii Đ ÁN T T NGHI P Đ I H C Hình 3.14 : Thêm file jar vào th viện - 41 - Hình 3.15: Mẫu test case Selenium RC - 42 - Hình 3.16: Export Test Case Selenium IDE sang Test Case Selenium Remote Control - 43 - Hình 3.17: Test Case Selenium Remote Control đ ợc export từ test case Selenium IDE - 44 Hình 3.18 : Kết chạy test case Junit - 45 - Hình 3.19: Tạo file build.xml - 45 - Hình 3.20: Thêm file junit.jar vào Global Entries c a Ant - 46 - Hình 3.21: Lựa chọn m c tiêu để thực thi file build.xml - 46 - Hình 3.22: Mẫu báo cáo kết kiểm thử Selenium dựa JUnit - 47 - Hình 4.1: Test case đăng nhập Firefox - 51 - Hình 4.2: Test case đăng nhập Internet Explore - 52 - Hình 4.3: Test case đăng nhập Googlechrome - 53 - Hình 4.4: File build.xml - 56 - Hình 4.5: Báo cáo kết kiểm thử - 57 - Danh m c b ng: Bảng 2.1 : Kiểm thử giao diện ng i sử d ng - 14 - Bảng 2.2 : Kiểm thử luồng nghiệp v - 14 - Bảng 2.3 : Kiểm thử hiệu - 15 - Bảng 2.4: Kiểm thử an tồn thơng tin - 16 - Bảng 2.5: Kiểm thử hồi qui - 24 - Bảng 3.1: Cú pháp câu lệnh Selenese - 34 - SVTH: Nguyễn Huyền Trang – D08CNPM2 ix Đ ÁN T T NGHI P Đ I H C M Đ U LỦ ch n đ tƠi Trong giai đoạn phát triển c a công nghệ thông tin, ngành công nghệ phần mềm ngày chiế m vị trí quan trọng xu h ớng phát triển kinh tế cơng nghiệp hóa, đại hóa c a đất n ớc ta Cùng với phát triển c a công nghệ phần mềm, lỗi phần mềm chất l ợng phần mềm thách th c lớn với thân ngành phần mềm thực tế đư ch ng minh, kiểm thử phần mềm gia i đoạn chiếm đến 40% th i gian, kinh phí nguồn nhân lực phát triển dự án phần mềm Tuy nhiên Việt Nam nay, việc kiểm thử phần mề m ch a thực đ ợc nhìn nhận với tầm quan trọng c a Điều thể tỷ lệ kỹ s kiểm thử phần mềm Việt Nam thấp, c lập trình viên có kỹ s kiểm thử (số liệu thống kê năm 2011 c a công ty LogiGear), tỷ lệ theo chuẩn quốc tế 3:1 Thêm vào đó, m c độ đáp ng c a kỹ s kiểm thử phần mềm Việt Nam ch a cao Nguyên nhân c a việc đến từ thiếu h t đơn vị đào tạo chuyên sâu kiểm thử nguyên nhân sâu xa vấn đề kiểm thử phần mềm Việt Nam ch a đ ợc chuyên nghiệp hóa đầu t m c Ngày nay, tự động hóa đ ợc nghiên c u ng d ng nhiều lĩnh vực cơng nghệ phần mềm nói chung kiểm thử phần mềm nói riêng không ngoại lệ Khi mà kiểm thử phần mềm tiêu tốn l ợng lớn th i gian, kinh phí nhân lực dự án phần mềm song song với kiểm thử truyền thống th công, đ i c a công c hỗ trợ kiểm thử tự động nh Quick Test Professional, Nunit, Junit, Load Runner (th ng dùng kiểm thử hiệu năng) tất yếu Selenium công c kiểm thử ng d ng web có nhiều u điểm nh kiểm thử nhiều trình duyệt, hỗ trợ nhiều ngơn ngữ lập trình, giao tiếp đ ợc với công c kiểm thử khác nh Junit, testNG (với Java) hay Nunit(với C#), u điểm đặc biệt c a cơng c mã nguồn m , tổ ch c khơng tốn kinh phí mua quyền Tuy ch a đ ợc ng d ng nhiều tổ ch c Việt Nam, song với u điểm trên, Selenium h a hẹn ngày phát triển tr lên thông d ng tổ ch c phát triển phần mềm n ớc ta Với mong muốn có nhìn xác thực, rõ ràng kiểm thử phần mềm tiếp cận đ ợc với công c kiểm thử tự động Selenium để làm tiền đề cho định h ớng t ơng lai tốt nghiệp đại học tr thành kỹ s kiểm thử phần mềm, cá nhân em lựa chọn để tài “Nghiên c u vấn đề kiểm thử phần mềm công c kiểm thử tự động Selenium” làm đề tài cho đồ án tốt nghiệp đại học c a Trong khn khổ đồ án, th i gian kinh nghiệm thực tế hạn chế nên có phần thực ch a đ ợc tốt, em mong nhận đ ợc góp ý c a thầy cô bạn M c tiê u nghiê n c u - Có nhìn đắn sâu sắc vấn đề c a công nghệ phần mềm, lỗi phần mềm kiểm thử phần mềm - Hiểu rõ thành phần c a công c Selenium - Nắm đ ợc cách th c sử d ng c a hai công c Selenium IDE Selenium Remote Control SVTH: Nguyễn Huyền Trang – D08CNPM2 x Đ ÁN T T NGHI P Đ I H C Ch ng 3: Công c ki m th t đ ng Selenium b ớc này, l u Ủ việc xếp cho Eclipse thực thi junitreport cuối để tránh báo cáo thiếu tr ng hợp Sau click nút Run, ch ơng trình thực chạy test case đ ợc chọn, xuất báo cáo vào th m c đ ợc nhập vào b ớc tạo file build.xml - B ớc 5: Xem báo cáo kiểm thử Tr ớc xem báo cáo kiểm thử, ta cần refresh lại project Vào th m c đ ợc chọn để l u báo cáo, m file index Báo cáo có dạng nh hình: Hình 3.22: Mẫu báo cáo kết kiểm thử Selenium dựa JUnit Ngoài báo cáo cịn hỗ trợ tìm ngun nhân test case bị thất bại cách click vào lớp c a test case 3.4 T ng k t ch ng Ch ơng c a đồ án đư giới thiệu đ ợc công c kiểm thử phần mềm Selenium đư nêu đ ợc đặc điểm cách sử d ng c a hai công c phổ biến Selenium IDE Selenium RC Các nội dung c thể đư đ ợc làm rõ ch ơng bao gồm: - Tổng quan Selenium: Giới thiệu nét nguồn gốc, trình phát triển thành phần c a Selenium - Selenium IDE: Trình bày đ ợc phạm vi ng d ng, cách cài đặt, cách sử d ng c a Selenium IDE - Selenium Remote Control: Trình bày thành phần c a Selenium RC, cách cài đặt cách sử d ng số ch c c a Selenium RC Từ kiến th c tìm hiểu đ ợc nội dung ch ơng, em rút đ ợc số đánh giá với Selenium nh sau: - Những u điểm chung Selenium:  Selenium công c mã nguồn m , mà hồn tồn miễn phí  Selenium hỗ trợ nhiều ngơn ngữ lập trình nh Java, C#, Python… kết hợp đ ợc với nhiều framework kiểm thử nh JUnit, NUnit, TestNG…  Selenium hỗ trợ kiểm thử nhiều trình duyệt eb nh Firefox, Googlechrome, Internet Explore… SVTH: Nguyễn Huyền Trang – D08CNPM2 Trang - 47 - Đ ÁN T T NGHI P Đ I H C -  Hỗ trợ gỡ lỗi Những nh ợc điểm chung c a Selenium:      Ch ng 3: Công c ki m th t đ ng Selenium Nh ợc điểm lớn c a Selenium tích hợp với hệ thống phát triển dựa tảng eb, lỦ mà khơng thể sử d ng để kiểm thử phần mềm ng d ng khác Selenium thực kiểm thử thân khơng nhận biết đ ợc đối t ợng Những hỗ trợ đ ợc cung cấp cho Selenium nh việc Selenium không hỗ trợ việc xuất báo cáo kiểm thử mà ta phải làm điều dựa vào framework kiểm thử khác Khó chuẩn đốn lỗi phát sinh Những khó khăn việc cài đặt cấu hình với ng SVTH: Nguyễn Huyền Trang – D08CNPM2 i sử d ng Trang - 48 - Đ ÁN T T NGHI P Đ I H C CH Ch NG 4: TH ng 4: Th nghi m NGHI M 4.1 BƠi toán th nghi m - - Vấn đề đặt kiểm thử hai ch c cho ng d ng web email c a tập đồn viễn thơng qn đội Viettel ch c đăng nhập ch c soạn thảo gửi email Link ng d ng: https://mail.viettel.com.vn ng d ng đ ợc kiểm thử trình duyệt: Mozilla Firefox, Internet Explore, Googlechrome Ch c đăng nhập: Ch c ch c đăng nhập túy vào ng d ng eb thông th ng giống nh ng d ng khác nh yahoo, google, forum Các yếu tố cần kiểm tra:  Nếu đăng nhập tên mật tải đến trang ch c a ng d ng email  Nếu đăng nhập sai tên mật đ a thông báo: “Tên đăng nhập mật đăng nhập không đúng”  Nếu nhập thiếu tên đăng nhập đ a thơng báo: “Bạn phải nhập tên đăng nhập”  Nếu nhập thiếu mật đ a thông báo: “Bạn phải nhập mật khẩu” Ch c gửi email: ng d ng email c a Viettel có hai đặc điểm đặc tr ng tạo nên khác biệt viết kịch kiểm thử ch c so với ng d ng email khác là:  Email Viettel email nội bộ, cho phép gửi nhận email địa nội bộ, nghĩa địa có phần m rộng @viettel.com.vn, ví d : trangnh7@viettel.com.vn Các địa email có phần m rộng khác nh địa email c a google hay yahoo ng d ng gửi email đến nh nhận email từ địa  Email Viettel cho phép ghi địa email mà không điền phần m rộng, ví d muốn gửi th đến địa email trangnh7@viettel.com.vn cần điền trangnh7 vào địa gửi đi, ng d ng hiểu đ ợc địa email mà ng i gửi muốn gửi email đến trangnh7@viettel.com.vn     ng d ng email c a Viettel có đặc điểm chung giống nh ng d ng email khác, yếu tố cần kiểm tra là: Kiểm tra gửi email tới nhiều địa hợp lệ thành công Kiểm tra hoạt động c a ch c gửi Cc/ Bcc Kiểm tra gửi email báo lỗi gửi email đến địa địa email nội bộ, đồng th i kiểm tra địa email nhận không nhận đ ợc email đư gửi Kiểm tra ch c attack file 4.2 S khác gi a k ch b n ki m th t đ ng vƠ k ch b n ki m th th công Tr ớc thực kiểm thử ng d ng, cần phải nói thêm khác kịch kiểm thử th công kịch kiểm thử tự động Với kiểm thử th công, kịch kiểm thử ch c thơng th phần chính: - ng đ ợc chia thành ba Phần giao diện Phần ch c Phần an tồn thơng tin SVTH: Nguyễn Huyền Trang – D08CNPM2 Trang - 49 - Đ ÁN T T NGHI P Đ I H C Ch ng 4: Th nghi m Với kiểm thử tự động, có hai phần mà ta cần quan tâm test case liệu kiểm thử Trong đó: - - Test case: Có thể lớp hàm lớp ghi lại chuỗi kiện mà ta thao tác với ng d ng cần kiểm thử Khác với khái niệm test case thực kiểm thử th công c giá trị đầu vào khác tạo thành testcase Dữ liệu kiểm thử: Là liệu nhập vào để kiểm thử 4.3 K ch b n ki m th th công 4.3.1 Ch c đăng nh p - - ch c đăng nhập, ba phần cần kiểm tra là:  Giao diện: Kiểm thử yếu tố giao diện chung nh kiểm tra giao diện theo thiết kế, kiểm tra ấn tab, shift-tab, kiểm tra việc bị vỡ giao diện hay không, giá trị mặc định c a textbox  Ch c năng: Có bốn tr ng hợp ch c cần cần kiểm thử: o Kiểm tra đăng nhập thành công với Tên đăng nhập/ Mật hợp lệ o Kiểm tra đăng nhập không thành công sử d ng sai Tên đăng nhập/ Mật o Kiểm tra thông báo không nhập Tên đăng nhập o Kiểm tra thông báo không nhập mật  Kiểm thử an toàn bảo mật: Vì ch c đăng nhập khơng nhập số liệu vào s liệu ta bỏ qua khơng kiểm tra số lỗi an tồn thông tin cần kiểm tra số lỗi sau: o Lỗi SQL Injection o Lỗi User Enumeration o Kiểm tra lỗ hổng cho phép dị đốn mật Kịch kiểm thử c thể đ ợc trình bày định dạng excel đ ợc đính kèm ph l c c a đồ án 4.2.2 Ch c so n th o vƠ g i e mail Trong luồng công việc diễn từ bắt đầu soạn thảo đến lúc thực gửi email thành công, phải thực thao tác đính kèm file (attack file), attack file đ ợc coi ch c nhỏ ch c soạn thảo gửi email phải tiến hành kiểm thử ch c - - Ch c Attack file:  Giao diện: Kiểm tra giao diện chung  Ch c năng: Chúng ta phải kiểm tra đ ợc tr ng hợp chính: o Attack file có dung l ợng hợp lệ < 10240 kb thành công o Kiểm tra thông báo lỗi Attack file có dung l ợng > 10240 kb o Kiểm tra thực ch c c a button Chọn file, Add, Cancel, Attack, Help Ch c soạn thảo gửi email:  Giao diện: Kiểm tra giao diện chung, kiểm tra combo-box  Ch c năng: Kịch kiểm thử phải đáp ng bao quát đ ợc số ch c năng: o Kiểm tra soạn thảo gửi email thành cơng khơng có file attack o Kiểm tra soạn thảo gửi email thành công có file attack o Kiểm tra lựa chọn receipt request (Thông báo nhận tin, đọc tin) SVTH: Nguyễn Huyền Trang – D08CNPM2 Trang - 50 - Đ - ÁN T T NGHI P Đ I H C Ch ng 4: Th nghi m o Kiểm tra việc gửi email cho nhiều ng i lúc o Kiểm tra lựa chọn gửi Cc/Bcc o Kiểm tra đ ợc điều kiện cho phép gửi email nội (các địa email c a Viettel) o Kiểm tra nhận email thông báo không gửi đ ợc email gửi email đến địa email email c a Viettel o Kiểm tra cảnh báo nhập vào địa email Viettel khơng có thật  An tồn thơng tin: o Việc kiểm tra an tồn thơng tin t ơng tự nh với ch c đăng nhập, bổ xung thêm việc kiểm tra lỗi Session fixation lỗi xác thực phân quyền Kịch kiểm thử c thể đ ợc trình bày định dạng excel đ ợc đính kèm ph l c c a đồ án 4.4 K ch b n ki m th t đ ng Do hạn chế kinh nghiệm th i gian tìm hiểu tool ph c tạp c a ng d ng email, đồ án trình bày demo số case c a ch c đăng nhập hai công c Selenium IDE Selenium RC thực báo cáo kết dựa framework kiểm thử JUnit - Đăng nhập thành công firefox import com.thoughtworks.selenium.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class DangNhapFirefox { public Selenium selenium; @Before public void setUp() throws Exception { selenium = ne w DefaultSelenium("localhost", 4444, "*firefox", "https://mail.viettel.com.vn/"); selenium.start(); } @Test public void testDangnhapjunit4() throws Exception { selenium.open("/"); selenium.type("name=user", "trangnh7"); selenium.type("name=password", "meo@Dien07"); selenium.click("id=button"); selenium.waitForPageToLoad("30000"); } @After public void tearDown() throws Exception { selenium.stop(); } } Hình 4.1: Test case đăng nhập Firefox SVTH: Nguyễn Huyền Trang – D08CNPM2 Trang - 51 - Đ ÁN T T NGHI P Đ I H C - Đăng nhập thành công Internet Explore: Ch ng 4: Th nghi m import com.thoughtworks.selenium.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class DangNhapIE { public Selenium selenium; @Before public void setUp() throws Exception { selenium = ne w DefaultSelenium("localhost", 4444, "*iexplore", "https://mail.viettel.com.vn/"); selenium.start(); } @Test public void testDangnhapjunit4() throws Exception { selenium.open("/"); selenium.type("name=user", "trangnh7"); selenium.type("name=password", "meo@Dien07"); selenium.click("id=button"); selenium.waitForPageToLoad("30000"); } @After public void tearDown() throws Exception { selenium.stop(); } } Hình 4.2: Test case đăng nhập Internet Explore SVTH: Nguyễn Huyền Trang – D08CNPM2 Trang - 52 - Đ ÁN T T NGHI P Đ I H C - Đăng nhập thành công Googlechrome: Ch ng 4: Th nghi m import com.thoughtworks.selenium.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class DangNhapGC { public Selenium selenium; @Before public void setUp() throws Exception { selenium = ne w DefaultSelenium("localhost", 4444, "*googlechrome", "https://mail.viettel.com.vn/"); selenium.start(); } @Test public void testDangnhapjunit4() throws Exception { selenium.open("/"); selenium.type("name=user", "trangnh7"); selenium.type("name=password", "meo@Dien07"); selenium.click("id=button"); selenium.waitForPageToLoad("30000"); } @After public void tearDown() throws Exception { selenium.stop(); } } Hình 4.3: Test case đăng nhập Googlechrome SVTH: Nguyễn Huyền Trang – D08CNPM2 Trang - 53 - Đ ÁN T T NGHI P Đ I H C - Báo cáo kiểm thử: Mã nguồn sinh báo cáo: Ch ng 4: Th nghi m as the first entry and export the buildfile again > name="junit.output.dir"

Ngày đăng: 22/06/2023, 22:03

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w