1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu về công cụ kiểm thử tự động katalon studio và ứng dụng cho hệ thống trường học trực tuyến

55 87 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

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 1,72 MB

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

Nội dung

Với mong muốn có cái nhìn xác thực, rõ ràng hơn về kiểm thử phần mềm và tiếp cận được với công cụ kiểm thử tự động Katalon để làm tiền đề cho định hướng tương lai khi tốt nghiệp đại học

Trang 1

BÁO CÁO KHÓA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN

TÊN ĐỀ TÀI:

Nghiên cứu về công cụ kiểm thử tự động Katalon Studio và ứng dụng cho hệ thống

Trường học Trực Tuyến

Sinh viên : VƯƠNG THỊ HÀ NHI

ĐÀ NẴNG, 6/2020

Trang 2

học Sư Phạm - Đại học Đà Nẵng, sự góp ý của các bạn và đặc biệt là sự quan tâm hướng dẫn trực tiếp , chỉ bảo tận tình của thầy giáo TS Nguyễn Trần Quốc Vinh em

đã hoàn thành đề tài cùng với bản báo cáo đúng thời gian quy định Với khả năng và thời gian có hạn nên không tránh khỏi những thiếu sót, em rất mong nhận được sự quan tâm, giúp đỡ và tạo điều kiện của thầy cô giáo để em hoàn thiện hơn đề tài nghiên cứu trong thời gian tới

Một lần nữa em xin chân thành cám ơn tất cả các thầy, cô giáo trong Trường Đại học Sư Pham – Đại học Đà Nẵng cũng như các cô giáo của các trường, các tổ chức liên kết đã dạy dỗ, chỉ bảo em trong suốt thời gian học tập

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

Trang 3

Nhận xét của giáo viên hướng dẫn

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Đà Nẵng, ngày … tháng … năm 2020

Giáo viên hướng dẫn

Nguyễn Trần Quốc Vinh

Trang 4

Lời Cam Đoan

Tôi xin cam đoan:

1 Những nội dung trong báo cáo tốt nghiệp này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy Nguyễn Trần Quốc Vinh

2 Mọi tham khảo dùng trong đồ án tốt nghiệp đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá Tôi xin chịu hoàn toàn trách nhiệm

Đà Nẵng, ngày tháng năm 2020

Sinh viên thực hiện

Vương Thị Hà Nhi

Trang 5

Phụ Lục

LỜI CÁM ƠN 0

Nhận xét của giáo viên hướng dẫn 1

Lời Cam Đoan 2

Phụ Lục 3

MỞ ĐẦU 6

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

2 Mục tiêu nghiên cứu 6

CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 7

1 Kiểm thử phần mềm và một số khái niệm liên quan 7

1.1 Kiểm thử phần mềm 7

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

3 Các cấp độ kiểm thử 9

4 Các kỹ thuật kiểm thử phần mềm 9

4.1 Kiểm thử hộp trắng (White-Box Testing) 9

4.2 Kiểm thử hộp đen (Black-Box Testing) 9

5 Kỹ thuật thiết kế ca kiểm thử 10

5.1 Cấu trúc của ca kiểm thử 10

6 Tạo Bug Report 11

6.1 Bug và Bug Report 12

6.2 Cấu trúc của một Bug Report 12

6.3 Severity và Priority 13

CHƯƠNG 2: TỔNG QUAN VỀ KIỂM THỬ TỰ ĐỘNG 14

1 Khái niệm và quy trình kiểm thử tự động 14

1.1 Lập kế hoạch kiểm thử 14

1.2 Thiết kế test case 14

1.3 Phát triển test script 14

Trang 6

1.4 Thực hiện kiểm thử 15

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

2 Ưu và nhược điểm của kiểm thử tự động 15

3 Các trường hợp nên áp dụng kiểm thử tự động 16

4 Một số công cụ kiểm thử tự động phổ biến 17

5 Sử dụng công cụ tự động hóa để đạt hiệu quả tốt nhất 17

CHƯƠNG 3: TÌM HIỂU VỀ KATALON STUDIO 19

1 Giới thiệu về Katalon Studio 19

2 Các tính năng chính của Katalon Studio 19

3 Làm việc với Katalon 20

4 Quy trình làm việc của Katalon Studio 20

4.1 Khởi tạo (Initiate): 20

4.2 Triển khai (Create) 21

4.3 Hoạt động (Operate) 21

4.4 Báo cáo (Report) 21

4.5 Bảo trì (Maintain) 21

5 So sánh các công cụ kiểm thử tự động 22

CHƯƠNG 4: TIẾN HÀNH CÀI ĐẶT VÀ DEMO THỰC NGHIỆM CÔNG CỤ KATALON STUDIO VỚI HỆ THỐNG TRƯỜNG HỌC TRỰC TUYẾN 26

1 Cài đặt và cấu hình 26

1.1 Cài đặt 26

1.2 Cấu hình 26

2 Một số chức năng trong Katalon Studio 28

3 Cách viết một kịch bản với Katalon Studio 30

3.1 Cách lấy ID của đối tượng trên màn hình 30

3.2 Cách viết test case cho các đối tượng 34

3.3 Một số plugin hỗ trợ kiểm thử ứng dụng Web 36

