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

Kiểm thử tự động với công cụ katalon studio trên hệ thống nopcommerce

105 15 3

Đ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

Thông tin cơ bản

Tiêu đề Kiểm Thử Tự Động Với Công Cụ Katalon Studio Trên Hệ Thống Nopcommerce
Tác giả Cao Như Uyên
Người hướng dẫn TS. Phan Đình Vấn
Trường học Trường Đại Học Kinh Tế Đà Nẵng
Chuyên ngành Hệ Thống Thông Tin Quản Lý
Thể loại Báo Cáo Thực Tập Nghề Nghiệp
Thành phố Đà Nẵng
Định dạng
Số trang 105
Dung lượng 4,73 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1.2.2 Vai trò và trách nhiệm của Tester Vai trò của Tester là kiểm tra phần mềm hoặc sản phẩm để đảm bảo rằng chúng hoạt động đúng và đáp ứng được các yêu cầu của người dùng.. Tester đón

Trang 1

TRƯỜNG ĐẠI HỌC KINH TẾ KHOA THỐNG KÊ – TIN HỌC

BÁO CÁO THỰC TẬP NGHỀ NGHIỆP NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ

CHUYÊN NGÀNH QUẢN TRỊ HỆ THỐNG THÔNG TIN

KIỂM THỬ TỰ ĐỘNG VỚI CÔNG CỤ KATALON STUDIO

TRÊN HỆ THỐNG NOPCOMMERCE

Đơn vị thực tập : TMA Solutions Bình Định

Giảng viên hướng dẫn : TS Phan Đình Vấn

Trang 2

i

LỜI CẢM ƠN

Để hoàn thành bài báo cáo thực tập nghề nghiệp lần này trước hết em xin gửi đến quý thầy cô khoa Thống kê – Tin học trường đại học Kinh tế Đà Nẵng lời cảm ơn chân thành nhất vì đã tạo điều kiện cho em có một kì thực tập rất ý nghĩa Và em xin cảm ơn thầy Phan Đình Vấn đã tận tình hướng dẫn em trong quá trình thực tập này !

Đặc biệt em xin gửi lời cảm ơn đến TMA Solutions Bình Định đã tạo điều kiện cho

em được tiếp xúc với môi trường làm việc thực tiễn về ngành nghề em theo đuổi trong quá trình thực tập ở công ty

Cuối cùng chúng em xin cảm ơn team DG4, anh Nguyễn Lê Anh Tuấn đã tận tình giảng dạy các kiến thức về chuyên môn, các buổi chia sẻ về kinh nghiệm làm việc cũng như các kỹ năng mềm….để em có thể hoàn thành báo cáo thực tập nghề nghiệp này

Với những kiến thức còn thiếu sót, những kỹ năng còn hạn hẹp, chúng em không thể tránh được những sai lầm, em mong thầy cô cũng như công ty có thể thông cảm và bỏ qua cho chúng em Em xin chúc quý thầy cô, cũng như các anh chị trong team DG4 sẽ luôn khỏe mạnh, hoàn thành tốt công việc của mình và luôn hạnh phúc

Em xin chân thành cảm ơn!

Trang 3

ii

LỜI CAM ĐOAN

Em xin cam đoan đây là bài báo cáo thực tập nghề nghiệp của em và bạn Cao Như Uyên dưới sự hướng dẫn của giáo viên Phan Đình Vấn và được thực hiện dưới sự hướng dẫn của các mentor, không có bất kỳ sự sao chép của người khác Nội dung ở trong đề tài là báo cáo quá trình mà chúng em đã được học tập, nghiên cứu, tham gia dự án với công ty để thực hiện Các số liệu, kết quả trình bày trong bài báo cáo này là hoàn toàn trung thực

Nếu có những sao chép không hợp lệ, vi phạm em xin chịu hoàn toàn trách nhiệm, kỷ luật của bộ môn và nhà trường

Trang 4

iii

MỤC LỤC

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

MỤC LỤC iii

DANH MỤC HÌNH ẢNH vii

DANH MỤC BẢNG BIỂU ix

DANH MỤC CÁC TỪ VIẾT TẮT x

LỜI MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu nghiên cứu của đề tài 1

3 Phương pháp nghiên cứu 2

4 Đối tượng và phạm vi của đề tài 2

5 Nội dung của đề tài 2

CHƯƠNG 1 TỔNG QUAN VỀ TMA SOLUTIONS BÌNH ĐỊNH & tester 3 1.1 Giới thiệu về công ty TMA Solutions Bình Định: 3

1.1.1 Lịch sử hình thành 3

1.1.2 Lĩnh vực hoạt động và công nghệ sử dụng 3

1.1.3 Cơ hội việc làm 3

1.2 Tổng quan về nghề Tester 4

1.2.2 Vai trò và trách nhiệm của Tester 4

1.2.3 Những kỹ năng cần có của Tester 5

1.2.4 Triển vọng của nghề Tester - Nghề Tester ở Việt Nam hiện nay 6

Trang 5

iv

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM 6

2.1 Tìm hiểu về Software Testing 6

2.1.1 Software Testing là gì? 6

2.1.2 Tại sao kiểm thử phần mềm là cần thiết? 6

2.1.3 Bảy nguyên tắc kiểm thử 6

2.2 Quy trình kiểm thử phần mềm 7

2.2.1 Requirement analysis - Phân tích yêu cầu 7

2.2.2 Test planning - Lập kế hoạch kiểm thử 7

2.2.3 Test case development - Thiết kế kịch bản kiểm thử 8

2.2.4 Test execution – Thực hiện kiểm thử 8

2.2.5 Test cycle closure – Đóng chu trình kiểm thử 8

2.3 Các loại kiểm thử phần mềm 8

2.3.1 Manual Testing 8

2.3.2 Automation Testing 9

2.4 Các cấp độ kiểm thử phần mềm 9

2.4.1 Unit Test 9

2.4.2 Integration Test 9

2.4.3 System Test 10

2.4.4 User Acceptance Test 10

2.5 Các phương pháp kiểm thử phần mềm 10

2.5.1 Kiểm thử hộp đen 10

2.5.2 Kiểm thử hộp trắng 11

2.6 Test case 11

2.6.1 Test case là gì? 11

Trang 6

v

2.6.2 Tham số đặc trưng của Test case 11

2.7 Report Bug 12

2.7.1 Tại sao bạn nên quan tâm đến giải thích lỗi tốt? 12

2.7.2 Chúng ta nên làm gì trước khi báo lỗi? 12

2.7.3 Tham số đặc trưng của Report Bug 12

2.8 Xpath 13

2.8.1 Xpath là gì? 13

2.8.2 Các loại Xpath 13

2.9 Tổng quan về công cụ Katalon Studio 13

2.10 Giới thiệu về ngôn ngữ Groovy 14

CHƯƠNG 3 TRIỂN KHAI DỰ ÁN KIỂM THỬ TỰ ĐỘNG VỚI CÔNG CỤ KATALON STUDIO TRÊN HỆ THỐNG NOPCOMMERCE 15

3.1 Tổng quan trang web Nopcommerce 15

3.2 Sơ đồ Usecase của hệ thống 15

3.3 Đặc tả yêu cầu 16

3.3.1 Đặc tả yêu cầu cho chức năng “Đăng nhập” 16

3.3.2 Đặc tả yêu cầu cho chức năng ‘Quản lý sản phẩm’ 19

CHƯƠNG 4 THỰC HIỆN KIỂM THỬ 37

4.1 Môi trường kiểm thử 37

4.2 Dữ liệu kiểm thử 37

4.3 Trạng thái của Test case 37

4.4 Thiết kế các Test case 37

4.4.1 Test case Login 38

4.4.2 Test case Producst 38

Trang 7

vi

4.5 Triển khai code tự động trên Katalon 39

4.5.1 Tạo các Keyword 39

4.5.2 Một vài Xpath được thực hiện 40

4.5.3 Thực thi các test case 41

4.5.4 Kết quả Test Suites thực hiện được 46

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 47

1 Kết quả đạt được 47

2 Bài học kinh nghiệm 47

3 Hướng phát triển 48

TÀI LIỆU THAM KHẢO 49

CHECK LIST CỦA BÁO CÁO 50

PHỤ LỤC 51

Trang 8

vii

DANH MỤC HÌNH ẢNH

Hình 1.1 Công ty TMA Solutions Bình Định 4

Hình 2.1 Bảy nguyên tắc kiêm thử 6

Hình 2.2 Quy trình kiểm thử phần mềm 7

Hình 2.3 Các cấp độ kiểm thử phần mềm 9

Hình 2.4 Kiểm thử hộp đen 11

Hình 2.5 Kiểm thử hộp trắng 11

Hình 2.6 Công cụ Katalon Studio 14

Hình 3.1 Sơ đồ Usecase của hệ thống 16

Hình 3.2 Giao diện màn hình đăng nhập 17

Bảng 3.1 Phân tích Usecase đăng nhập 17

Hình 3.3 Giao diện màn hình Login của trang web 18

Bảng 3.2 Hệ thống kiểm tra dữ liệu đầu vào của Login 18

Hình 3.4 Giao diện của trang web khi đăng nhập thành công 19

Hình 3.5 Giao diện của chức năng quản lý sản phầm 19

Bảng 3.3 Phân tích Usecase của Products 22

Bảng 3.4 Hệ thống kiểm tra dữ liệu đầu vào của button Products 23

Hình 3.6 Giao diện màn hình hiển thị sản phẩm mà người dùng muốn tìm kiếm 23

Hình 3.7 Giao diện màn hình thêm sản phẩm 24

Bảng 3.5 Phân tích chức năng Products infor 26

Bảng 3.6 Phân tích chức năng Prices 26

Bảng 3.7 Phân tích chức năng Shipping 27

Hình 3.8 Giao diện màn hình thêm mới một sản phẩm 27

Bảng 3.8 Hệ thống kiểm tra dữ liệu đầu vào của button Add New 27

Hình 3.9 Giao diện màn hình khi tìm kiếm sản phẩm 28

Hình 3.10 Giao diện màn hình tải danh sách sản phẩm dưới dạng PDF 28

Trang 9

viii

Hình 3.11 Giao diện màn hình xuất tệp sản phẩm 29

Hình 3.12 Giao diện màn hình để lựa chọn các mục để xuất sản phẩm 30

Hình 3.13 Giao diện màn hình để nhập tệp sản phẩm 31

Hình 3.14 Giao diện màn hình khi Click vào button Import 31

Bảng 3.9 Hệ thống kiểm tra dữ liệu đầu vào của button Import 32

Hình 3.15 Giao diện màn hình khi chọn sản phẩm để xóa 32

Hình 3.16 Giao diện màn hình để xác nhận xóa sản phẩm 33

Hình 3.17 Giao diện màn hình tìm kiếm lại sản phẩm đã xóa 33

Bảng 3.10 Hệ thống kiểm tra dữ liệu đầu vào của button Delete 34

Hình 3.18 Giao diện màn hình để người dùng click vào button chỉnh sửa 34

Hình 3.19 Giao diện màn hình khi người dùng chỉnh sửa thông tin 35

Hình 3.20 Giao diện màn hình khi người dùng lưu sản phẩm 37

Hình 3.21 Giao diện màn hình khi người dùng tìm kiếm lại sản phẩm đã chỉnh sửa 37

Bảng 4.1 Thống kế số Testcase được viết 38

Hình 4.1 Xpath của hộp thoại Email 40

Hình 4.2 Xpath của hộp thoại Password 40

Hình 4.3 Kết quả Test Suites của màn hình Login 47

Hình 4.4 Kết quả Test Suites của màn hình Products 47

Trang 10

ix

DANH MỤC BẢNG BIỂU

Bảng 3.1 Phân tích Usecase đăng nhập 17

Bảng 3.2 Hệ thống kiểm tra dữ liệu đầu vào của Login 18

Bảng 3.3 Phân tích Usecase của Products 22

Bảng 3.4 Hệ thống kiểm tra dữ liệu đầu vào của button Products 23

Bảng 3.5 Phân tích chức năng Products infor 26

Bảng 3.6 Phân tích chức năng Prices 26

Bảng 3.7 Phân tích chức năng Shipping 27

Bảng 3.8 Hệ thống kiểm tra dữ liệu đầu vào của button Add New 27

Bảng 3.9 Hệ thống kiểm tra dữ liệu đầu vào của button Import 32

Bảng 3.10 Hệ thống kiểm tra dữ liệu đầu vào của button Delete 34

Bảng 4 1 Thống kế số Testcase được viết 38

Trang 11

x

DANH MỤC CÁC TỪ VIẾT TẮT

SRS : Tài liệu đặc tả yêu cầu

CNTT : Công nghệ thông tin

QA : Đảm bảo chất lượng

QC : Quản lý chất lượng

SKU : Đợn vị phân loại hàng hóa tồn kho

Trang 12

2 Mục tiêu nghiên cứu của đề tài

Nghiên cứu khả năng của công cụ Katalon Studio trong việc kiểm thử tự động các tính năng của hệ thống nopCommerce

Tìm hiểu và đánh giá hiệu suất của công cụ Katalon Studio trong việc kiểm thử tự động các tính năng của hệ thống nopCommerce bằng cách đo lường thời gian thực hiện các kịch bản kiểm thử và tài nguyên hệ thống sử dụng

Trang 13

2

3 Phương pháp nghiên cứu

- Tham khảo những tài liệu có liên quan đến đề tài trên các website

- Tham khảo ý kiến và sự giúp đỡ từ mentor

4 Đối tượng và phạm vi của đề tài

- Đối tượng: Kỹ thuật kiểm thử tự động bằng công cụ Katalon Studio trên nền tảng website thương mại điện tử nopCommerce

5 Nội dung của đề tài

Đề tài được tổ chức gồm phần mở đầu, 4 chương nội dung và phần kết luận:

 Mở đầu

 Chương 1: Tổng quan về Công ty TMA Solutions Bình Định và Tester

 Chương 2: Cơ sở lý thuyết về kiểm thử phần mềm

 Chương 3: Tổng quan về công cụ Katalon Studio và trang web thương mại

điện tử Nopcommerce

 Chương 4: Triển khai kiểm thử tự động trên trang web thương mại điện tử

Nopcommerce bằng công cụ Katalon Studio tại

 Kết luận và hướng phát triển

Trang 14

3

CHƯƠNG 1 TỔNG QUAN VỀ TMA SOLUTIONS BÌNH ĐỊNH & TESTER 1.1 Giới thiệu về công ty TMA Solutions Bình Định:

1.1.1 Lịch sử hình thành

Được thành lập năm 1997, TMA là tập đoàn công nghệ hàng đầu Việt Nam với

4000 kỹ sư và khách hàng là những tập đoàn công nghệ cao hàng đầu thế giới từ 30 quốc gia TMA hiện có 7 chi nhánh tại Việt Nam (6 tại Tp.HCM và 1 ở Tp Quy Nhơn) cùng 6 chi nhánh ở nước ngoài (Mỹ, Úc, Canada, Đức, Nhật, Singapore)

Tháng 6 năm 2018, TMA đã mở chi nhánh tại Bình Định - dự án đầu tư quy mô lớn của TMA Solutions Tháng 8 năm 2018, TMA đã khởi công xây dựng Công viên Sáng tạo TMA Bình Định (TMA Innovation Park – TIP) trên 10 hecta tại Thung lũng Sáng tạo Quy Nhơn (Quy Nhon Innovation Park – QNIVY) với vốn đầu tư hàng trăm tỷ đồng

1.1.2 Lĩnh vực hoạt động và công nghệ sử dụng

TMA Solutions là một công ty công nghệ thông tin hàng đầu, hoạt động trong nhiều lĩnh vực khác nhau, bao gồm Tài chính, Ngân hàng & Bảo hiểm, Thương mại điện tử và Phân phối; Sức khỏe/ Y tế; Giáo dục; Nông nghiệp và Chế biến thực phẩm; Vận tải và Logistic; Khách sạn và Du lịch; Viễn thông

Sử dụng công nghệ 4.0 - TMA đã có gần 10 năm làm việc với các tập đoàn công nghệ hàng đầu thế giới và các trường đại học lớn về các công nghệ 4.0 với hơn 4000 kỹ sư kinh nghiệm trong các lĩnh vực Trí tuệ nhân tạo/ máy học, Khoa học dữ liệu, IOT và Thiết

bị thông minh, 4G/5G… và đã thành lập các Trung tâm Sáng tạo (TMA Innovation Center), Trung tâm Trí tuệ Nhân tạo (TMA AI Center), Trung tâm Thiết bị Thông minh (TMA Smart Device Center), …

1.1.3 Cơ hội việc làm

TMA Solutions Bình Định cung cấp nhiều cơ hội việc làm hấp dẫn trong lĩnh vực công nghệ thông tin Một trong những cơ hội việc làm tại TMA Solutions Bình Định là làm việc trên các dự án công nghệ thông tin quan trọng và đa dạng Mở ra cơ hội làm việc

Trang 15

1.2.2 Vai trò và trách nhiệm của Tester

Vai trò của Tester là kiểm tra phần mềm hoặc sản phẩm để đảm bảo rằng chúng hoạt động đúng và đáp ứng được các yêu cầu của người dùng Tester đóng vai trò quan trọng trong quá trình phát triển phần mềm bởi vì họ giúp đảm bảo rằng sản phẩm cuối cùng

là ổn định, có hiệu suất tốt và đáp ứng được các yêu cầu của khách hàng

Các trách nhiệm của tester bao gồm:

+ Lập kế hoạch và thiết kế chiến lược kiểm thử

Trang 16

5

+ Thực hiện kiểm thử

+ Đánh giá kết quả kiểm thử

+ Đảm bảo chất lượng sản phẩm

+ Tương tác với các thành viên khác trong nhóm phát triển

1.2.3 Những kỹ năng cần có của Tester

- Kiến thức về kiểm thử phần mềm: Tester cần hiểu về các phương pháp, kỹ thuật kiểm thử phần mềm như kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống, kiểm thử chấp nhận, kiểm thử tải, kiểm thử bảo mật, và các phương pháp kiểm thử khác

- Kiến thức về quy trình phát triển phần mềm: Tester cần hiểu về quy trình phát triển phần mềm như Waterfall, Agile, Scrum để hiểu được vai trò và công việc của mình trong quy trình đó

- Hiểu biết về ngôn ngữ lập trình: Một kiến thức cơ bản về ngôn ngữ lập trình như Java, C#, Python giúp tester có khả năng đọc và hiểu mã nguồn phần mềm, giúp viết các kịch bản kiểm thử tự động

- Kỹ năng ghi chép và tài liệu: Tester cần có khả năng ghi chép chi tiết về các lỗi, vấn đề phát sinh trong quá trình kiểm thử và viết báo cáo kiểm thử Kỹ năng viết tài liệu kiểm thử giúp các thành viên khác trong dự án hiểu rõ về quy trình và kết quả kiểm thử

- Kỹ năng phân tích và giải quyết vấn đề: Tester cần có khả năng phân tích các yêu cầu, tài liệu phân tích thiết kế để xác định các kịch bản kiểm thử hiệu quả Khi phát hiện lỗi, tester cần có khả năng phân tích nguyên nhân và giải quyết vấn đề một cách logic

- Hiểu biết về công cụ kiểm thử: Tester cần hiểu và sử dụng các công cụ kiểm thử phần mềm như Selenium, JUnit, Appium, JIRA, và các công cụ kiểm thử tự động khác để tăng hiệu suất và tự động hóa quá trình kiểm thử

- Kỹ năng giao tiếp: Tester cần có khả năng giao tiếp tốt với các thành viên trong

dự án như lập trình viên, nhà quản lý dự án và khách hàng để hiểu rõ yêu cầu và thông báo kết quả kiểm thử một cách rõ ràng

Trang 17

- Tinh thần cầu tiến và học tập liên tục: Lĩnh vực kiểm thử phần mềm luôn đổi mới

và phát triển, tester cần có tinh thần cầu tiến và sẵn sàng học tập liên tục để nắm bắt các công nghệ, phương pháp và xu hướng mới trong lĩnh vực này

1.2.4 Triển vọng của nghề Tester- Nghề Tester ở Việt Nam hiện nay

Hiện nay, nghề Tester (kiểm thử phần mềm) ở Việt Nam đang trở nên ngày càng phổ biến và có nhu cầu cao Với sự phát triển mạnh mẽ của ngành công nghiệp phần mềm

và công nghệ thông tin ở Việt Nam, nhu cầu tuyển dụng tester đang tăng cao Tester có thể làm việc trong nhiều lĩnh vực khác nhau, từ ứng dụng di động, phần mềm desktop, trang

web, đến các hệ thống phức tạp như trí tuệ nhân tạo (AI) và Internet of Things (IoT) Tính

tự động hóa kiểm thử đang trở nên phổ biến hơn ở Việt Nam nên Tester có thể sử dụng các

công cụ kiểm thử tự động để tăng hiệu suất và tiết kiệm thời gian Lương của tester ở Việt

Nam có thể khá hấp dẫn, đặc biệt đối với những tester có kỹ năng và kinh nghiệm nổi bật

Cơ hội phát triển trong lĩnh vực này cũng rất lớn, vì việc kiểm thử phần mềm đóng vai trò quan trọng trong việc đảm bảo chất lượng và uy tín của sản phẩm trong quy trình phát triển

sản phẩm

Trang 18

6

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM

2.1 Tìm hiểu về Software Testing

2.1.1 Software Testing là gì?

Software Testing là một phương pháp để kiểm tra xem sản phẩm phần mềm thực

tế có phù hợp với yêu cầu mong đợi hay không và để đảm bảo rằng sản phẩm phần mềm không có lỗi Mục đích của kiểm thử phần mềm là xác định các lỗi, lỗ hổng hoặc các yêu cầu còn thiếu so với yêu cầu thực tế

2.1.2 Tại sao kiểm thử phần mềm là cần thiết?

Kiểm thử phần mềm để chỉ ra các khiếm khuyết và lỗi đã được thực hiện trong các giai đoạn phát triển Điều này rất cần thiết vì nó đảm bảo rằng khách hàng thấy tổ chức đáng tin cậy và sự hài lòng của họ đối với ứng dụng được duy trì Và quan trọng là đảm bảo rằng ứng dụng sẽ không dẫn đến bất kỳ lỗi nào vì nó có thể rất tốn kém trong tương lai hoặc trong các giai đoạn phát triển sau này

2.1.3 Bảy nguyên tắc kiểm thử

Hình 2.1 Bảy nguyên tắc kiêm thử

- Testing shows presence of defects (Thử nghiệm cho thấy sự hiện diện của lỗi)

- Exhaustive testing is impossible (Thử nghiệm toàn diện là không thể)

- Early testing (Thử nghiệm sớm)

- Defect clustering (Phân cụm lỗi)

Trang 19

7

- Pesticide paradox (Nghịch lý thuốc trừ sâu)

- Testing is context dependent (Thử nghiệm phụ thuộc vào ngữ cảnh)

- Absence – of – errors fallacy (Ngụy biện vắng mặt – có lỗi)

2.2 Quy trình kiểm thử phần mềm

Hình 2.2 Quy trình kiểm thử phần mềm

2.2.1 Requirement analysis - Phân tích yêu cầu

Giai đoạn đầu tiên của quy trình kiểm thử là phân tích các yêu cầu thông qua những tài liệu bao gồm: tài liệu yêu cầu của khách hàng, prototype của khách hàng, tài liệu đặc tả yêu cầu của phần mềm, tài liệu thiết kế hệ thống…

QA team có nhiệm vụ phân tích và xác định những yêu cầu của khách hàng, trong đó có yêu cầu về kiểm thử chức năng/phi chức năng của phần mềm

2.2.2 Test planning - Lập kế hoạch kiểm thử

Dựa vào tài liệu nhận được trong giai đoạn đầu, Test Lead hoặc Test Manager sẽ lên kế hoạch kiểm thử phần mềm cho QA team để xác định một số yếu tố:

- Phạm vi dự án: Thời gian thực hiện dự án bao lâu? Trong từng khoảng thời gian

Trang 20

8

2.2.3 Test case development - Thiết kế kịch bản kiểm thử

Trong giai đoạn này, các Tester sẽ đọc hiểu tất cả các tài liệu, từ đó xác định những việc cần làm, chức năng nào cần test hoặc không Sau đó, dựa vào kế hoạch và kỹ thuật thiết kế kịch bản kiểm thử, Tester sẽ bắt đầu viết test case Test environment set up - Thiết

lập môi trường kiểm thử

Đây là một trong những giai đoạn đóng vai trò rất quan trọng trong Software Testing Life Cycle (vòng đời phát triển phần mềm) Dựa trên yêu cầu khách hàng và đặc thù của sản phẩm, môi trường kiểm thử sẽ được xác định Tester cần chuẩn bị smoke test case để kiểm tra môi trường cài đặt đã đáp ứng yêu cầu và sẵn sàng cho giai đoạn kiểm thử tiếp theo hay chưa

2.2.4 Test execution – Thực hiện kiểm thử

Theo test case đã thiết kế và môi trường kiểm thử đã hoàn tất cài đặt, Tester sẽ báo cáo bug lên tool quản lý lỗi và theo dõi đến khi fix bug thành công Tiếp đó, Tester thực hiện retest để verify các fix bug và regression test trong trường hợp có sự thay đổi Sau khi hoàn tất giai đoạn này, các chuyên viên kiểm thử cần có được test results (kết quả kiểm thử) và defect reports (danh sách các lỗi tìm được)

2.2.5 Test cycle closure – Đóng chu trình kiểm thử

Để đóng chu trình kiểm thử, QA team cần có được những tài liệu đã được tổng hợp và hoàn thiện từ những giai đoạn trước: tài liệu phân tích đặc tả yêu cầu, test plan, defect reports, test results… Tiếp đó, QA team sẽ tổng kết, báo cáo về quá trình kiểm thử, có bao nhiêu bug đã được fix, bug có nghiêm trọng hay không, chức năng nào còn lỗi, chức năng nào đã hoàn thành…

Trang 21

9

người dùng cuối và kiểm thử phần mềm để xác định bất kỳ hành vi không mong đợi hoặc lỗi nào Có các giai đoạn khác nhau cho kiểm thử thủ công như kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống và kiểm thử chấp nhận của người dùng

2.3.2 Automation Testing

Kiểm thử tự động - Test Automation, là khi người kiểm thử viết kịch bản và sử dụng phần mềm khác để kiểm thử sản phẩm Quá trình này bao gồm việc tự động hóa một quy trình thủ công Kiểm thử tự động được sử dụng để chạy lại các kịch bản kiểm thử đã được thực hiện bằng tay một cách nhanh chóng và lặp đi lặp lại

Trang 22

10

được thực hiện sau khi kiểm tra đơn vị và trước khi kiểm tra hệ thống Một số phương pháp kiểm thử tích hợp:

+ Phương pháp kiểm thử Top Dowm

+ Phương pháp kiểm thử Bottom Up

+ Phương pháp kiểm thử Sandwich

2.4.3 System Test

System Test là thực hiện kiểm thử một hệ thống đã được tích hợp hoàn chỉnh để xác minh rằng nó đúng yêu cầu của phần mềm Kiểm thử hệ thống nằm trong phạm vi kiểm thử hộp đen và do đó, không yêu cầu kiến thức về thiết kế bên trong của mã hoặc logic System Test thường là thử nghiệm cuối cùng để xác minh rằng hệ thống được phân phối đáp ứng các đặc điểm kỹ thuật và mục đích của nó Kiểm thử hệ thống nên thực hiện kiểm thử chức năng và phi chức năng và được thực hiện bởi Tester

2.4.4 User Acceptance Test

Sau khi kiểm tra hệ thống đã sửa tất cả hoặc hầu hết các lỗi, hệ thống sẽ được gửi đến người dùng hoặc khách hàng để kiểm tra chấp nhận Về cơ bản kiểm thử chấp nhận cũng khá giống kiểm thử hệ thống nhưng được thực hiện bởi khách hàng Mục đích là đảm bảo phần mềm đáp ứng đúng yêu cầu của khách hàng Sản phẩm nhận được sự chấp nhận

từ khách hàng/ người dùng cuối Kiểm thử chấp nhận được chia thành 2 mức khác nhau: Kiểm thử alpha và Kiểm thử beta

2.5 Các phương pháp kiểm thử phần mềm

2.5.1 Kiểm thử hộp đen

Kiểm thử hộp đen (Black box testing) là phương pháp test dựa trên đầu vào và đầu

ra của chương trình để test mà không quan tâm tới code bên trong được viết ra sao Kiểm thử hộp đen không yêu cầu kỹ sư kiểm thử cần phải có bất kỳ kiến thức về mã hoặc thuật toán của chương trình Nó kiểm tra các chức năng của hệ thống tức là những gì hệ thống được cho là cần phải làm dựa trên các Đặc tả yêu cầu Các trường hợp kiểm thử thường được xây dựng xung quanh đó

Trang 23

từ đó có thể giúp giảm đi các chi phí phát sinh có liên quan

2.6.2 Tham số đặc trưng của Test case

Trang 24

12

Đối với bài báo cáo nhóm em tham gia lần này, sử dụng mẫu test case như sau:

 Test case ID: Số thứ tự của test case

 Test Case Description: Miêu tả chi tiết các testcase

 Prerequisites/Pre-condition: Bất kì những điều kiện kiên quyết nào phải

được đảm bảo trước khi thực hiện kiểm thử

 Test Steps: Quy trình từng bước để thực hiện kiểm thử

 Test data: Dữ liệu để tiến hành kiểm thử

 Expected result: Hành vi mong đợi của một ca kiểm thử

 Test Result: Kết quả kiểm thử (Pass/Fail/Pending/NA/Block)

 Test environment: Môi trường thực hiện kiểm thử

2.7 Report Bug

2.7.1 Tại sao bạn nên quan tâm đến giải thích lỗi tốt?

- Tiết kiệm thời gian liên lạc (e-mail, cuộc gọi)

- Ít công việc hơn cho các nhà phát triển (họ sẽ làm chính xác những gì bạn muốn)

- Ít căng thẳng hơn trong dự án

- Lỗi sẽ được fix nhanh hơn

- Các thành viên khác sẽ hỗ trợ dễ dàng hơn

2.7.2 Chúng ta nên làm gì trước khi báo lỗi?

- Quay video hoặc hình ảnh

- Hãy chắc chắn rằng thực sự có một lỗi

- Kiểm tra xem lỗi hoặc đề xuất chưa được báo cáo

- Nói với leader, scrum master, PO nếu lỗi này quan trọng

- Sau đó báo lỗi cho hệ thống

2.7.3 Tham số đặc trưng của Report Bug

- Bug title - tiêu đề lỗi

Trang 25

2.8.2 Các loại Xpath

Về cơ bản, chúng ta sẽ có 2 loại XPath bao gồm:

+ Relative XPath (XPath tương đối/ XPath không ổn định): XPath tương đối sẽ tìm kiếm các element ở bất kỳ đâu trên trang web và không cần một đường dẫn dài, đầy đủ

+ Absolute XPath (XPath tuyệt đối/ XPath ổn định): là cách trực tiếp và chính xác nhất để tìm ra vị trí của element bằng cách chọn element từ nút gốc

2.9 Tổng quan về công cụ Katalon Studio

Katalon Studio là giải pháp kiểm thử tự động được phát hành vào tháng 9 năm 2016 bởi Katalon LLC Được xây dựng dựa trên các khung tự động hóa nguồn mở Selenium, Appium với giao diện IDE chuyên dụng để kiểm thử ứng dụng web, API, Mobile và PC

Nó cung cấp cho người sử dụng có một giao diện có thể hoán đổi giúp tạo nên các trường hợp kiểm thử khác nhau Với các chế độ xem thủ công dành cho các đối tượng không chuyên kỹ thuật và chế độ xem các tập lệnh hướng đến kiểm thử có kinh nghiệm Tạo ra các kiểm thử tự động để đánh dấu các cú pháp và hoàn thành các mã thông minh Katalon Studio theo mô hình đối tượng trang với các thành phần GUI trên ứng dụng mobile, web,

PC để ghi lại các tiện ích và lưu trữ trong kho đối tượng

Trang 26

14

Hình 2.6 Công cụ Katalon Studio

2.10 Giới thiệu về ngôn ngữ Groovy

Groovy là một ngôn ngữ lập trình hướng đối tượng năng động, có thể chạy trên Máy

ảo Java (JVM) Ngôn ngữ này được thiết kế nhằm mục đích dễ học và sử dụng hơn, nhờ

cú pháp tương tự như Java, nhưng có thêm các tính năng giúp nó mạnh mẽ và biểu cảm hơn Groovy thường được sử dụng làm ngôn ngữ kịch bản cho JVM, đồng thời phổ biến với việc xây dựng các ứng dụng web, Framework thử nghiệm và nhiều dự án phần mềm khác

Một số tính năng chính của Groovy như:

+ Khả năng tương thích với hệ sinh thái Java: dễ dàng tích hợp với các thư viện và Framework Java hiện có

+Viết kịch bản và tự động hóa: Groovy thường được sử dụng làm ngôn ngữ kịch bản để tự động hóa các tác vụ và hỗ trợ xây dựng các tập lệnh có thể chạy trên nền tảng Java

+ Dễ sử dụng: Groovy được thiết kế để dễ học và sử dụng, nhờ cú pháp tương tự như Java nhưng có thêm các tính năng giúp nó biểu cảm và mạnh mẽ hơn

Trang 27

15

CHƯƠNG 3 TRIỂN KHAI DỰ ÁN KIỂM THỬ TỰ ĐỘNG VỚI CÔNG CỤ

KATALON STUDIO TRÊN HỆ THỐNG NOPCOMMERCE

3.1 Tổng quan trang web Nopcommerce

nopCommerce là một giải pháp thương mại điện tử mã nguồn mở dựa trên nền tảng ASP.NET MVC 5.0 kết hợp với cơ sở dữ liệu MS SQL 2008 (hoặc lớn hơn) Được cung cấp dưới dạng giấy phép nopCommerce Public V3 và chính thức ra mắt vào tháng

10 năm 2008 cho doanh nghiệp vừa và nhỏ

nopCommerce là một nền tảng thương mại điện tử an toàn và có khả năng mở rộng Tích hợp sẵn công cụ quản trị để quản lý gian hàng, khách hàng, danh sách ưa thích, khuyến mãi, và coupons Ngoài ra cũng hỗ trợ nhiều gian hàng, nhiều nhà phân phối, kho hàng, đa ngôn ngữ, các loại đơn vị tiền tệ và thuế, , cũng như hỗ trợ các cổng thanh toán phổ biến như: Authorize.net, PayPal, Google Checkout, và nhiều loại khác nopCommerce có giao diện responsive linh hoạt với các thiết bị di động nopCommerce chạy ở chế độ Medium Trust

3.2 Sơ đồ Usecase của hệ thống

 Vai trò của Admin

Admin có thể thực hiện toàn quyền đối với hệ thống, các chức năng mà admin có thể thực hiện bao gồm:

+ Bảng điều khiển (Dashboard)

+ Quản lý danh mục

+ Quản lý khách hàng (Customers)

+ Quản lý bán hàng (Sales)

+ Quản lý chương trình khuyến mãi (Promotions)

+ Quản lý báo cáo (Reports)

+ Quản lý hệ thống (System)

+ Quản lý nội dung (Content Management)

Trang 28

16

+ Quản lý cấu hình (Configuration)

+ Tìm kiếm trợ giúp (Help)

+ Đăng nhập/Đăng xuất: (Login/Logout)

Hình 3.1 Sơ đồ Usecase của hệ thống

3.3 Đặc tả yêu cầu

3.3.1 Đặc tả yêu cầu cho chức năng “Đăng nhập”

Tác nhân: Admin

Điều kiện tiên quyết: Tài khoản đã đăng ký trên hệ thống

Mô tả khái quát: Usecase này thực hiện khi người dùng muốn đăng nhập vào hệ

thống

Trang 29

17

Hình 3.2 Giao diện màn hình đăng nhập

Mô tả chi tiết:

Bước 1: Người dùng truy cập trang web nopCommerce bằng đường link:

https://admin-demo.nopcommerce

Bước 2: Người dùng nhập email và password hoặc tick Remember me? tại đây

người dùng nhập thông tin cơ bản bao gồm:

Password X Người dùng nhập Password để đăng nhập

ghi nhớ tài khoản Bảng 3.1 Phân tích Usecase đăng nhập

Bước 3: Người dùng click vào nút ‘Login’ để truy cập vào trang web của hệ thống

Trang 30

18

Hình 3.3 Giao diện màn hình Login của trang web

Bước 4: Hệ thống kiểm tra dữ liệu nhập vào:

Email + Nếu người dùng nhập email sai thì màn hình thông báo với nội dung:

“Login was unsuccessful Please correct the errors and try again No customer account found”

+ Nếu người dùng để trống Email hoặc nhập toàn khoản trắng, thì hiển thị thông báo lỗi "Please your enter email"

Password + Nếu người dùng nhập Password sai thì màn hình thông báo lỗi với nội

dung: “Login was unsuccessful Please correct the errors and try again The credentials provided are incorrect”

+ Nếu người dùng để trống Password hoặc nhập hoàn toàn khoảng trắng, thì hiển thị thông báo lỗi với nội dung: “Login was unsuccessful Please correct the errors and try again The credentials provided are incorrect” Remember

me?

+ Nếu người dùng tick vào Remember me? thì hệ thống sẽ lưu thông tin đăng nhập và những lần đăng nhập tiếp theo thì người dùng không cần nhập Email hoặc Password

+ Nếu người dùng không tick vào Remember me? thì hệ thống sẽ không lưu thông tin đăng nhập của người dùng và lần đăng nhập tiếp theo thì người dùng phải nhập Email và Password mới truy cập vào hệ thống Bảng 3.2 Hệ thống kiểm tra dữ liệu đầu vào của Login

Trang 31

19

Hình 3.4 Giao diện của trang web khi đăng nhập thành công

3.3.2 Đặc tả yêu cầu cho chức năng ‘Quản lý sản phẩm’

3.3.2.1 Đặc tả yêu cầu cho chức năng ‘Tìm kiếm sản phẩm’

Tác nhân: Admin

Điều kiện tiên quyết: Đăng nhập vào hệ thống thành công

Mô tả khái quát: Use case này được sử dụng để đặt các điều kiện hiển thị danh

sách sản phẩm theo nhu cầu người dùng, có thể thực hiện lọc hoặc nhập gợi ý để tìm kiếm

Hình 3.5 Giao diện của chức năng quản lý sản phầm

Mô tả chi tiết:

Bước 1: Người dùng đến màn hình “Products”, có thể chọn các thông tin mong

muốn hiển thị như sau:

Trang 32

Chọn các trường hợp để lọc như sau:

- “All”: lọc tất cả các sản phẩm thuộc Category

- “Computers”: lọc các loại sản phẩm thuộc mục Computers

- “Computers>>Desktop”: lọc các sản phẩm thuộc mục Desktop

- “Computers>>Notebooks”: lọc các sản phẩm thuộc mục Notebooks

- “Computers>>Software”: lọc các sản phẩm theo mục Software

- “Electronics”: lọc sản phẩm theo mục Electronics

- “Electronics>>Camera & photo: lọc sản phẩm theo mục Camera & photo

- “Electronics>>Cell phones: lọc sản phẩm theo mục Cell phones

- “Electronics>>Others: lọc sản phẩm theo mục Others

- “Apparel”: lọc sản phẩm theo mục Apparel

- “Apparel>>Shoes”: lọc sản phẩm theo mục Shoes

- “Apparel>>Clothing”: lọc sản phẩm theo mục Clothing

- “Apparel>>Accessories”: lọc sản phẩm theo mục Accessories

Trang 33

21

- “Books”: lọc sản phẩm theo mục Books

- “Jewelry”: lọc sản phẩm theo mục Jewelry

- “Gift Cards”: lọc sản phẩm theo mục Gift Cards

Chọn các trường hợp để lọc như sau:

- “All”: lọc tất cả các Vendor

- “Vendor 1”: lọc sản phẩm theo Vendor 1

- “Vendor 2”: lọc sản phẩm theo Vendor 2 Warehouse

Chọn các trường hợp để lọc như sau:

Chọn các trường hợp để lọc như sau:

- “All”: lọc tất cả các Product type

- “Simple”: lọc sản phẩm theo mục Simple

- “Grouped” lọc sản phẩm theo mục Grouped

Published

Chọn các trường hợp để lọc như sau:

- “All”: lọc tất cả các Published

- “Publish only”: lọc sản phẩm theo mục Publish

- “Unpublish only” : lọc sản phẩm theo mục

Trang 34

Tìm kiếm sản phẩm theo SKU của sản phẩm

Bảng 3.3 Phân tích Usecase của Products

Bước 2: Người dùng Click vào button ‘Search’ để tìm kiếm sản phẩm theo mong

muốn

Bước 3: Hệ thống sẽ kiểm tra dữ liệu đầu vào theo những nội dung sau:

Products name Nếu người dùng nhập đúng tên sản phẩm đã được thêm vào hệ thống

thì nó sẽ hiển thị sản phẩm đó, nếu nhập sai, màn hình sẽ hiển thị nội dung: “No data available in table”

bất kì, không chọn Subcategory thì hiện thông báo “No data available in table”

Vendor + Nếu tồn tại sản phẩm mà người bán đã chọn thì hiển thị sản phẩm

cần tìm + Nếu không tồn tại sản phẩm mà người bán đã chọn thì hiển thị với nội dung: “No data available in table”

Trang 35

23

tìm + Nếu không tồn tại sản phẩm thuộc kho đã chọn thì hiển thị với nội dung: “No data available in table”

phẩm cần tìm + Nếu không tồn sản phẩm thuộc loại sản phẩm đã chọn thì hiển thị với nội dung : “No data available in table”

+ Nếu chọn “Publish Only” thì hiển thị sản phẩm chỉ xuất bản + Nếu chọn “ Unpublish Only” thì hiển thị sản phẩm không xuất bản

Go directly to

product SKU

Nếu người dùng nhập đúng tên SKU của sản phẩm đó thì hệ thống

sẽ hiển thị đúng sản phẩm đó Bảng 3.4 Hệ thống kiểm tra dữ liệu đầu vào của button Products

- Người dùng tìm kiếm sản phẩm có tên: “Windows 8 Pro”

Hình 3.6 Giao diện màn hình hiển thị sản phẩm mà người dùng muốn tìm kiếm

Trang 36

24

3.3.2.2 Đặc tả yêu cầu cho chức năng ‘Tạo sản phẩm mới’

Tác nhân: Admin

Điều kiện tiên quyết: Đăng nhập vào hệ thống thành công

Mô tả khái quát: Use case này được thực hiện nhằm tạo mới một sản phẩm và quản

lý thông tin sản phẩm đó Bao gồm các thông tin chính được liệt kê dưới đây

Mô tả chi tiết:

Bước 1: Người dùng muốn tạo một sản phẩm mới, thực hiện click vào button “Add

new” tại màn hình “Products”

Hình 3.7 Giao diện màn hình thêm sản phẩm

Bước 2: Hệ thống sẽ điều hướng đến Form “Add a new products”, tại đây người

dùng sẽ cập nhật các thông tin của sản phẩm bao gồm:

 Button Products infor sẽ bao gồm:

buộc

Mục đích

Trang 37

25

- “All”: chọn tất cả các Category

- “Computers”: chọn loại sản phẩm thuộc mục Computers

- “Computers>>Desktop”: chọn sản phẩm thuộc mục Desktop

- “Computers>>Notebooks”: chọn sản phẩm thuộc mục Notebooks

- “Computers>>Software”: chọn sản phẩm theo mục Software

- “Electronics”: chọn sản phẩm theo mục Electronics

- “Electronics>>Camera & photo: chọn sản phẩm theo mục Camera & photo

- “Electronics>>Cell phones: chọn sản phẩm theo mục Cell phones

- “Electronics>>Others: chọn sản phẩm theo mục Others

- “Apparel”: chọn sản phẩm theo mục Apparel

- “Apparel>>Shoes”: chọn sản phẩn theo mục Shoes

- “Apparel>>Clothing”: chọn sản phẩm theo mục Clothing

- “Apparel>>Accessories”: chọn sản phẩm theo mục Accessories

- “Books”: chọn sản phẩm theo mục Books

- “Jewelry”: chọn sản phẩm theo mục Jewelry

Trang 38

26

- “Gift Cards”: chọn sản phẩm theo mục Gift Cards Bảng 3.5 Phân tích chức năng Products infor

 Button Prices sẽ bao gồm:

bắt buộc

Mục đích

Price X Người dùng thêm giá cho sản phẩm

phẩm có được miễn thuế hay không

- “None”: không chọn loại thuế cho mục nào cả

- “Books”: Chọn loại thuế cho Sách vở

- “Electronic&Software: chọn loại thuế cho Điện tử & Phần mềm

- “Jewelry”: chọn loại thuế cho trang sức

- “Apparel” : chọn loại thuế cho trang phục Bảng 3.6 Phân tích chức năng Prices

 Button Shipping sẽ bao gồm:

+ Weight: cân nặng của sản phẩm+ Length: chiều dài của sản phẩm + Width: chiều rộng của sản phẩm + Height: chiều cao của sản phẩm

Trang 39

27

Bảng 3.7 Phân tích chức năng Shipping

Bước 3: User click button “Save” để lưu sản phẩm vào hệ thống

Hình 3.8 Giao diện màn hình thêm mới một sản phẩm

Bước 4: Hệ thống sẽ kiểm tra các dữ liệu đầu vào theo nội dung sau:

Products name Người dùng nhập sản phẩm muốn thêm vào, nếu không nhập tên sản

phẩm thì hiển thị thông báo với nội dung: “Please provide a name.” SKU Nếu người dùng nhập SKU đã tồn tại trên hệ thống thì hiển thị thông

báo với nội dung: “The entered SKU is already reserved for the product 'Build your own computer'

Bảng 3.8 Hệ thống kiểm tra dữ liệu đầu vào của button Add New

- Người dùng tìm kiếm lại sản phẩm đã được thêm với tên: “iphone 13”

Trang 40

28

Hình 3.9 Giao diện màn hình khi tìm kiếm sản phẩm

3.3.2.3 Đặc tả yêu cầu cho chức năng ‘Tải xuống danh mục dưới dạng PDF’

Tác nhân: Admin

Điều kiện tiên quyết: Đăng nhập vào hệ thống thành công

Mô tả khái quát: Usecase này được sử dụng để tải các các sản phẩm có trong danh

mục dưới dạng PDF

Mô tả chi tiết:

Bước 1: Người dùng muốn tải danh sách sản phẩm dưới dạng PDF, thực hiện click

vào button “Dowload Catalog as PDF” tại màn hình “Products”

Hình 3.10 Giao diện màn hình tải danh sách sản phẩm dưới dạng PDF

Bước 2: Danh sách sản phẩm được tải về thành công dưới dạng PDF

Ngày đăng: 12/12/2023, 19:44

🧩 Sản phẩm bạn có thể quan tâm

w