Khái niệm Selenium Selenium là một công cụ nguồn mở được sử dụng để kiểm thử tự động và cũngđược giảng dạy trong các chương trình học auto test được thực hiện trên các trìnhduyệt web Các
Trang 1CHƯƠNG 1 CÔNG CỤ KIỂM THỬ TỰ ĐỘNG
1 Giới thiệu về công cụ kiểm thử Selenium Webdriver
1.1 Khái niệm Selenium
Selenium là một công cụ nguồn mở được sử dụng để kiểm thử tự động và cũngđược giảng dạy trong các chương trình học auto test được thực hiện trên các trìnhduyệt web (Các ứng dụng web được kiểm thử bằng bất kỳ trình duyệt web nào).Selenium WebDriver (gọi tắt là Webdriver) là một framework tự động dành choWeb, cho phép thực hiện các kiểm thử trên các trình duyệt khác nhau
Selenium WebDriver có thể chạy trên các nền tảng Windows, Linux và macOS.1.2 Cách thức hoạt động của Selenium Webdriver
Các ngôn ngữ lập trình này giao tiếp với Selenium WebDriver bằng cách gọi cácphương thức trong API ứng dụng khách Selenium Dòng công việc của SeleniumDriver
Trang 21.3 Ưu nhược điểm của Selenium Webdriver
1.3.1 Ưu điểm
• Selenium Webdriver là mã nguồn mở miễn phí
• Hỗ trợ nhiều ngôn ngữ lập trình : Web Driver hỗ trợ viết kịch bảnkiểm thử bằng nhiều ngôn ngữ khác nhau như Java, .NET, PHP,Python, Perl, Ruby
• Tốc độ: Khi so sánh với các công cụ khác của bộ Selenium,WebDriver là công cụ nhanh nhất trong số tất cả, do nó tương tác trựctiếp từ hệ điều hành tới trình duyệt
- Framework kiểm thử: Selenium Webdriver
1.5 Tính năng của Selenium Webdriver
1.5.1 Tương thích với trình duyệt
WebDriver hỗ trợ đa dạng các loại trình duyệt web và những phiên bản của nó Từ những trình duyệt thông thường hiện nay như: Chrome, FireFox cho đến những trình duyệt hiếm gặp như HtmlUnit Điều này hoàn toàn không hề thấy ở những bản Selenium RC và Selenium IDE
Trang 31.5.2 Hỗ trợ đa ngôn ngữ
Trang 4Selenium Webdriver hỗ trợ đa ngôn ngữ lập trình:
1.5.4 Drivers, Methods and Classes
WebDriver cung cấp một loạt các giải pháp cho một số các thách thức trong kiểm thử tự động Nó giúp cho chúng ta xử lý các loại phần tử web phức hợp như checkbox, dropdowns và thông báo với sự trợ giúp của tìm kiếm động
Trang 52 Cách tổ chức chương trình chạy với công cụ
2.1 Thực hiện triển khai Website lên Localhost
Trang 62.2 Thực hiện viết chương trình triển khai kiểm thử trên một file Python
Trang 73 Áp dụng kiểm thử tự động với chức năng đăng nhập
1 from selenium import webdriver
2 from selenium.webdriver.common.keys import Keys
3 from selenium.webdriver.common.by import By
4 import time
5 def viewAtritue ( self ):
6 print ( ' - Atritute : ' , self )
7 print ( ' - Displayed : ' , self is_displayed())
8 print ( ' - Enabled : ' , self is_enabled())
9 print ( ' - Selected :' , self is_selected())
15 taikhoan = driver.find_element_by_xpath( '//*[@id="id_usernameLoginForm"]' )
16 print ( 'Atritute Username: ' , taikhoan)
17 print ( 'Displayed Username: ' , taikhoan.is_displayed())
18 print ( 'Enabled Username: ' ,taikhoan.is_enabled())
19 matkhau = driver.find_element_by_name( "passwordLoginForm" )
20 print ( 'Atritute Password: ' , matkhau)
21 print ( 'Displayed Password: ' , matkhau.is_displayed())
22 print ( 'Enabled Password: ' ,matkhau.is_enabled())
Trang 8CHƯƠNG 2 ĐẶC TẢ PHẦN MỀM KIỂM THỬ
1 Mô tả hệ thống
Đề tài: Xây dựng Website bán đồ ăn nhanh
Cửa hàng bán đồ ăn nhanh là cửa hàng chuyên bán các sản phẩm đồ ăn nhanh.Hiện nay, cửa hàng muốn triển khai bán các sản phẩm lên website và cho phépkhách hàng chọn dịch vụ, đăng ký mua hàng
Ngoài ra, cửa hàng có các dịch vụ khuyến mại, tin tức nội bộ cũng đều muốn triểnkhai trên website Song song đó, cửa hàng có đội ngũ tư vấn bán hàng để hỗ trợsản phẩm cũng như tư vấn các sản phẩm đến khách hàng một cách nhanh nhất vàtốt nhất
1.1. Mô hình tổng quan hệ thống
Hình 1 1: Mô hình tổng quan hệ thống 1.2 Bảng thông tin chung các chức năng hệ thống
Tác nhân Người dùng truy cập vào hệ thống
Trang 9Logic xử lý Trường thông tin:
Người dùng: Trên màn hình Website, chọn các đề mục Menu
Hệ thống: Hiển thị thông tin đề mục
Import:
Người dùng: Trên màn hình đăng ký bàn tiệc
Hệ thống: Thực hiện thêm dữ liệu vào hệ thống và thông báo trạng thái
Trích xuất thông tin đồ ăn nhanh:
Người dùng: Trên màn hình giao diện, người xem combo và thêm
đồ ăn vào giỏ hàng
Hệ thống: Hiển thị danh sách món ăn Yêu cầu phi
Người dùng: Trên màn hình Website, chọn các đề mục Menu
Hệ thống: Hiển thị thông tin đề mục
Import:
Người dùng: Trên màn hình thêm đồ ăn, …
Hệ thống: Thực hiện thêm dữ liệu vào hệ thống và thông báo trạng thái
Trích xuất thông tin món ăn:
Người dùng: Trên màn hình giao diện, người dùng chọn Món ăn trên Menu Admin
Hệ thống: Hiển thị danh sách món ăn
Trích xuất thông tin bài viết
Người dùng: Trên màn hình giao diện Admin, người dùng chọn Blogs trên thanh Menu
Hệ thống: Hiển thị danh sách bài viết Yêu cầu phi
chức năng
[N/A]
Bảng 1 2: Bảng phân rã chức năng Admin
Trang 101.3 Ma trận thực thể chức năng
Từ bảng phân tích chức năng, ta có ma trận thực thể như sau:
- Danh sách loại đồ ăn nhanh: Ta có thể chia thành nhiều danh mục để người dùngnhận biết
- Danh sách đồ ăn nhanh: Mỗi một đồ ăn sẽ có 1 ID riêng để phân biệt và quản lý
- Danh sách người dùng: Mỗi một người dùng sẽ có một tài khoản riêng để quản lýthông tin cá nhân, …
- Danh sách bài viết: Quản lý thông tin bài viết hiển thị trên trang chủ
- Danh sách user: Quản lý tài khoản của người dùng
Y/c 2 Hiển thị Website
Y/c 2.3 Hiển thị danh sách bài viết
Bảng 1 3:Ma trận thực thể chức năng
Giải thích:
Tác nhân: User (Khách hàng, Quản lý, Adminstator)
Trang 111.4. Sơ đồ phân rã chức năng
Hình 1 2: Biểu đồ phân rã chức năng 1.4.1 Các chức năng thuộc chức năng hiển thị thông tin Website
1.4.1.1 Hiển thị danh sách sản phẩm
Khách hàng khi xem sản phẩm sẽ bấm chọn nút sản phẩm trên thanh menu đểhiển thị danh sách sản phẩm
1.4.1.2 Hiển thị danh sách tin tức
Khách hàng khi xem tin tức sẽ bấm chọn nút tin tức trên thanh menu để hiển thịdanh sách tin tức
1.4.1.3 Hiển thị chi tiết tin tức
Với mỗi tin tức hiển thị, khi click vào tiêu đề hệ thống sẽ hiển thị một trang chitiết bài viết
1.4.1.3.1.Đặt hàng
Khách hàng sau khi đặt hàng sẽ đến trang thanh toán để tiến hành thanh toán
Trang 122 Đặc tả yêu cầu của phần mềm
2.1. Đặc tả yêu cầu chức năng đăng nhập của hệ thống Website
2.1.1 Use case chức năng đăng nhập hệ thống
Danh sách người dung
3 Nhập thông tin tài
khoản và mật
khẩu
4 Thực hiện đăngnhập vào hệ thống
Danh sách người dungLuồng sự kiện phụ: Sửa thông tin đăng nhập (tài khoản, mật khẩu)
Trang 132.1.2 Biểu đồ hoạt động của chức năng đăng nhập
Trang 142.1.3 Biểu đồ tuần tự chức năng đăng nhập
2.2. Đặc tả yêu cầu chức năng đặt bàn ăn trên trang chủ hệ thống
2.2.1 Use case chức năng đặt bàn ăn trên trang chủ hệ thống
2.2.2 Biểu đồ hoạt động của chức năng đặt bàn ăn
2.2.3 Biểu đồ tuần tự chức năng đặt bàn ăn
2.3. Đặc tả yêu cầu chức năng bình luận trên bài viết
2.3.1 Use case chức năng bình luận
Trang 152.3.2 Biểu đồ hoạt động của chức năng bình luận
2.3.3 Biểu đồ tuần tự chức năng bình luận
Trang 17CHƯƠNG 3 KẾ HOẠCH TEST
1 Test Scope
testing
Itegration Testing
Security & Access Control Testing
5 man days 0.5 man days 0.5 man days
3 Quản lý bình luận bài
vết và truy xuất trên
Website
5 man days 0.5 man days
0.5 man days
2 Feature/non feature to be test
- Chức năng test: Chức năng chính của sản phẩm như:
o Quản lý người dùng: Đăng nhập tài khoản Website
o Chức năng đặt bàn trên trang của Website
o Chức năng bình luận trên các bài viết của Website
- Chức năng không test:
o Quản lý người dung: Cập nhật thông tin người dùng, phản hồi người dùng
o Phân trang hệ thống, đăng bài viết
Trang 184 Test environment
ID Resouece Functional
Test/Integration Test Security &
Access Control Testing
System Test
1 Phiên bản Chạy trên code Chạy trên code
2 Database DB phát triển DB thiết lập riêng
2 Test designer: thiết kế testcase
-Định nghĩa cách tiếp cận test -Viết các testcase
3 Tester: hiện thực và chạy test case
-Hiện thực test và test suites a-Chạy test suil
-Ghi kết quả
System
Trang 191 Chức năng đặt bàn trên Website hệ thống
2 Chức năng bình luận trên trang bài Viết của hệ thống Non-testing features
o Quản lý người dung: Cập nhật thông tin người dùng, phản hồi người dùng
o Phân trang hệ thống, đăng bài viết
Man day
Trang 20STT Sản phẩm Ngày bàn
giao
Người bàn giao
Người nhận bàn giao
1 Test plan 23-11-20
2 Test cases 23-12-20
Trang 21CHƯƠNG 4 BẢNG CHECKLIST TESTCASE