3.4 Bài toán thực tế 37

KẾT LUẬN 52

Trang 7

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

2 Hạn chế 52

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

TÀI LIỆU THAM KHẢO 53

Trang 8

MỞ ĐẦU

1 Lý do 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 đang ngày một chiếm vị trí quan trọng trong xu hướng phát triển kinh tế công nghiệp hóa, hiện đại hóa của đất nước ta Cùng với sự phát triển của công nghệ phần mềm, lỗi phần mềm và chất lượng phần mềm luôn là thách thức lớn với bản thân ngành phần mềm khi thực tế đã chứng minh, kiểm thử phần mềm là giai đoạn chiếm đến hơn 40% thời gian, kinh phí và nguồn nhân lực phát triển dự án phần mềm Tuy nhiên ở Việt Nam hiện nay, việc kiểm thử phần mềm vẫn chưa thực sự được nhìn nhận đúng với tầm quan trọng của nó Điều này thể hiện ở tỷ lệ kỹ sư kiểm thử phần mềm ở Việt Nam còn khá thấp,

cứ 5 lập trình viên thì mới có 1 kỹ sư kiểm thử (số liệu thống kê năm 2011 của công ty LogiGear), trong khi tỷ lệ này theo chuẩn quốc tế là 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ày đến từ sự thiếu hụt các đơn vị đào tạo chuyên sâu về kiểm thử và nguyên nhân sâu xa vẫn là vấn đề kiểm thử phần mềm ở Việt Nam vẫn chưa được chuyên nghiệp hóa và đầu tư đúng mức

Với mong muốn có cái nhìn xác thực, rõ ràng hơn về kiểm thử phần mềm và tiếp cận được với công cụ kiểm thử tự động Katalon để làm tiền đề cho định hướng tương lai khi tốt nghiệp đại học sẽ trở thành một kỹ sư kiểm thử phần mềm, cá nhân em lựa chọn để tài “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 Katalon” làm đề tài cho đồ án tốt nghiệp đại học của mình Trong khuôn khổ đồ án, do thời gian và kinh nghiệm thực tế còn hạn chế nên có những phần thực hiện chưa được tốt, em rất mong nhận được sự góp ý của thầy cô và các bạn

2 Mục tiêu nghiên cứu

- Có cái nhìn đúng đắn và sâu sắc hơn về các vấn đề cơ bản của công nghệ phần mềm, lỗi phần mềm và kiểm thử phần mềm

- Hiểu rõ về các thành phần của bộ công cụ Katalon

- Ứng dụng các kiến thức kiểm thử phần mềm, kiểm thử tự động và kiến thức về công cụ Katalon Studio để viết kịch bản kiểm thử cho một ứng

dụng cụ thể

Trang 9

CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM

1 Kiểm thử phần mềm và một số khái niệm liên quan

1.1 Kiểm thử phần mềm

Kiểm thử phần mềm là một cuộc kiểm tra được tiến hành để cung cấp cho các bên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ được kiểm thử Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách nhìn độc lập về phần mềm để từ đó cho phép đánh giá và thấu hiểu được những rủi ro trong quá trình triển khai phần mềm

Trong kỹ thuật kiểm thử không chỉ giới hạn ở việc thực hiện một chương trình hoặc ứng dụng với mục đích đi tìm các lỗi phần mềm (bao gồm các lỗi

và các thiếu sót) mà còn là một quá trình phê chuẩn và xác minh một chương trình máy tính / ứng dụng / sản phẩm nhằm:

- Đáp ứng được mọi yêu cầu hướng dẫn khi thiết kế và phát triển phần mềm

- Thực hiện công việc đúng như kỳ vọng

- Có thể triển khai được với những đặc tính tương tự

- Và đáp ứng được mọi nhu cầu của các bên liên quan

Tùy thuộc vào từng phương pháp, việc kiểm thử có thể được thực hiện bất

cứ lúc nào trong quá trình phát triển phần mềm Theo truyền thống thì các nỗ lực kiểm thử được tiến hành sau khi các yêu cầu được xác định và việc lập tình được hoàn tất nhưng trong Agile (là một tập hợp các phương pháp phát triển phần mềm linh hoạt dựa trên việc lặp đi lặp lại và gia tăng giá trị) thì việc kiểm thử được tiến hành liên tục trong suốt quá trình xây dựng phần mềm Như vậy, mỗi phương pháp kiểm thử bị chi phối theo một quy trình phát triển phần mềm nhất định

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

Mục đích của kiểm thử là thiết kế một chuỗi các trường hợp kiểm thử

mà có khả năng phát hiện lỗi cao Để cho việc kiểm thử đạt được kết quả tốt cần có sự chuẩn bị về kế hoạch kiểm thử, thiết kế các trường hợp kiểm thử và các dữ liệu kiểm thử cho các trường hợp Đây chính là đầu vào cho giai đoạn kiểm thử Và sản phẩm công việc của giai đoạn chính là “báo cáo kiểm thử”

Trang 10

mà tài liệu hóa tất cả các trường hợp kiểm thử đã chạy, dữ liệu đầu vào, đầu

ra mong đợi, đầu ra thực tế và mục đích của kiểm thử

Hình 1.1 Giai đoạn kiểm thử trong xử lý phần mềm

Quy trình kiểm thử bao gồm một số giai đoạn:

- Lập kế hoạch kiểm thử: Bước đầu tiên là lập kế hoạch cho tất cả các hoạt động sẽ được thực hiện và các phương pháp được sử dụng Các chuẩn IEEE bao gồm các thông tin về tác giả chuẩn bị kế hoạch, danh sách liệt kê của

kế hoạch kiểm thử Vấn đề quan trọng nhất đối với kế hoạch kiểm thử:

• Mục đích: Quy định về phạm vi, phương pháp, tài nguyên và lịch biểu của các hoạt động kiểm thử

• Các tài liệu tham khảo

• Các định nghĩa

• Khái niệm về xác minh và thẩm định (V&V): tổ chức, tài nguyên, trách nhiệm, các công cụ, kỹ thuật và các phương pháp luận

• Vòng đời của V&V: các nhiệm vụ, các dữ liệu vào và các kết quả

ra trên một giai đoạn vòng đời

• Báo cáo xác minh và thẩm định (V&V): bao gồm các chính sách, thủ tục, các chuẩn, thử nghiệm và các quy ước

- Giai đoạn bố trí nhân viên kiểm thử: Việc kiểm thử thường phải tiến hành một cách độc lập và các nhóm độc lập có trách nhiệm tiến hành các hoạt động kiểm thử Gọi là các nhóm kiểm thử

- Thiết kế các trường hợp kiểm thử: Các trường hợp kiểm thử là các đặc tả đầu vào cho kiểm thử và đầu ra mong đợi của hệ thống cùng với các câu lệnh được kiểm thử

thử

Dữ liệu kiểm thử

Trang 11

• Các kỹ thuật kiểm thử hộp đen để kiểm thử dựa trên chức năng

• Các kỹ thuật kiểm thử hộp trắng để kiểm thử dựa vào cấu trúc bên trong

- Xử lý đo lường kiểm thử bằng cách thu thập dữ liệu

- Đánh giá sản phẩm phần mềm để xác nhận sản phẩm có thể sẵn sàng phát hành được hay chưa?

3 Các cấp độ kiểm thử

Các mức kiểm thử phần mềm thông thường:

- Unit Test – Kiểm thử mức đơn vị

- Integration Test – Kiểm thử tích hợp

- System Test – Kiểm thử mức hệ thống

- Acceptance Test – Kiểm thử chấp nhận sản phẩm

- Regression Test – Kiểm thử hồi quy

4 Các kỹ thuật kiểm thử phần mềm

4.1 Kiểm thử hộp trắng (White-Box Testing)

Kiểm thử hộp trắng: Là kỹ thuật kiểm thử dựa trên đặc tả bên trong của chương trình, dựa vào mã nguồn, cấu trúc chương trình Kiểm thử hộp trắng thường phát hiện các lỗi lập trình Loại kiểm thử này khá khó thực hiện và chi phí cao

Với các module quan trọng, thực thi việc tính toán chính của hệ thống, phương pháp này là cần thiết

4.2 Kiểm thử hộp đen (Black-Box Testing)

Kiểm thử hộp đen là một phương pháp kiểm thử phần mềm được thực hiện mà không biết được cấu tạo bên trong của phần mềm, là cách mà các tester kiểm tra xem hệ thống như một chiếc hộp đen, không có cách nào nhìn thấy bên trong của cái hộp

Phương pháp này được đặt tên như vậy vì các chương trình phần mềm, trong con mắt của các tester, giống như một hộp đen, bên trong mà người

ta không thể nhìn thấy Phương pháp này cố gắng tìm ra các lỗi trong các loại sau:

• Chức năng không chính xác hoặc thiếu

• Lỗi giao diện

Trang 12

• Lỗi trong cấu trúc dữ liệu hoặc truy cập cơ sở dữ liệu bên ngoài

• Hành vi hoặc hiệu suất lỗi

• Khởi tạo và chấm dứt các lỗi

Hình 1.2 Minh họa kiểm thử hộp đen

❖ Ưu điểm:

- Kỹ sư kiểm thử có thể không phải IT chuyên nghiệp

- Hệ thống thật sự với toàn bộ yêu cầu của nó được kiểm thử chính xác

- Thiết kế kịch bản kiểm thử khá nhanh, ngay khi mà các yêu cầu chức năng được xác định

❖ Nhược điểm

- Dữ liệu đầu vào yêu cầu một khối lượng mẫu (sample) khá lớn

- Khó viết kịch bản kiểm thử do cần xác định tất cả các yếu tốt đầu vào, và thiếu cả thời gian cho việc tập hợp này

- Khả năng để bản thân kỹ sư lạc lối trong khi kiểm thử là khá cao Mọi kỹ thuật nào cũng có ưu điểm và nhược điểm của nó Các hệ thống thường phải được sử dụng nhiều phương pháp kiểm thử khác nhau để đảm bảo được chất lượng của hệ thống khi đến tay người dùng

5 Kỹ thuật thiết kế ca kiểm thử

Quá trình phát triển ca kiểm thử có thể giúp tìm ra lỗi trong các yêu cầu hoặc thiết kế của ứng dụng, vì nó đòi hỏi phải tư duy hoàn toàn thông qua các hoạt động của ứng dụng Vì lý do này, việc chuẩn bị ca kiểm thử sớm nhất có thể trong quy trình phát triển phần mềm là rất hữu ích Các trường hợp kiểm thử phải bao phủ được toàn bộ luồng xử lý chức năng mô tả trong tài liệu phân tích và thiết kế; các yêu cầu về bảo mật an toàn thông tin, yêu cầu hiệu năng của hệ thống

5.1 Cấu trúc của ca kiểm thử

Trang 13

• Test Case ID: Giá trị cần để xác định số lượng trường hợp cần để

kiểm thử

• Test Case Description: Mô tả sơ lược về mục đích của ca kiểm thử

đó

• PreRequisites: Điều kiện tiền đề nếu có

• Test Data: Những dữ liệu đầu vào cần chuẩn bị để test

• Step: Các bước thực hiện 1 ca kiểm thử

• Execution Step: Mô tả các bước thực hiện kiểm thử

• Expected Results: Kết quả mong đợi khi chạy chương trình

• Actual Results: Kết quả thực tế khi chạy chương trình

• Results: Đánh giá về kết quả, thông thường sẽ là Pass, Fail

• Note: Cột này dùng để ghi chú những thông tin liên quan khi thực

hiện ca kiểm thử

Các bước xác định ca kiểm thử:

Bước 1: Xác định mục đích kiểm thử: cần hiểu rõ đặc tả yêu cầu

của khách hàng

Bước 2: Xác định chức năng cần kiểm tra: cần phải biết làm thế nào

phần mềm được sử dụng bao gồm các hoạt động, tổ chức chức năng khác nhau

Các bước thực hiện chỉ mô tả các bước thực hiện đứng từ phía người dùng cuối bao gồm nhập dữ liệu, nhấn button, …

Bước 3: Xác định các yêu cầu phi chức năng: Yêu cầu phần cứng,

hệ điều hành, các khía cạnh an ninh

Bước 4: Xác định biểu mẫu cho Ca kiểm thử: bao gồm giao diện

UI, chức năng, khả năng tương thích và hiệu suất

Bước 5: Xác định tính ảnh hưởng giữa các nguyên tắc modul: mỗi

một ca kiểm thử nên được thiết kế để có thể che phủ được sự ảnh hưởng của các modul với nhau ở mức độ cao nhất

6 Tạo Bug Report

Bug report là một phần rất quan trọng và không thể thiếu trong quy trình

thực hiện kiểm thử Khi phần mềm xảy ra lỗi, kiểm thử viên phải tạo được ra các Bug report và gửi cho nhà phát triển phần mềm đó Một Bug report được

Trang 14

viết rõ ràng và rành mạch, sẽ luôn gây ấn tượng và hiệu ứng tốt hơn với một Bug report sơ xài và cẩu thả Làm cho người sửa Bug đó và cả người xác nhận lại bug đó không có cảm giác khó chịu khi phải đọc một Bug report sơ xài

6.1 Bug và Bug Report

Bug: Bug của phần mềm là những sai lầm, hỏng hóc, lỗi, khiếm khuyết để

tạo ra một kết quả sai, hoặc không lường đến được, có thể coi nó như một thứ

gì đó không hoạt động đúng theo thiết kế

Bug report: văn bản chứa đầy đủ thông tin về một lỗi của một sản phẩm

được kiểm thử viên gửi cho một tổ chức hay cá nhân liên quan để sửa chữa được gọi là Bug report

6.2 Cấu trúc của một Bug Report

• Project: tên của dự án phần mềm

• Reported by: kiểm thử viên tạo ra Bug report

• Bug Name, Bug ID và Date: Tên của bug, ID và ngày tạo report

• Assigned to: Cá nhân hoặc tổ chức phát triển phần mềm đó

• Status: Trạng thái thực hiện của report

• Summary/Description: mô tả ngắn gọn về bug

• Environments: Môi trường chạy thử phần mềm

• Step to reproduce: Mô tả lại các bước thực hiện gây ra bug

• Actual Result: Kết quả thực tế

• Expected Result: Kết quả mong đợi

• Severity: Mức độ nghiêm trọng của bug

• Priority: Mức độ ưu tiên của bug

• Attachment: Đính kèm với bug (Tệp, đường dẫn, hình ảnh,…)

Một số yêu cầu khi tạo Bug report:

• Tiêu đề phải rõ ràng: Khi lập trình viên đọc bug, thứ đầu tiên đập vào mắt là Bug Name Nó cũng là phần được đọc nhiều nhất, không phải là description Một bug name tốt phải ngắn gọn và diễn tả được bug một cách tối giản

• Phải mô phỏng lại được quá trình gây ra bug: Nếu không mô phỏng lại được, bug sẽ không thể được khắc phục

Trang 15

• Không viết luận trong description: viết ngắn gọn và vào trọng tâm Cố gắng viết ít chữ nhất có thể những vẫn đầy đủ ý

6.3 Severity và Priority

Có hai phần quan trọng trong những bug report đó là:

• Severity – Mức độ nghiêm trọng

• Priority – Mức độ ưu tiên

