Kiểm thử sản phẩm thương mại điện tử trên nền wordpress sử dụng công cụ selenium

80 106 0
  • Loading ...
1/80 trang

Thông tin tài liệu

Ngày đăng: 23/04/2017, 11:24

LỜI CẢ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 trường Đại học Công nghệ thông tin truyền thông Thái Nguyên thầy cô trường Đại học Công nghệ thông tin truyền thông Thái Nguyên tạo điều kiện thuận lợi cho em trình học tập năm 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ỹ Nguyễn Thu Phương - môn Công nghệ phần mềm 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 nghiên cứu phát triển ứng dụng di động - Trường Đại học Công nghệ thông tin truyền thông Thái Nguyên hết lòng hỗ trợ em thời gian thực đồ án Thái Nguyên, ngày 15 tháng 05 năm 2016 Sinh viên Đinh Thị Thắm LỜI CAM ĐOAN Tôi Đinh Thị Thắm xin cam đoan:  Đồ án tốt nghiệp thành từ nghiên cứu hoàn toàn thực tế sở số liệu thực tế thực theo hướng dẫn giáo viên hướng dẫn  Đồ án thực hoàn toàn mới, thành riêng tôi, không chép theo đồ án tương tự  Mọi tham khảo sử dụng đồ án trích dẫn nguồn tài liệu báo cáo danh mục tài liệu tham khảo  Mọi chép không hợp lệ, vi phạm quy chế nhà trường, xin hoàn toàn chịu trách nhiệm Thái Nguyên, ngày 15 tháng 05 năm 2016 Sinh viên Đinh Thi Thắm MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC HÌNH ẢNH MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM, KIỂM THỬ TỰ ĐỘNG VÀ PHẦN MỀM MÃ NGUỒN MỞ WORDPRESS 1.1 Tổng quan kiểm thử phần mềm 1.1.1 Khái niệm kiểm thử phần mềm 1.1.2 Mục đích kiểm thử phần mềm 1.1.3 Các phương pháp kiểm thử 1.1.4 Chiến lược kiểm thử 1.1.5 Các cấp độ kiểm thử phần mềm 10 1.1.6 Mô hình chữ V kiểm thử phần mềm 14 1.1.7 Nguyên tắc kiểm thử phần mềm 1.2 Phần mềm mã nguồn mở WordPress 1.2.1 WordPress gì? 15 16 16 1.2.2 Những thành tựu WordPress 16 1.2.3 Ưu, nhược điểm WordPress 17 1.2.4 Kiểm thử theme WordPress 18 CHƯƠNG KIỂM THỬ ỨNG DỤNG WEBSITE SỬ DỤNG CÔNG CỤ KIỂM THỬ TỰ ĐỘNG 21 2.1 Kiểm thử ứng dụng website 21 2.1.1 Sự khác biệt kiểm thử website kiểm thử phần mềm 2.1.2 Các đặc thù kiểm thử website 21 21 2.2 Khảo sát công cụ kiểm thử ứng dụng website 24 2.2.1 Quicktest professional 24 2.2.2 Apache Jmeter 25 2.2.3 Load Runner 25 2.2.4 Web link Validator (WLV) 26 2.2.5 Selenium 27 2.3 Đề xuất 28 2.4 Hướng dẫn sử dụng Selenium IDE Selenium WebDriver 29 2.4.1 Selenium IDE 29 2.4.2 Selenium WebDriver 35 CHƯƠNG KIỂM THỬ SẢN PHẨM THƯƠNG MẠI ĐIỆN TỬ TRÊN NỀN WORDPRESS SỬ DỤNG CÔNG CỤ SELENIUM 43 3.1 Giới thiệu sản phẩm 3.2 Bài toán 43 43 3.3 Kế hoạch kiểm thử 45 3.4 Xây dựng test case 50 3.5 Thực thi test case công cụ Selenium 52 3.6 Kết thực test case chức đăng kí 3.7 Báo lỗi lên công cụ quản lí dự án Taiga.io KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN TÀI LIỆU THAM KHẢO 61 59 55 52 DANH MỤC HÌNH ẢNH Hình 1.1 Các cấp độ kiểm thử phần mềm 11 Hình 1.2 Mô hình chữ V kiểm thử phần mềm 14 Hình 1.3 Logo WordPress 16 Hình 1.4 Plugin Theme Check 18 Hình 1.5 Các lỗi bỏ qua Theme Check 19 Hình 1.6 Plugin Theme Mentor 19 Hình 1.7 Plugin Debug Bar 20 Hình 2.1 Tải Selenium IDE 29 Hình 2.2 Cài đặt Selenium IDE 30 Hình 2.3 Giao diện Selenium IDE 30 Hình 2.4 Các icon Selenium IDE 31 Hình 2.5 Nhập website muốn kiểm tra 33 Hình 2.6 Các lệnh có sẵn Selenium IDE Hình 2.7 Tải Java SDK Java SE 34 36 Hình 2.8 Giao diện Eclipse 37 Hình 2.9 Download Selemnium WebDriver với Java 37 Hình 2.10 Tạo project Java 38 Hình 2.11 Nhập thư viện Selenium 38 Hình 2.12 Export test case sang ngôn ngữ bậc cao 41 Hình 2.13 Kết chạy với TestNG cửa sổ Results Hình 2.14 Thư mục test-output 42 Hình 2.15 Kết file index.html 42 Hình 3.1 Giao diện trang Flaton 43 Hình 3.2 Test case chức đăng kí (1) 52 Hình 3.3 Test case chức đăng kí (2) 52 41 Hình 3.4 Kết chạy với TestNG package 54 Hình 3.5 Kết chạy package file index.html Hình 3.6 Lỗi Theme Check phát 55 56 Hình 3.7 Lỗi Debug Bar phát 58 Hình 3.8 Các lỗi đưa lên công cụ quản lí dự án Taiga.io 58 MỞ ĐẦU  Lí chọn đề tài Hiện ngành công nghệ thông tin ngày phát triển không giới nói chung mà Việt Nam nói riêng Song song bên việc xây dựng phát triển sản phẩm công nghệ việc đảm bảo chất lượng sản phẩm khâu sống cho dự án Chính kiểm thử phần mềm ngày quan tâm trọng Cùng với phát triển 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 giai đ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 nhìn nhận với tầm quan trọng Điều thể tỷ lệ kỹ sư kiểm thử phần mềm Việt Nam thấp, năm lập trình viên có kỹ sư kiểm thử (số liệu thống kê năm 2011 công ty LogiGear), tỷ lệ theo chuẩn quốc tế 3:1 Ngày nay, tự động hóa 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ông cụ hỗ trợ kiểm thử tự động Quick Test Professional, Nunit, Junit, Load Runner, JMetter (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 kiểm thử nhiều trình duyệt, hỗ trợ nhiều ngôn ngữ lập trình, giao tiếp với công cụ kiểm thử khác Junit, testNG (với Java) hay Nunit (với C#), ưu điểm đặc biệt công cụ mã nguồn mở, tổ chức không tốn kinh phí mua quyền Tuy chưa ứ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 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 “Kiểm thử sản phẩm thương mại điện tử WordPress sử dụng công cụ Selenium” làm đề tài cho đồ án tốt nghiệp đại học Trong khuôn khổ đồ án, thời gian kinh nghiệm thực tế hạn chế nên có phần thực chưa tốt, em mong nhận góp ý thầy cô bạn  Mục tiêu nghiên cứu  Có nhìn đắn sâu sắc vấn đề kiểm thử phần mềm phần mềm mã nguồn mở WordPress  Hiểu rõ thành phần công cụ Selenium  Nắm cách thức sử dụng hai công cụ Selenium IDE Selenium WebDriver  Ứng dụng kiến thức kiểm thử phần mềm kiến thức Selenium để viết kịch kiểm thử cho ứng dụng cụ thể  Bố cục nội dung đồ án Đồ án chia thành ba chương với nội dung sau:  Mở đầu: Chương trình bày lý chọn đề tài, mục tiêu nghiên cứu đồ án bố cục nội dung đồ án  Chương 1: Tổng quan kiểm thử phần mềm phần mềm mã nguồn mở WordPress: Chương trình bày kiến thức kiểm thử phần mềm nguyên tắc kiểm thử, phương pháp kiểm thử, giai đoạn kiểm thử phần mềm tổng quan phần mềm mã nguồn mở WordPress  Chương 2: Kiểm thử ứng dụng website sử dụng công cụ kiểm thử tự động: Chương trình bày tổng quan công cụ Selenium, sâu vào thao tác với Selenium IDE Selenium WebDriver  Chương 3: Kiểm thử sản phẩm thương mại điện tử WordPress sử dụng công cụ Selenium: Chương trình bày kịch kiểm thử viết cho số chức ứng dụng web http://demo.roadthemes.com/flaton/ thử nghiệm số trường hợp kiểm thử tự động viết Selenium IDE Selenium WedDriver  Kết luận: Chương đưa kết đồ án đạt được, thiếu sót chưa thực hướng phát triển đề tài tương lai CHƯƠNG TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM, KIỂM THỬ TỰ ĐỘNG VÀ PHẦN MỀM MÃ NGUỒN MỞ WORDPRESS 1.1 Tổng quan kiểm thử phần mềm 1.1.1 Khái niệm kiểm thử phần mềm Kiểm thử phần mềm trình khảo sát hệ thống hay thành phần điều kiện xác định, quan sát ghi lại kết quả, đánh giá khía cạnh hệ thống hay thành phần (Theo Bảng giải thuật ngữ chuẩn IEEE Thuật ngữ kỹ nghệ phần mềm-IEEE Standard Glossary of Software Engineering Terminology) Kiểm thử phần mềm trình thực thi chương trình với mục đích tìm lỗi (Theo “The Art of Software Testing” – Nghệ thuật kiểm thử phần mềm) Kiểm thử phần mềm hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ phần mềm môi trường chúng dự định triển khai nhằm cung cấp cho người có lợi ích liên quan thông tin chất lượng sản phẩm hay dịch vụ phần mềm Mục đích kiểm thử phần mềm tìm lỗi hay khiếm khuyết phần mềm nhằm đảm bảo hiệu hoạt động tối ưu phần mềm nhiều ngành khác (Theo Bách khoa toàn thư mở Wikipedia) Có thể định nghĩa cách dễ hiểu sau: Kiểm thử phần mềm tiến trình hay tập hợp tiến trình thiết kế để đảm bảo mã hóa máy tính thực theo mà chúng thiết kế để làm, không thực thứ không mong muốn Đây pha quan trọng trình phát triển hệ thống, giúp cho người xây dựng hệ thống khách hàng thấy hệ thống đáp ứng yêu cầu đặt hay chưa 1.1.2 Mục đích kiểm thử phần mềm  Tìm nhiều lỗi việc đưa dòng thời gian  Chứng minh sản phẩm hoàn thành có chức hay ứng dụng giống với đặc tả yêu cầu  Tạo test case có chất lượng cao, thực thi hiệu quả…  1.1.3 Các phương pháp kiểm thử  Kiểm thử tĩnh( Static testing): Là phương pháp thử phần mềm đòi hỏi phải duyệt lại yêu cầu đặc tả tay, thông qua việc sử dụng giấy, bút để kiểm tra logic, lần chi tiết mà không cần chạy chương trình Kiểu kiểm thử thường sử dụng chuyên viên thiết kế người mà viết mã lệnh  Kiểm thử động (Dynamic testing): Kiểm thử động kiểm tra cách thức hoạt động động mã lệnh, tức kiểm tra phản ứng vật lý từ hệ thống tới biến thay đổi theo thời gian Trong kiểm thử động, phần mềm phải thực biên dịch chạy Kiểm thử động thực bao gồm làm việc với phần mềm, nhập giá trị đầu vào kiểm tra xem liệu đầu có mong muốn hay không Các phương pháp kiểm thử động gồm có kiểm thử Unit – Unit Tests, Kiểm thử tích hợp – Intergration Tests, Kiểm thử hệ thống – System Tests, Kiểm thử chấp nhận sản phẩm – Acceptance Tests 1.1.4 Chiến lược kiểm thử Trong chiến lược kiểm thử, có ba chiến lược kiểm thử hay dùng là: kiểm thử hộp đen, kiểm thử hộp trắng, kiểm thử hộp xám 1.1.4.1 Kiểm thử hộp đen - Black box Một chiến lược kiểm thử quan trọng kiểm thử hộp đen, hướng liệu, hay hướng vào/ra Kiểm thử hộp đen xem chương trình “hộp đen” Mục đích bạn 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ả Theo hướng tiếp cận này, liệu kiểm tra lấy từ đặc tả Các phương pháp kiểm thử hộp đen  Phân lớp tương đương - Equivalence partitioning 10  Thời gian kiểm thử (lịch trình) Nhiệm vụ Ngày bắt đầu Ngày kết thúc Kế hoạch kiểm thử 15/04/2016 17/04/2016 Xây dựng testcase 17/04/2016 20/04/2016 Thực kiểm thử 20/04/2016 27/05/2016 Đánh giá kết kiểm thử 27/05/2016 28/05/2016  Rủi ro  Khách hàng trả lời câu hỏi không rõ ràng  Khách hàng không đưa tài liệu liên quan đến hệ thống  Kinh nghiệm deverloper yếu xảy lỗi khách quan  Code nhiều bug test hết  Tốn nhiều thời gian, thời gian kiểm thử vượt qua thời gian cho phép  Thay đổi yêu cầu ảnh hưởng đến tài nguyên người chiến lược test  Thông tin tài liệu kết  Test plan  Có tài liệu testcase đầy đủ  Test log lưu vết hệ thống Taiga Các phận tester, coder theo dõi tình trạng lỗi hệ thống Taiga cách dễ dàng (Đưa link tài khoản để ng khác xem) 3.4 Xây dựng test case Trong đồ án, trình bày test case cho chức đăng kí, kịch kiểm thử cụ thể chức khác trình bày định dạng excel đính kèm phụ lục đồ án Ở chức đăng kí, ba phần cần kiểm tra là: 66  Giao diện:  Kiểm thử yếu tố giao diện chung 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  Các giá trị mặc định textbox  Ciểm tra focus chuột đăng kí không thành công  Ciểm tra bảo mật mật nhập mật vào trường password kí tự có chuyển thành dấu chấm không  Chức năng: Có tám trường hợp chức cần cần kiểm thử:  Kiểm tra đăng kí thành công với email password hợp lệ  Kiểm tra đăng kí không thành công bỏ trống hai trường email password  Kiểm tra đăng kí không thành công sử dụng email không hợp lệ  Kiểm tra đăng kí không thành công không nhập email  Kiểm tra đăng kí không thành công không nhập mật  Kiểm tra đăng kí không thành công với email trùng với email đăng kí trước  Kiểm tra đăng kí không thành công với mật không hợp lệ, chứa kí tự trắng kí tự đặc biệt  Kiểm tra đăng kí không thành công vớ mật không hợp lệ, độ dài tối thiểu mật sáu kí 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 toàn thông tin cần kiểm tra số lỗi sau:  Lỗi SQL Injection 67  Lỗi User Enumeration  Kiểm tra lỗ hổng cho phép dò đoán mật Áp dụng kỹ thuật kiểm thử hộp đen để kiểm thử cho chức sử dụng phương pháp sau để xây dựng liệu kiểm thử kịch kiểm thử:  Phân lớp tương tương  Phân tích giá trị biên  Bảng định Các kịch kiểm thử chức đăng kí xây dựng Excel: Hình 3.2 Test case chức đăng kí (1) 68 Hình 3.3 Test case chức đăng kí (2) 3.5 Thực thi test case công cụ SeleniuM Mã nguồn viết chi tiết phụ lục đồ án 3.6 Kết thực test case chức đăng kí Sau thực thi kiểm thử với kịch kiểm thử lập phía trên, tác giả xin trình bày số nhận định kết thử nghiệm chức đăng kí ứng dụng thương mại điện tử Flaton https://demo.roadthemes.com/flaton  Tổng số trường hợp kiểm thử: 13  Số trường hợp kiểm thử thành công:  Số trường hợp kiểm thử không thành công:  Nhận xét:  Xét tổng thể giao diện:  Giao diện dễ hiểu, dễ sử dụng, chức phím tab, shift+tab, 69 enter hoạt động tốt  Khi phóng to, thu nhỏ không bị vỡ giao diện  Tuy nhiên có lỗi câu thông báo thực chức trường hợp:  Đăng kí thành công thiếu thông báo hiển thị đăng kí thành công, sau đăng kí thành công trang thành trang trắng  Khi đăng kí không thành công thiếu trường đó, focus chuột không nằm vị trí trường  Khi nhập mật không hợp lệ đăng kí thành công mà không bắt lỗi  Về chức năng: Chức chưa hoạt đặc tả  Về an toàn thông tin: Chức đảm bảo an toàn thông tin Kết chạy với TestNG kết sau: Các test case kiểm tra bị thất bại chứng tỏ form đăng nhập lỗi, chưa chạy với đặc tả yêu cầu hệ thống  Không bắt lỗi nhập mật có chứa khoảng trắng kí tự đặc biệt  Không bắt lỗi độ dài mật sáu kí tự Trong cửa cổ Result TestNG Eclipse: 70 Hình 3.4 Kết chạy với TestNG package  Những test case tích màu xanh xây test case chạy thành công  Những test case tích màu vàng chạy thành công, lớp test có hàm bị bỏ qua trình chạy test case  Những test case tích màu đỏ test case chạy không thành công Lỗi xảy không liên kết với trình duyệt, không tìm đối tượng trình duyệt nhiều lí khác Để biết chi tiết lỗi, kích đúp vào test case Trong cửa sổ trình duyệt Eclipse: 71 Hình 3.5 Kết chạy package file index.html Báo cáo kết cuat TestNG cho biết:  Thông tin chung project  Số lượng phương thức  Số lượng tên test case thành công  Số lượng tên test case thất bại  Số lượng tên test case bị qua  Chi tiết lỗi 3.7 Báo lỗi lên công cụ quản lí dự án Taiga.io Taiga công cụ quản lý dự án mã nguồn mở phiên beta cho phần khởi động, phát triển thiết kế linh hoạt, đặt trọng tâm vào khả ứng dụng Liên kết truy cập https://taiga.io Các lỗi phát sử dụng plugin WordPress: 72 73 Theme Check Hình 3.6 Lỗi Theme Check phát Theme Mentor 74 Script tags should be included on wp_enqueue_scripts or admin_enqueue_scripts instead of embedded directly at file include/wooajax.php, line 7: Script tags should be included on wp_enqueue_scripts or admin_enqueue_scripts instead of embedded directly at file page-templates/demo2.php, line 42:
- Xem thêm -

Xem thêm: Kiểm thử sản phẩm thương mại điện tử trên nền wordpress sử dụng công cụ selenium , Kiểm thử sản phẩm thương mại điện tử trên nền wordpress sử dụng công cụ selenium , Kiểm thử sản phẩm thương mại điện tử trên nền wordpress sử dụng công cụ selenium

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay