Áp dụng kiểm thử tự động với chức năng đăng nhập ● Tại phần này, em thực hiện theo 2 chế độ sau: 1.3.1 Tab Manual ● Mục đích : Trong chế độ Manual này cho phép người dùng tạo ra kịch bả
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN KIỂM THỬ PHẦN MỀM
Đề tài: Kiểm thử Website bán đồ ăn pizza Sachiko
Sinh viên thực hiện : Phạm Minh Trí
Giảng viên hướng dẫn : LÊ THỊ TRANG LINH
Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : CÔNG NGHỆ PHẦN MỀM
Khóa : 2019-2024
Trang 3MỤC LỤC 1
Trang 4LỜI CẢM ƠN
Trên thực tế, không có sự thành công nào mà không gắn liền với những sự hỗ trợ, sự giúp
đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường Đại học đã đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của thầy cô, gia đình và bạn bè
Với lòng biết ơn sâu sắc nhất, em xin gửi đến thầy cô ở Khoa Công Nghệ Thông Tin- trường Đại Học Điện Lực đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thứcquý báu cho chúng em trong suốt thời gian học tập tại trường Và đặc biệt, trong kỳ này, em đượctiếp cận với môn học rất hữu ích đối với sinh viên ngành Công Nghệ Thông Tin Đó là môn:
“Kiểm thử và đảm bảo chất lượng phần mềm”.
Em xin chân thành cảm ơn cô Lê Thị Trang Linh đã tận tâm hướng dẫn chúng em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về môn học Trong thời gian được học tập và thực hành dưới sự hướng dẫn của cô, em không những thu được rất nhiều kiến thức bổ
ích, mà còn được truyền sự say mê và thích thú đối với bộ môn “Kiểm thử và đảm bảo chất lượng phần mềm” Nếu không có những lời hướng dẫn, dạy bảo của cô thì em nghĩ báo cáo này
rất khó có thể hoàn thành được
Mặc dù đã rất cố gắng hoàn thiện báo cáo với tất cả sự nỗ lực, tuy nhiên, do bước đầu đi vào thực tế, tìm hiểu và xây dựng báo cáo trong thời gian có hạn, và kiến thức còn hạn chế, nhiều
bỡ ngỡ, nên báo cáo Kiểm thử Website bán đồ ăn pizza Sachiko chắc chắn sẽ không thể tránh “ ”
khỏi những thiếu sót Em rất mong nhận được sự quan tâm, thông cảm và những đóng góp quý báu của các thầy cô và các bạn để báo cáo này được hoàn thiện hơn
Một lần nữa, em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp của thầy cô ạ
Trang 5CHƯƠNG 1: GIỚI THIỆU CÔNG CỤ KIỂM THỬ TỰ ĐỘNG KATALON STUDIO
1.1 Giới thiệu về Katalon Studio
a Đặc điểm
● Katalon Studio là một bộ công cụ toàn diện cho kiểm thử tự động hóa ứng dụng trên web
và điện thoại di động Công cụ này bao gồm một gói đầy đủ các tính năng mạnh mẽ giúp vượt qua những thách thức phổ biến trong tự động hóa thử nghiệm giao diện web, ví dụ như: pop-up, iFrame và wait-time Giải pháp thân thiện và linh hoạt này giúp tester thực hiện công tác kiểm tra tốt hơn, làm việc nhanh hơn và khởi chạy phần mềm chất lượng cao nhờ vào sự thông minh mà nó cung cấp cho toàn bộ quá trình tự động hóa kiểm thử Katalon Studio được xây dựng từ Selenium/Appium
b Các thành phần ( quan trọng )
● Katalon có những tính năng sau đây :
● Simple deployment: Một gói triển khai duy nhất, gắn kết chứa mọi thứ bạn cần để triển khai một công cụ kiểm tra tự động mạnh mẽ
● Quick & easy set-up: Không chỉ cung cấp sự cài đặt đơn giản, Katalon Studio cũng giúp bạn dễ dàng thiết lập môi trường Tester có thể chạy test script đầu tiên của họ khá nhanh bằng cách sử dụng mẫu được xây dựng trước và các test scripts, chẳng hạn như object repositories và keyword libraries
Trang 6○ INITIATE:
■ Tích hợp các mẫu dự án: bằng cách cung cấp sẵn các mẫu để tổ chức các test cases, object repository và keywords Katalon Studio làm cho việc kiểm tra dễ dàng hơn bao giờ hết
■ Nhiều khả năng: Hỗ trợ hoàn toàn kiểm tra Web, Android, iOS và API trêntất cả các hệ điều hành
■ Tích hợp công cụ phức tạp: Dễ dàng tích hợp với Jenkins, GIT và JIRA với các trình cắm thêm bản địa
■ Xử lý sự cố linh hoạt và tự động thực hiện lại: Bao gồm các quy tắc chạy
Trang 71.2 Cách tổ chức chương trình chạy với công cụ
● Để cài đặt Katalon trên thiết bị ta thực hiện theo các bước sau:
○ Bước 1: Truy cập đường link https://www.katalon.com/
● Nhập thông tin và click Get started! Để thực hiện đăng ký tài khoản
Trang 8■ Katalon Studio (KS): Được sử dụng như một IDE để viết test case, scripting
■ Katalon Runtime Engine (KRE): Hỗ trợ chạy test trong chế độ Command Line Interface(CLI)
○ Chú ý : Nếu bạn dùng tài khoản email đăng ký là business email (không phải email miễn phí, mail rác….) thì sẽ được 30 ngày trial enterprise verison, hết 30 ngày bạn sẽ tự động convert sang dạng miễn phí.
○ Bước 3: Sau download về máy tiến hành giải nén và mở ứng dụng trên máy tính
của bạn Để khởi động Katalon Studio, nhấp đúp vào katalon.exe
Trang 9Ứng dụng hiển thị như sau:
● Ở lần hiển thị đầu tiên, cửa sổ kích hoạt Studio Katalon: nhằm mục đích kiểm tra tài khoản mà bạn đang sử dụng là phiên bản bạn sử dụng là phiên bản enterprise, free hay đang trial Nhập email và mật khẩu đã đăng ký cho tài khoản Katalon của
bạn, sau đó nhấp vào nút Activate
Trang 10● Sau khi đăng nhập vào được, giao diện hiển thị:
1.3 Áp dụng kiểm thử tự động với chức năng đăng nhập
● Tại phần này, em thực hiện theo 2 chế độ sau:
1.3.1 Tab Manual
● Mục đích : Trong chế độ Manual này cho phép người dùng tạo ra kịch bản kiểm thử một cách dễ dàng mà không cần sử dụng tới kỹ năng lập trình Ở tab Manual gồm có các cột như Item, Object, Input, Output, Description để hiển thị các dữ liệu tương ứng với từng bước (keyword) thực hiện một test case
● Thao tác thực hiện :
● (1) Tạo 1 file testcase -> Màn hình hiển thị giao diện của một testcase mới
Trang 11● (2) Tại chế độ manual view này, ta sử dụng chức năng record để lưu lại các thao tác mình thực hiện trên website Trên thanh công cụ click Record Web
● (3) Thực hiện gán URL web mình thực thi test Click chrome record
● Khi quá trình record bắt đầu Katalon sẽ sinh ra 2 step mặc định: Open Browser vàNavigate to Url
Trang 12● (4) Sau khi thực hiện xong tất cả các thao tác trên UI và được record lại, ta close web và Lưu các step vừa ta đã thực hiện
Trang 14thi sau đó ấn nút Run màu xanh như hình bên dưới hoặc có thể ấn phím tắt (ví dụ: Ctrl+Shift+A trên Windows).
● Sau khi chạy xong test case, kết quả hiển thị như hình Ta có thể xem thời gian chạy testcase, kết quả Passed hoặc Failed và các thông tin khác trong Console và Log Viewer
Trang 152 Tab Script
● Ngoài chế độ tạo test case thủ công ở tab Manual, Katalon Studio còn cho phép người dùng viết câu lệnh để thực thi kiểm thử tự động dựa trên nền tảng ngôn ngữGroovy hoặc Java Vẫn với ví dụ đăng nhập http://localhost/dienmayxanh/có 6 bước
Trang 16năng phát triển của nó cho xã hội
2.2 Đặc tả yêu cầu phần mềm
2.2.1 Chức năng đăng nhập
2.2.1.1.Usecase Chức năng Đăng nhập
Trang 172.2.1.2 Mô tả chức năng
● Cho phép người dùng đăng nhập vào hệ thống
2.2.1.3 Dòng sự kiện (Flow of events)
Trang 182.2.1.3.1 Dòng sự kiện chính (Basic Flow)
● Chức năng này thực hiện khi: Người dùng hoặc người quản lý muốn đăng nhập vào hệ thống quản lý của cửa hàng
○ Bước 1: Chọn đăng nhập hệ thống
○ Bước 2: Hiển thị màn hình giao diện đăng nhập
○ Bước 3: Điền thông tin đăng nhập gồm: - Tài khoản
○ Thông tin không hợp lệ, thông báo đăng nhập thất bại, hỏi đăng nhập lại
○ Chọn đăng nhập lại sẽ quay lại thao tác từ bước 2
● Bước 6: Chọn chức năng đăng xuất sẽ thoát khỏi hệ thống
● Bước 7: Kết thúc
● c Luồng sự kiện phụ : nếu trong dòng sự kiện chính, người dùng nhập sai tên đăng nhập, mật khẩu, hệ thống sẽ hiển thị thông báo lỗi Người dùng có thể chọn trở về đầu dòng sự kiện chính hoặc hủy bỏ việc đăng nhập, lúc này use case kết thúc
2.2.1.3.2 Dòng sự kiện phụ ((Alternative Flow)
2.2.1.3.2.1 Duyệt dữ liệu thành công
● Nếu tác nhân đăng nhập thành công và muốn thoát khỏi hệ thống
● Lựa chọn chức năng đăng xuất - Kết thúc Use case
2.2.1.3.2.2 Duyệt dữ liệu không thành công
● Thông tin đăng nhập không hợp lệ
● Hệ thống thông báo hỏi, đăng nhập lại
● Đăng nhập lại: tác nhân điền lại thông tin đăng nhập
Trang 19● Quá trình đăng nhập tiếp tục diễn ra như đã nêu trên
Trang 202.2.2.3.1.Dòng sự kiện chính
● Chức năng này thực hiện khi: Người dùng hoặc người quản lý muốn đăng ký tài khoản
để đăng nhập
○ Bước 1: Chọn hệ thống đăng ký
○ Bước 2: Hiển thị màn hình giao diện đăng ký
○ Bước 3: Điền thông tin đăng ký gồm:
● Thông tin hợp lệ, đăng ký thành công , hiển thị giao diện chức năng của hệ thống
● Thông tin không hợp lệ, thông báo đăng ký thất bại, hỏi đăng ký lại
● Chọn đăng ký lại sẽ quay lại thao tác từ bước 2
Trang 21○ Bước 6: Chọn chức năng đăng xuất sẽ thoát khỏi hệ thống
○ Bước 7: Kết thúc
● Luồng sự kiện phụ
○ Nếu trong dòng sự kiện chính, người dùng nhập sai thông tin cần đăng ký như tên, mật khẩu, hệ thống sẽ hiển thị thông báo lỗi Người dùng có thể chọn trở về đầu dòng sự kiện chính hoặc hủy bỏ việc đăng ký, lúc này use case kết thúc
2.2.2.3.2.Dòng sự kiện phụ
2.2.2.3.2.1 Duyệt dữ liệu thành công
● Nếu tác nhân đăng ký thành công và muốn thoát khỏi hệ thống
● Lựa chọn chức năng đăng xuất
● Kết thúc Use case
2.2.1.3.2.2 Duyệt dữ liệu không thành công
● Thông tin đăng ký không hợp lệ
● Hệ thống thông báo lỗi, đăng ký lại
● Đăng ký lại: tác nhân điền lại thông tin cần đăng ký
● Quá trình đăng ký tiếp tục diễn ra như đã nêu trên
Trang 222.2.3 Chức năng quản lý thực đơn
2.2.3.1 Usecase quản lý thực đơn
Trang 232.2.3.3.1 Dòng sự kiện chính (Basic Flow)
● Bước 1: Người quản lý chọn đăng nhập vào hệ thống
● Bước 2: Điền thông tin đăng nhập gồm: - Mật khẩu - Tài khoản
Trang 24○ Xóa thông tin thực đơn
● Bước 7: Nhập thông tin
● Bước 8: Hệ thống thực hiện yêu cầu nhập vào
● Bước 9: Người quản lý đóng chức năng của quản lý thực đơn
● Bước 10: Kết thúc
2.2.3.3.2 Dòng sự kiện phụ (Alternative Flow)
● Khi người sử dụng chức năng bị nhập sai thông tin hoặc không có dữ liệu dưới BD thì hiển thị message thông báo yêu cầu cần nhập lại hoặc thực hiện thất bại
2.2.4 Chức năng giỏ hàng
2.2.4.1 Use case Giỏ hàng
2.2.4.2 Mô tả chức năng (Brief description)
● Giỏ hàng điện tử cho phép người mua hàng có thể cùng lúc đặt mua nhiều sản phẩm với các số lượng khác nhau Hệ thống sẽ tự động tính toán giá trị giỏ hàng theo các sản phẩm đặt mua Quá trình đặt hàng thông qua giỏ hàng điện tử cho phép thu thập đầy đủ các thông tin của người mua hoặc thành viên kèm theo các thông tin thanh toán Các thông tin này trợ giúp bộ phận bán hàng trong quá trình quản trị và xử lý đơn hàng
2.2.4.3 Dòng sự kiện (Flow of events)
Trang 252.2.4.3.1 Dòng sự kiện chính (Basic Flow)
● Bước 1: Khởi tạo và hiển thị danh sách sản phẩm
Trang 26● Khi người dùng thêm sản phẩm vào giỏ hàng sẽ bắt người dùng đăng nhập nếu chưa có thì sẽ đăng ký tài khoản
2.2.5 Chức năng tìm kiếm sản phẩm
2.2.5.1 Use case tìm kiếm sản phẩm
2.2.5.2 Mô tả chức năng
● Người dùng có thể tìm kiếm sản phẩm mình mong muốn bằng chức năng đăng nhập rất
dễ dàng và tiện lợi Tiết kiệm đc rất nhiều thời gian cho người dùng
2.2.5.3 Dòng sự kiện (Flow of events)
2.2.5.3.1 Dòng sự kiện chính (Basic Flow)
Trang 27● Bước 1 : Người dùng nhập tên sản phẩm muốn tìm kiếm
● Bước 2 : Nếu hệ thống tìm thấy sản phẩm thì sẽ hiển thị sản phẩm đó Ngược lại nếu không tìm thấy sản phẩm sẽ thông báo cho người dùng là không tìm thấy sản phẩm nào như vậy
● Bước 3 Hiển thị sản phẩm như người dùng đã tìm kiếm
● Bước 4 Kết thúc
2.2.5.3.2 Dòng sự kiện phụ (Alternative Flow)
● Nếu hệ thống không tìm thấy sản phẩm nào hợp lệ với yêu cầu của người dùng thì hệ thống sẽ thông báo không có bất kỳ sản phẩm nào như vậy hoặc không hiển thị gì
Trang 28CHƯƠNG 3: KẾ HOẠCH TEST
3.1 Mục đích của kế hoạch test
● Xác định những thông tin dự án và các thành phần dự án cần được kiểm thử
● Liệt kê những yêu cầu kiểm thử (Test Requirements)
● Nêu ra những phương pháp, chiến lược kiểm thử nên sử dụng
● Xác định nguồn lực
● Xác định rõ phạm vi kiểm thử
● Xác định môi trường kiểm thử
Trang 293.2 Test Scope
Testing Integratio n Testing Security & Access Control Testing
1 Quản lý Đăng nhập, Đăng xuất,
3 Quản lý người dùng 4 man days 1 man days 1man days
4 Xử lý chức năng giỏ hàng 3 man days 0.5 man
days 0.5 man days
○ Nhập email sai và mật khẩu đúng
○ Nhập đúng email và sai mật khẩu
○ Nhập sai định dạng email
Trang 30○ Kiểm tra hiển thị khi dữ liệu tìm kiếm không có dưới gird
○ Kiểm tra hiển thị khi tìm kiếm dữ liệu có dưới gird
○ Kiểm tra hiển thị khi không nhập dữ liệu mà click Tìm kiếm
❖ Xử lý giỏ hàng:
● Tại tài khoản người dùng thêm sản phẩm vào giỏ hàng
○ Thanh toán khi không có sản phẩm nào
○ Thanh toán khi có sản phẩm rồi xoá sản phẩm khỏi giỏ hàng
○ Thêm sản phẩm rồi thanh toán
● Chức năng không test: Thống kê báo cáo, xóa sản phẩm , xoá người
dùng
● Các tiêu chuẩn đánh giá chất lượng phần mềm:
○ Hệ thống vận hành tốt, không gặp phải các lỗi như trên
○ Ổn định, hạn chế tối đa thời gian ngắt quãng
○ Tốc độ tải trang nhanh
● Việc test chỉ dừng lại khi:
○ Hết thời gian triển khai dự án
3.5 Test Environment
ID Resource 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
Trang 312 Database DB phát triển DB thiết lập riêng,
viết trên MySQL
- Định nghĩa cách tiếp cận test
- Viết các test caseTester: Thực hiện excutetest
- Hiện thực test và test suites
- Chạy test suil
- Ghi kết quả
Trang 321 Quản lý đăng nhập/
đăng xuất
Phạm MinhTrí
1 Test plan 22/11/2022 Phạm Minh Trí Lê Thị Trang Linh
2 Testcases 22/11/2022 Phạm Minh Trí Lê Thị Trang Linh
Trang 33CHƯƠNG 4: XÂY DỰNG VÀ THỰC HIỆN CÁC TEST CASE
4.1 Test chức năng Đăng Nhập/ Đăng xuất
1.Các item hiển thị đúng với giá trị được get từ DB
Minh Trí
1 Màn hình đăng nhập đang hiển thị được hiển thị với
- Các label, textbox, combo có độ dài vừa phải, khoảng cách bằng nhau, không xô lệch
Pass
Trang 341 Màn hình đăng nhập đang hiển thị được hiển thị với
- không có lỗi chính tả
1 Màn hình đăng nhập đang hiển thị được hiển thị với
1 Màn hình đăng nhập đang hiển thị được hiển thị với
- Font chữ thống nhấtFont size
1 Màn hình đăng nhập đang hiển thị được hiển thị với
- Màu Các đối tượng
dễ nhìn
Pass
Trang 351 Màn hình đăng nhập đang hiển thị được hiển thị với
- Text trên table không bị che
1 Màn hình đăng nhập đang hiển thị được hiển thị với
- Layout không bị vỡ khi thực hiện zoom in/zoom out
1.Các item hiển thị đúng với giá trị được get từ DB
Trang 36hình nhập đang
hiển thị
được hiển thị với
- giao diện giống như design
- Các label, textbox, combo có độ dài vừa phải, khoảng cách bằng nhau, không xô lệch
- Các trường bắt buộc thì phải có dấu *
- Form được
bố trí hợp lý
và dễ sử dụng
- không có lỗichính tả
- Font chữ thống nhất về Font type và Font size
- Màu Các đốitượng dễ nhìn
- Text trên table không bịche
Trang 37- Layout không bị vỡ khi thực hiện zoom in/zoomout
2 Nhập đúng mật
3 Click button Đăng nhập
3 Hiển thị message lỗi (“Sai mật khẩu hoặc email”)
Minh Trí
Trang 382 Không nhập mật khẩu
3 Click button Đăng nhập
3 Hiển thị message lỗi (“Vui lòng điền trường này”)
3 Hiển thị message lỗi (“Vui lòng điền trường này”)
2 Nhập đúng
3 Đăng nhập thành công vào hệ thống
Pass
Trang 393 Hiển thị message
“Đăng nhập thất bại“
Fail
Trang 409 ký tự
1 Hiển thị message lỗi “Đăng nhập thất bại”
1 Đăng nhập thành công vào hệ thống
1 Hiển thị message lỗi “Đăng nhập thất bại”
Fail
Trang 411 Đăng nhập thành công vào hệ thống
2 Nhập mật khẩu hợp lệ
1 Hiển thị message lỗi “Đăng nhập thất bại”
Fail
Trang 42và số
1 Đăng nhập thành công vào hệ thống
1 Hiển thị message lỗi “Đăng nhập thất bại”
2 Nhập mật khẩu hợp lệ
1 Hiển thị message lỗi “Đăng nhập thất bại”
Fail