Mặc dù hai yếu tố này không phải là yếu tố sống còn trong quản lý bug Tuy nhiên, việc hiểu đúng về mức độ nghiêm trọng, độ ưu tiên của sản phẩm cho thấy chúng ta thực sự hiểu rõ và quan tâm đến chất lượng sản phẩm cũng như thể hiện sự chuyên nghiệp của một kỹ sư kiểm thử

Trang 16

CHƯƠNG 2: TỔNG QUAN VỀ KIỂM THỬ TỰ ĐỘNG

1 Khái niệm và quy trình kiểm thử tự động

Kiểm thử tự động là việc sử dụng các công cụ để thực hiện các test case Kiểm thử tự động cũng có thể nhập dữ liệu thử nghiệm vào hệ thống kiểm thử,

so sánh kết quả mong đợi với kết quả thực tế và tạo ra các báo cáo kiểm thử chi tiết

Quy trình kiểm thử tự động gồm 4 bước:

• Bước 1: Lập kế hoạch kiểm thử

• Bước 2: Thiết kế test case

• Bước 3: Phát triển test script

• Bước 4: Thực hiện kiểm thử

• Bước 5: Đánh giá kết quả kiểm thử

1.1 Lập kế hoạch kiểm thử Mục đích: Nhằm chỉ định hoặc mô tả các loại kiểm thử sẽ được

triển khai và thực hiện Kết quả của bước lập kế hoạch là bản tài liệu kế hoạch kiểm thử phần mềm, bao gồm:

• Các giai đoạn kiểm thử áp dụng cho dự án phần mềm

• Chiến lược kiểm thử

• Các công cụ kiểm thử

• Nguồn lực kiểm thử

• Môi trường kiểm thử, bao gồm tài nguyên phần cứng và phần mềm

• Mốc bàn giao các tài liệu kiểm thử

1.2 Thiết kế test case Mục đích: Nhằm xác định các test case và các bước kiểm tra chi

tiết cho mỗi phiên bản phần mềm Giai đoạn thiết kế test case là hết sức quan trọng, nó đảm bảo tất cả các tình huống kiểm thử “quét” hết tất cả yêu cầu cần kiểm tra

1.3 Phát triển test script Mục đích: Bước này thường không bắt buộc trong các loại và mức

kiểm thử, chỉ yêu cầu trong những trường hợp đặc thù cần thiết kế, tạo ra các test script có khả năng chạy trên máy tính giúp tự động

Trang 17

hóa việc thực thi các bước kiểm tra đã định nghĩa ở bước thiết kế test case

Trong đó, một test script được hiểu là một nhóm mã lệnh dạng đặc

tả kịch bản dùng để tự động hóa một trình tự kiểm thử, giúp co việc kiểm thử nhanh hơn, hoặc cho những trường hợp mà kiểm thử bằng tay sẽ rất khó khăn hoặc không khả thi Các test script có thể tạo thủ công hoặc tạo tự động dùng công cụ kiểm thử tự động

1.4 Thực hiện kiểm thử Mục đích: Thực hiện các bước kiểm tra đã thiết kế hoặc thực thi

các test script nếu tiến hành kiểm tra tự động ghi nhận kết quả

1.5 Đánh giá kết quả kiểm thử Mục đích: Đánh giá toàn bộ quá trình kiểm thử, bao gồm xem xét

và đánh giá kết quả kiểm thử, liệt kê lỗi, chỉ định các yêu cầu thay đổi, và tính toán các số liệu liên quan đến quá trình kiểm thử như số giờ, thời gian kiểm thử, số lượng lỗi, phân loại lỗi,…

2 Ưu và nhược điểm của kiểm thử tự động

Loại kiểm thử Ưu điểm Nhược điểm

Thủ công Cho phép tester thực

hiện việc kiểm thử khám phá

Thích hợp kiểm tra sản phẩm đầu tiên

Thích hợp kiểm thử trong trường hợp test case chỉ phải thực hiện một số ít lần

Giảm được chi phí ngắn hạn

Tốn thời gian Đối với mỗi lần release, người kiểm thử vẫn phải thực hiện một số tập hợp các test case đã chạy dẫn đến sự mệt mõi và lãng phí effort

Tự động Thích hợp với trường

hợp phải test nhiều lần cho một test case, có tỉnh ổn định và tin cậy

Tốn kém hơn kiểm thử

tự động, chi phí đầu tư ban đầu lớn

Trang 18

cao hơn so với kiểm thử thủ công

Có thể thực hiện các thao tác lặp đi lặp lại (nhập dữ liệu, click, check kết quả,…) giúp tester không phải làm những việc gây nhàm chán và dễ nhầm lần như vậy

Giảm chi phí đầu tư dài hạn

Kiểm thử thủ công là không thể thay thế vì người ta không thể tự động hóa mọi thứ

Hình 2.1 Ưu và nhược điểm của kiểm thử tự động

3 Các trường hợp nên áp dụng kiểm thử tự động

Không phải lúc nào cũng nên áp dụng kiểm thử tự động trong việc kiểm thử phần mềm, vì nhiều khi chi phí và thời gian cho việc kiểm thử tự động còn lớn hơn nhiều so với kiểm thử thủ công Dưới đây là một số trường hợp nên

áp dụng phương pháp kiểm thử tự động để đạt được hiệu quả cao về thời gian, chi phí cũng như chất lượng

- Trường hợp không đủ tài nguyên: Là khi số lượng trường hợp kiểm

thử lặp lại quá nhiều trên nhiều môi trường kiểm thử khác nhau, không

có đủ nguồn nhân lực để kiểm thử thủ công trong một giới hạn thời gian nào đó

- Trường hợp kiểm thử hồi quy: Trong quá trình phát triển phần mềm,

nhóm lập trình thường đưa ra nhiều phiên bản phần mềm liên tiếp để kiểm thử Thực tế cho thấy việc đưa ra các phiên bản phần mềm có thể

là hàng ngày, mỗi phiên bản bao gồm những tính năng mới hoặc tính năng cũ được sửa lỗi hay nâng cấp Việc bổ sung hoặc sửa lỗi mã chương trình cho những tính năng ở phiên bản mới có thể làm cho những tính năng khác đã kiểm tra chạy tốt chạy sai mặc dù phần mã chương trình của nó không hề chỉnh sửa Để khắc phục điều này, đối với từng phiên bản, kiểm thử viên không chỉ kiểm tra chức năng mới

Trang 19

hoặc được sửa, mà phải kiểm tra lại tất cả những tính năng đã kiểm tra tốt trước đó Điều này khó khả thi về mặt thời gian nếu kiểm thử thủ công

- Trường hợp kiểm thử khả năng vận hành phần mềm trong môi

trường đặc biệt: Đây là kiểm thử nhằm đánh giá xem vận hành của

phần mềm có thỏa mãn yêu cầu đặt ra hay không Thông qua đó kiểm thử viên có thể xác định được các yếu tố về phần cứng, phần mềm ảnh hưởng đến khả năng vận hành của hệ thống Có thể liệt kê một số tình huống kiểm tra tiêu biểu thuộc loại này như sau:

• Đo tốc độ trung bình xử lý một yêu cầu của web server

• Thiết lập 1000 yêu cầu, đồng thời gửi đến web server để kiểm tra tình huống 1000 người dùng truy xuất web cùng lúc

• Xác định số yêu cầu tối đa được xử lý bởi web server hoặc xác định cấu hình máy thấp nhất mà tốc độ xử lý của phần mềm vẫn

5 Sử dụng công cụ tự động hóa để đạt hiệu quả tốt nhất

Để có được ROI (tỷ lệ lợi nhuận thu được so với chi phí đầu tư) tốt đa, hãy tuân thủ các điều sau:

• Phạm vi của kiểm thử tự động hóa cần được xác định chi tiết trước khi bắt đầu dự án

• Chọn công cụ kiểm thử tự động hóa phù hợp: Không nên chọn công cụ dựa trên mức độ phổ biến của công cụ đó, mà phải phù hợp với yêu cầu

tự động hóa

Trang 20

• Chọn một framework thích hợp

• Các tiêu chuẩn về kịch bản phải được tuân theo trong khi viết các kịch bản cho kiểm thử tự động hóa Một trong số đó là:

o Tạo script thống nhất, nhận xét và thụt đầu dòng đoạn code

o Xử lý đầy đủ những trường hợp ngoại lệ - Cách xử lý lỗi đối với lỗi hệ thống hoặc hành vi không mong muốn trong ứng dụng

o Thông báo do người dùng xác định phải được mã hóa hoặc tiêu chuẩn hóa để ghi nhật ký lỗi để tester hiểu

• Đo lường số liệu – Thành công của kiểm thử tự động hóa không thể được xác định bằng cách so sánh effort của kiểm thử thủ công với effort của kiểm thử tự động, mà có thể nắm bắt dựa vào các số liệu sua:

o Phần trăm lỗi được tìm thấy

o Thời gian cần thiết để kiểm thử tự động hóa cho mỗi chu kỳ phát hành

o Thời gian tối thiểu được thực hiện để phát hành

o Sự hài lòng của khách hàng

o Nâng cao năng suất

Trang 21

CHƯƠNG 3: TÌM HIỂU VỀ KATALON STUDIO

1 Giới thiệu về Katalon Studio

Katalon Studio là một bộ công cụ toàn diện để kiểm thử tự động áp dụng Web và Mobile 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 các thách thức phổ biến trong kiểm thử

tự động giao diện người dùng web Ví dụ: Cửa sổ bật lên, iFrame và thời gian chờ Giải pháp thân thiện và linh hoạt này giúp cho người 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 mình mà nó cung cấp cho toàn bộ quy trình kiểm thử tự động

2 Các tính năng chính của Katalon Studio

- Triển khai đơn giản (Simple deployment): gói triển khai duy nhất, gắn kết chứa mọi thứ cần để triển khai một công cụ kiểm thử tự động mạnh

mẽ

- Cài đặt nhanh chóng và dễ dàng (Quick & Esay set-up): không chỉ cung cấp cài đặt đơn giản, Katalon Studio còn giúp tester dễ dàng thiết lập môi trường Người kiểm thử có thể chạy kịch bản kiểm thử đầu tiên của

họ khá nhanh chóng bằng cách sử dụng các mẫu và tập lẹnh kiểm thử

dựng sẵn của nó, chẳng hạn như kho đối tượng và thư viện từ khóa

- Kết quả nhanh hơn và tốt hơn (Faster & Better results): các mẫu dựng sẵn với hướng dẫn rõ ràng giúp người kiểm tra nhanh chóng xây dựng

và chạy các kịch bản kiểm thử tự động Có thể thực hiện từng bước một tốc độ và hiệu quả, từ thiết lập dự án, tạo kiểm thử, thực hiện, tạo báo

cáo và bảo trì

- Chế độ linh hoạt (Flexible modes): có thể sử dụng bản ghi và từ khóa

để xây dựng bài kiểm thử tự động, trong đó có IDE đầy đủ để xây dựng

tập lệnh nâng cao

- Dễ sử dụng (Ease of use): ngay cả thủ công với kinh nghiệm lập trình

tối thiểu cũng có thể khai thác lợi ích của nó một cách dễ dàng

- Ứng dụng đa trình duyệt (Cross-browser application): Katalon Studio

hỗ trợ nhiều nền tảng: Windowns 32 và 64 (7, 8 và 10) và OS X 10.5+

Trang 22

3 Làm việc với Katalon

Katalon Studio là một giải pháp tự động hóa sâu sắc, thân thiện với người dùng, được đặc trưng bởi sự đơn giản và tốc độ Nó rất hữu ích cho các nhóm

và cá nhân người kiểm thử tự động dành ít nỗ lực nhất từ việc thiết lập một dự

án mới đến thực hiện các kiểm thử và sau đó giám sát kết quả thực hiện Mỗi quy trình công việc được cung cấp rất nhiều khả năng và tùy chỉnh để bảo trì

dễ dàng và mở rộng dự án:

• Cấu trúc được xác định trước (Pre-defined structure): test cases, test suites, test objects, reports Người kiểm tra không cần phải dành hàng

giờ để xác định và duy trì chúng sau này

• Từ khóa (Custom keyworks): tùy chỉnh cung cấp linh hoạt trong việc thêm các từ khóa bổ sung để kiểm tra AUT hiệu quả cho các mục đích

thử nghiệm cụ thể và phức tạp

• Hỗ trợ các nhu cầu kiểm tra chính: web, mobile và API

• Thực hiện nhiều bộ kiểm thử cùng một lúc với bộ sưu tập bộ kiểm thử

• Mở rộng dong CI hiện tại một cách dễ dàng với việc thực hiện chế độ bàn điều khiển mà không cần nỗ lực Thực hiện dòng lệnh có thể được tạo ra nhanh chóng bằng cách sử dụng tính năng “Generate Command

Line for console mode”

• Giám sát kết quả thực hiện dễ dàng với chế độ xem bảng hoặc chế độ

xem cây trong/ sau khi thực hiện

• Báo cáo chi tiết bộ kiểm thử giảm thời gian phân tích kết quả Có thể xuất nó sang các định dạng khác nhau CSV, PDF, HTML và lưu trữ để

sử dụng sau

4 Quy trình làm việc của Katalon Studio

Điều hành một luồng công việc tuyến tính:

4.1 Khởi tạo (Initiate):

Các mẫu dự án tích hợp: bằng cách cung cấp các mẫu dựng sẵn để tổ chức các trường hợp kiểm thử, kho lưu trữ đối tượng và từ khóa, Katalon Studio giúp việc kiểm thử dễ dàng hơn cho người kiểm thử

Nhiều khả năng: hổ trợ đầy đủ kiểm thử cho Web, Android, IOS và API trên tất cả các hệ điều hành

Trang 23

Tích hợp trên công cụ không rắc rối: dễ dàng kết hợp với Jenkins, GIT và JIRA với các plug-in gốc

4.2 Triển khai (Create)

Tạo kiểm thử tự động: ghi lại các hành động và tạo các kịch bản tự động bằng các từ khóa tích hợp

Tập lệnh Hi-end: cho phép xây dựng kịch bản kiểm thử nâng cao hoặc từ khóa tùy chỉnh dễ dàng và hiệu quả

Thu thập thông tin đối tượng: máy ghi âm tiên tiến phát hiện các thuộc tính đối tượng một cách hiệu quả để tối đa hóa nhận dạng

4.3 Hoạt động (Operate)

Thực hiện kiểm thử (Test execution) mạnh mẽ: chạy các trường hợp kiểm thử hoặc bộ kiểm thử bằng cách sử dụng nhiều cấu hình và bộ dữ liệu Tính linh hoạt trong thực thi: cung cấp bảng điều khiển tích hợp CI với các tham số khác nhau để thực hiện từ xa Chạy thử nghiệm trên nhiều trình duyệt và hệ điều hành OS cục bộ hoặc với Sauce Labs và BrowserStack

Xử lý lỗi linh hoạt hoặc thực hiện lại tự động: bao gồm các quy tắc thời gian chạy để tự động xử lý các luồng thực thi phức tạp

4.4 Báo cáo (Report)

Báo cáo có sẵn trong một số định dạng: với ghi nhật lý nâng cao, dữ liệu

Trang 24

5 So sánh các công cụ kiểm thử tự động

- Katalon Studio ẩn tất cả các sự phức tạp về mặt kỹ thuật đằng sau hiện trường và cung cấp giao diện thân thiện với chế độ thủ công (người dùng có thể kéo-thả, chọn từ khóa và thử nghiệm các đối tượng để tạo thành các bước thử nghiệm) nhưng vẫn giữ vũ khí cần thiết cho những người dùng kỹ thuật mạnh mẽ sâu hơn vào mã hóa với chế độ kịch bản

hỗ trợ đầy đủ các tiện ích phát triển như làm nỗi bật cú pháp, đề xuất

Nền tảng phát triển kiểm thử

Cross-platform Window Cross-platform

Application under test

Web apps Windowns

desktop, Web, Mobile apps, API/Web services

Web, Mobile, API/Web

services

Ngôn ngữ kịch bản

Java, C#, Perl, Python,

JavaScript, Ruby, PHP

VBScript Java/Groovy

Kỹ năng lập trình

Kỹ năng nâng cao cần thiết để tích hợp cho các công cụ khác nhau

Không yêu cầu Đề xuất cho các kịch bản nâng cao

Không yêu cầu

Đề xuất cho các kịch bản nâng cao

Trang 25

Dễ cài đặt và sử dụng

Yêu cầu cài đặt

và tích hợp các công cụ khác nhau

Dễ dàng cài đặt và chạy

trì đối tượng

Xpath, bản đồ

UI

Kho lưu trữ đối tượng tích hợp, phát hiện

và điều chỉnh đối tượng thông minh

Kho lưu trữ đối tượng tích hợp, Xpath, nhận dạng lại đối tượng

Kiểm thử dựa trên hình ảnh

Yêu cầu cài đặt thư viện bổ sung

Hỗ trợ tích hợp, nhận dạng đối tượng dựa trên hình ảnh

Hỗ trợ tích hợp

Kiểm thử phân tích

Không Không Katalon

Analytics Loại giấy phép Mã nguồn mở

(Apache 2.0)

Bản quyền Phần mềm miễn

phí Phí Miễn phí Phí giấy phép

Công cụ Điểm mạnh Hạn chế

Trang 26

Katalon Studio

Không có phí cấp phép và bảo trì cần thiết (dịch vụ hỗ trợ chuyên dụng có trả phí có sẵn nếu cần)

Tích hợp các framework và tính năng cần thiết để tạo và thực hiện các trường hợp kiểm thử nhanh

Được xây dựng dựa trên Selenium nhưng loại bỏ nhu cầu

về các kỹ năng lập trình nâng cao cần thiết cho Selenium

Giải pháp mới nổi với một cộng đồng phát triển nhanh chóng

Bộ tính năng vẫn đang phát triển Thiết các lựa chọn cho các ngôn ngữ kịch bản: chỉ hỗ trợ Java/Groovy

Selenium Mã nguồn mở, không có phí cấp

phép và bảo trì

Cộng đồng người dùng và phát triển lớn và tích cực để kịp với các công nghệ phần mềm

Mở để tích hợp các công cụ và các framework khác để tăng cường khả năng của nó

Các nhóm kiểm thử cần phải có kỹ năng

và kinh nghiệm lập trình tốt để thiết lập

và tích hợp với Selenium với các công cụ và framework khác

Hỗ trợ chậm từ cộng đồng

QTP/UFT Các tính năng kiểm thử tự động

toàn diện được tích hợp vào một

hệ thống duy nhất

Hỗ trợ người dùng chuyên dụng với một cộng đồng người dùng lớn được thành lập

Chỉ yêu cầu các kỹ năng lập trình

cơ bản để bắt đầu với việc tạo và thực thi kiểm thử

Giải pháp tốn kém: giấy phép và phí bảo trì cao đáng kể Chi phí cao để nâng cấp và các module

bổ sung

Chỉ hỗ trợ VBScript

Hình 3.2 So sánh các điểm mạnh và hạn chế chính của các công cụ

Trang 27

Đánh giá:

Không có công cụ nào phù hợp cho tất cả để kiểm thử tự động Rất khuyến khích người dùng kiểm thử đánh giá các công cụ khác nhau để chọn ra những gì sẽ đáp ứng tốt nhất nhu cầu kiểm thử tự động của họ Các ngôn ngữ lập trình và công nghệ được sử dụng để phát triển phần mềm tiếp tục phát triển, cũng như các công cụ kiểm thử tự động, khiến chi phí trở thành một yếu tố quan trọng trong việc lựa chọn công cụ Các nhà cung cấp thương mại thường tính phí nâng cấp công cụ, có thể là đáng kể nếu phần mềm của bạn sử dụng các công cụ mới nổi và thường xuyên thay đổi

Mặc khác, các công cụ mã nguồn mở và phi thương mại không phải chịu phí

bổ sung mà đòi hỏi nỗ lực và chuyên môn để tích hợp các nâng cấp mới Thât khó để tìm thấy sự hỗ trợ và chuyên môn cần thiết để tích hợp các công cụ và framework khác nhau vào các giải pháp mã nguồn mở các công cụ mở nổi tích hợp với các framework mã nguồn mở, như Katalon, cung cấp một giải pháp thay thế khả thi cho

cả các giải pháp kiểm thử tự động mã nguồn mở và thương mại

Ngày đăng: 06/05/2021, 16:55

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

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

w