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

Báo cáo bài tập lớn học phần kiểm thử phần mềm tìm hiểu và sử dụng các kỹ thuật kiểm thử được hỗ trợ bởi công cụ kiểm thử soapui

72 14 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

Tiêu đề Báo Cáo Bài Tập Lớn Học Phần: Kiểm Thử Phần Mềm Tìm Hiểu Và Sử Dụng Các Kỹ Thuật Kiểm Thử Được Hỗ Trợ Bởi Công Cụ Kiểm Thử Soapui
Tác giả Nguyễn Minh Khuê, Vũ Văn Hùng, Trịnh Đức Nhân, Hoàng Thị Thu Trang
Người hướng dẫn Th.S Hoàng Quang Huy
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Kiểm Thử Phần Mềm
Thể loại báo cáo
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 72
Dung lượng 3,31 MB

Nội dung

Kiểm thử phần mềm đảm bảo rằng phần mềm được phát triển đáp ứngđược yêu cầu và mong đợi của người dùng, từ tính năng, chức năng, hiệu suất, đến độtin cậy và bảo mật.SoapUI là một công cụ

Trang 1

BÁO CÁO BÀI TẬP LỚN

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

- -Hà Nội-Năm 2023

Trang 2

MỤC LỤC

CHƯƠNG 1: MỞ ĐẦU 6

CHƯƠNG 2: KẾT QUẢ NGHIÊN CỨU 7

2.1 TỔNG QUAN 7

2.1.1 Khái niệm kiểm thử 7

2.1.2 Các loại kiểm thử 8

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

2.1.4 Kiểm thử tự động 14

2.2 TÌM HIỂU CÔNG CỤ KIỂM THỬ PHẦN NỀM 16

2.2.1 Giới thiệu công cụ 16

2.2.2 Cách cài đặt công cụ 18

2.2.3 Cách sử dụng công cụ 26

2.3 Giới thiệu trang web TheTestingWorldAPI 36

2.3.1 Giới thiệu 36

2.3.2 Tài liệu đặc tả yêu cầu phần mềm 36

2.4 Kiểm thử trang web TheTestingWorldAPI 38

2.4.1 Lập kế hoạch kiểm thử (Test plan) 38

2.4.2 Vũ Văn Hùng - Lấy dữ liệu 40

2.4.3 Nguyễn Minh Khuê - TechnicalSkills 49

2.4.4 Hoàng Thị Thu Trang – Hệ thống Chi tiết sinh viên 55

2.4.5 Trịnh Đức Nhân - Địa chỉ 62

CHƯƠNG 3 KIẾN THỨC LĨNH HỘI VÀ BÀI HỌC KINH NGHIỆM 70

MỤC LỤC HÌNH ẢNH

Trang 3

Ảnh 1: Các giao thức của SOAPUI 17

Ảnh 2: Các yêu cầu tải SOAPUI 19

Ảnh 3: Hình ảnh trang chủ của SoapUi 20

Ảnh 4: Hình ảnh trang downloading SoapUI 20

Ảnh 5: Chạy file để tải phần mềm SoapUI 21

Ảnh 6: Hướng dẫn thiết lập tải SoapUI 21

Ảnh 7: Chọn thư mục để lưu phần mềm SoapUi 22

Ảnh 8: Chọn thành phần muốn cài đặt xuống 22

Ảnh 9: Chọn thành phần muốn cài đặt xuống 23

Ảnh 10: Chọn vị trí thư mục lưu trữ 24

Ảnh 11: Chọn vị trí thư mục bắt đầu và next 24

Ảnh 12: Chọn Create a desktop icon 25

Ảnh 13: Cài đặt hoàn tất 25

Ảnh 14: Giao diện màn hình chính của SoapUi 26

Ảnh 15: Cấu trúc Workspace trong SOAP UI 27

Ảnh 16: Tạo 1 Workspace 27

Ảnh 17: Hoàn thành tạo Workspace 28

Ảnh 18: Chọn nơi lưu trữ Workspace 28

Ảnh 19: Hình ảnh không gian làm việc của Workspace 29

Ảnh 20: Ví dụ về kiểm thử SoapUI 30

Ảnh 21: Sự khác nhau giữa SOAP và REST 31

Ảnh 22: Tạo 1 file new Rest API 31

Trang 4

Ảnh 23: Ví dụ truyền body 32

Ảnh 24: Tạo testsuite with testcase 32

Ảnh 25: Sửa tên TestSuite 33

Ảnh 26: Tạo TestSuit và đổi tên TestCase 34

Ảnh 27: Tạo TestSuit và đổi tên TestCase 34

Ảnh 28: Màn hình hiển thị sau khi tạo Test case 34

Ảnh 29: Ví dụ: truyền dữ liệu kiểu body 35

Ảnh 30: Ví dụ: truyền dữ liệu kiểu body 35

Ảnh 31: Kết quả chạy test case 36

Ảnh 32: Kết quả chạy test case 46

Ảnh 33: Tạo mới TestSuite 46

Ảnh 34: Tạo mới Test Case 47

Ảnh 35: Lấy dữ liệu 47

Ảnh 36: Lấy dữ liệu thành công 48

Ảnh 37: Dữ liệu lấy thành công 49

Ảnh 38: Thêm kỹ năng mới 51

Ảnh 39: Thêm kỹ năng mới 52

Ảnh 40: Sửa kỹ năng có id = 90048 53

Ảnh 41: Xoá kỹ năng có id = 90086 54

Ảnh 42: Xoá kỹ năng có id = 1000 55

Ảnh 43: Xoá kỹ năng có id = 1000 58

Ảnh 44: Xoá kỹ năng có id = 1000 58

Ảnh 45: Lấy ra danh sách sinh viên có id cụ thể 59

Trang 5

Ảnh 46: Lấy ra danh sách sinh viên có id cụ thể 59

Ảnh 47: Thêm sinh viên có đầy đủ chi tiết 60

Ảnh 48: Tạo resource 60

Ảnh 49: Tạo resource 61

Ảnh 50: Tạo testSuite 61

Ảnh 51: Tạo testcase 62

Ảnh 52: Xoá sinh viên có id cụ thể 62

Ảnh 53: Tạo mới REST Project 64

Ảnh 54: Phương thức Post 64

Ảnh 55: Add data 65

Ảnh 56: Tạo test case và test suite, request 66

Ảnh 57: Kết quả 66

Ảnh 58: Tạo phương thức 67

Ảnh 59: Data được thêm 67

Ảnh 60: Kết quả 68

Ảnh 61: Kết quả 68

Trang 6

CHƯƠNG 1: MỞ ĐẦU

Công nghệ thông tin đang phát triển với tốc độ chóng mặt và trở thành một phầnkhông thể thiếu trong đời sống của chúng ta Trong lĩnh vực phát triển phần mềm, côngnghệ thông tin đóng vai trò quan trọng trong việc tạo ra các sản phẩm phần mềm chấtlượng cao và đáp ứng nhu cầu của người dùng

Trong quá trình phát triển phần mềm, kiểm thử phần mềm là một phần quan trọng vàkhông thể thiếu Kiểm thử phần mềm đảm bảo rằng phần mềm được phát triển đáp ứngđược yêu cầu và mong đợi của người dùng, từ tính năng, chức năng, hiệu suất, đến độtin cậy và bảo mật

SoapUI là một công cụ kiểm thử phần mềm phổ biến và mạnh mẽ được sử dụng tronglĩnh vực này Nó là một công cụ kiểm thử phần mềm dựa trên giao thức SOAP (SimpleObject Access Protocol) và REST (Representational State Transfer) SoapUI cung cấpcác tính năng để kiểm tra và xác thực các dịch vụ web của phần mềm, đồng thời chophép các kỹ sư kiểm thử phần mềm kiểm tra tính năng, tương tác với cơ sở dữ liệu,kiểm tra bảo mật và hiệu suất của phần mềm

Với SoapUI, các kỹ sư kiểm thử phần mềm có thể tạo ra các kịch bản kiểm thử tự động

để đảm bảo tính toàn vẹn và độ tin cậy của các dịch vụ web Nó cũng cung cấp cáccông cụ và tính năng để giúp người dùng tìm ra các lỗi và sự cố trong quá trình kiểmthử phần mềm

Sử dụng SoapUI trong kiểm thử phần mềm giúp các kỹ sư kiểm thử phần mềm tiếtkiệm thời gian và tăng tính hiệu quả của quá trình kiểm thử Với tính năng tự độnghóa, các kịch bản kiểm thử có thể được thực hiện nhanh chóng và liên tục để đảm bảotính đáng tin cậy của phần mềm

Tóm lại, SoapUI là một công cụ kiểm thử phần mềm mạnh mẽ và hiệu quả trong việckiểm thử các dịch vụ web của phần mềm Nó giúp các kỹ sư kiểm thử phần mềm tạo racác kịch bản kiểm thử tự động và xác thực các tính năng của phần mềm để đảm bảotính toàn vẹn và độ tin cậy của sản phẩm phần mềm

Trang 7

CHƯƠNG 2: KẾT QUẢ NGHIÊN CỨU2.1 TỔNG QUAN

2.1.1 Khái niệm kiểm thử

2.1.1.1 Kiểm thử là gì?

Kiểm thử (Testing) là quá trình đánh giá các tính năng và chức năng của một sản phẩmphần mềm để đảm bảo rằng nó đáp ứng các yêu cầu của khách hàng và đáp ứng đượccác tiêu chuẩn chất lượng Quá trình kiểm thử phần mềm có thể được thực hiện bằngcách sử dụng các phương pháp, kỹ thuật và công cụ khác nhau để đảm bảo rằng sảnphẩm đáp ứng được các yêu cầu chức năng, phi chức năng, hiệu suất và an toàn

Các nguyên tắc kiểm thử (7 testing principles):

 Các nguyên tắc kiểm thử (7 testing principles) được đưa ra bởi ISTQB(International Software Testing Qualifications Board) và là các nguyên tắc cơbản để hướng dẫn quá trình kiểm thử phần mềm Các nguyên tắc này bao gồm:

 Kiểm thử không thể chứng minh tính đúng đắn của phần mềm: Kiểm thử chỉ cóthể giúp phát hiện các lỗi hoặc khuyết tật trong phần mềm, nhưng không thểchứng minh rằng phần mềm là hoàn toàn đúng đắn

 Kiểm thử sớm: Kiểm thử nên bắt đầu từ giai đoạn sớm nhất trong quá trình pháttriển phần mềm, để giảm thiểu chi phí và thời gian trong việc sửa lỗi

 Toàn diện: Kiểm thử nên được thực hiện một cách toàn diện, bao gồm kiểm thửchức năng, phi chức năng và hiệu suất của phần mềm

 Sự chuyên môn: Kiểm thử nên được thực hiện bởi các chuyên gia trong lĩnh vựckiểm thử, để đảm bảo tính chính xác và hiệu quả của quá trình kiểm thử

 Lặp lại: Kiểm thử nên được lặp lại nhiều lần để đảm bảo tính ổn định và độ tincậy của phần mềm

 Tính tự động: Kiểm thử nên được tự động hóa để tăng tính hiệu quả và giảmthiểu thời gian và chi phí

 Kiểm thử phải dừng lại khi đạt được mục tiêu: Kiểm thử nên được thực hiệnđến khi đạt được mục tiêu của quá trình kiểm thử, nhưng nếu không đạt đượcmục tiêu sau một thời gian nhất định, quá trình kiểm thử có thể phải dừng lại đểtiến hành các phương pháp kiểm thử khác

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

 Đảm bảo chất lượng sản phẩm: Kiểm thử phần mềm giúp đảm bảo rằng phầnmềm được sản xuất có chất lượng tốt, đáp ứng được yêu cầu của khách hàng vàngười dùng cuối

Trang 8

 Phát hiện lỗi sớm: Kiểm thử phần mềm giúp phát hiện và sửa chữa các lỗi phầnmềm sớm, trước khi phần mềm được triển khai và sử dụng rộng rãi, điều nàygiúp giảm thiểu chi phí và thời gian sửa chữa.

 Tiết kiệm chi phí: Kiểm thử phần mềm giúp giảm thiểu chi phí sửa chữa phầnmềm và giảm thiểu chi phí liên quan đến sự cố phần mềm

 Đảm bảo tính ổn định và độ tin cậy: Kiểm thử phần mềm giúp đảm bảo tính ổnđịnh và độ tin cậy của phần mềm, giúp giảm thiểu nguy cơ sự cố và giúp ngườidùng sử dụng phần mềm một cách an toàn

 Đảm bảo tính tương thích: Kiểm thử phần mềm giúp đảm bảo tính tương thíchcủa phần mềm với các hệ thống, phần cứng và phần mềm khác, giúp ngườidùng sử dụng phần mềm một cách dễ dàng và hiệu quả

 Tăng niềm tin của khách hàng: Kiểm thử phần mềm giúp tăng niềm tin củakhách hàng và người dùng cuối vào sản phẩm, đảm bảo rằng phần mềm đápứng được các yêu cầu và mong đợi của họ

 Tóm lại, kiểm thử phần mềm là cần thiết để đảm bảo chất lượng sản phẩm,giảm thiểu chi phí sửa chữa, đảm bảo tính ổn định và độ tin cậy của phần mềm,tăng niềm tin của khách hàng và người dùng cuối, và đảm bảo tính tương thíchcủa phần mềm

2.1.2 Các loại kiểm thử

2.1.2.1 Kiểm thử chức năng (functional testing)

Kiểm thử chức năng (Functional testing) là một phương pháp kiểm thử phần mềm đểđảm bảo rằng phần mềm hoạt động đúng theo các yêu cầu chức năng được đặt ra.Kiểm thử chức năng tập trung vào việc kiểm tra các tính năng, chức năng, và hành vicủa phần mềm để đảm bảo rằng chúng hoạt động đúng cách

Dựa trên yêu cầu:

 Sử dụng các đặc tả kỹ thuật của các yêu cầu chức năng để làm cơ sở cho việctest các thiết kế

 Nội dung của các yêu cầu có thể làm các mục kiểm thử ban đầu hoặc sử dụng

nó như là một danh sách các mục kiểm thử hoặc không kiểm thử

 Dựa theo yêu cầu để phân mức độ ưu tiên trong quá trình kiểm thử Cần ưu tiêncác yêu cầu có mức độ rủi ro cao

Dựa trên quy trình nghiệp vụ:

 Các quy trình nghiệp vụ mô tả các kịch bản scenarios liên quan đến các nghiệp

vụ hằng ngày của hệ thống

Trang 9

 Các usecase được bắt nguồn phát triển theo hướng đối tượng nhưng hiện tại phổbiến trong nhiều trong các vòng đời phát triển.

 Lấy các quy trình nghiệp vụ làm điểm khởi đầu, các quy trình nghiệp vụ xuấtphát từ các nhiệm vụ được thực hiện bởi người dùng

 Các use case là một cơ sở hữu ích cho các testcase từ góc độ nghiệp vụ

Các bước trong kiểm thử chức năng bao gồm:

 Phân tích yêu cầu: Đầu tiên, kiểm thử viên phải đọc và hiểu các yêu cầu chứcnăng của phần mềm

 Lập kế hoạch kiểm thử: Sau khi hiểu các yêu cầu chức năng, kiểm thử viên sẽlập kế hoạch kiểm thử để đảm bảo rằng tất cả các chức năng đã được kiểm thửđầy đủ

 Thiết kế kiểm thử: Kiểm thử viên sẽ thiết kế các ca kiểm thử để kiểm tra tínhđúng đắn của các chức năng của phần mềm

 Thực hiện kiểm thử: Kiểm thử viên sẽ thực hiện các ca kiểm thử đã thiết kế đểđảm bảo rằng các chức năng của phần mềm hoạt động đúng cách

 Quản lý lỗi: Nếu phát hiện ra các lỗi trong quá trình kiểm thử, kiểm thử viên sẽghi lại các lỗi này và báo cáo cho nhóm phát triển để sửa chữa

 Xác nhận kết quả kiểm thử: Kiểm thử viên sẽ xác nhận kết quả kiểm thử để đảmbảo rằng tất cả các chức năng của phần mềm đã được kiểm thử đầy đủ và đápứng được các yêu cầu chức năng

 Kiểm thử chức năng là một phương pháp quan trọng trong kiểm thử phần mềm

để đảm bảo tính đúng đắn và đáp ứng các yêu cầu chức năng của phần mềm

Các loại kiểm thử chức năng:

● Kiểm thử đơn vị (Unit Testing)

● Kiểm thử khói (Smoke Testing - check nhanh xem hệ thống có khởi động đượchay không)

● Kiểm thử độ tỉnh táo (Sanity Testing - check nhanh xem sau khi sửa đổi thìfunction có hoạt động như mong muốn hay không)

● Kiểm thử giao diện (Interface Testing)

● Kiểm thử tích hợp (Integration Testing)

● Kiểm thử hệ thống (Systems Testing)

● Kiểm thử hồi quy (Regression Testing)

● Kiểm thử chấp nhận (Acceptance testing)

Trang 10

2.1.2.2 Kiểm thử phi chức năng (non-functional testing).

Kiểm thử phi chức năng cùng giống kiểm thử chức năng ở chỗ là thực hiệnđược ở mọi cấp độ kiểm thử, Kiểm thử phi chức năng xem xét các hành vi bên ngoàicủa phần mềm

Kiểm thử phi chức năng bao gồm:

● Kiểm thử hiệu năng (performance testing)

● Kiểm thử khả năng chịu tải (load testing)

● Kiểm thử áp lực (stress testing)

● Kiểm thử khả năng sử dụng (usability testing)

● Kiểm thử bảo trì (maintainability testing)

● Kiểm thử độ tin cậy (reliability testing)

● Kiểm thử tính tương thích (portability testing)

Những đặc điểm phụ tương ứng:

● Độ tin cậy (reliability): được xác định rõ hơn từ các đặc trưng phụ đã được tínhtoán cẩn thận (độ bền), khả năng chịu lỗi (fault tolerance), phục hồi(recoverability) và tuân thủ (compliance)

● Khả năng sử dụng (usability): được chia thành các đặc trưng dễ hiểu, khả nănghọc hỏi (learnability), khả năng hoạt động (operability), sự thu hút(attractiveness) và tính tuân thủ (compliance)

● Tính hiệu quả (efficiency): được chia thành hành vi về thời gian (hiệu suất), sửdụng tài nguyên (resource utilization) và tuân thủ (compliance)

● Khả năng bảo trì (maintainability): bao gồm 5 đặc điểm phụ: phân tích, khảnăng thay đổi, tính ổn định, khả năng kiểm tra và tuân thủ

● Tính tương thích (portability): bao gồm 5 đặc điểm phụ: khả năng thích ứng,khả năng cài đặt, cùng tồn tại, khả năng thay thế và tuân thủ

2.1.2.3 Kiểm thử cấu trúc/kiến trúc phần mềm (structural testing).

Kiểm thử cấu trúc có thể xảy ra ở bất kỳ mức độ kiểm thử nào, được áp dụng chủ yếu

ở kiểm thử thành phần, tích hợp

Phương pháp kiểm thử cấu trúc cũng có thể áp dụng ở các mức độ như kiểm thử tíchhợp hệ thống hoặc kiểm thử chấp nhận

Trang 11

Kỹ thuật kiểm thử cấu trúc được sử dụng tốt nhất sau các kỹ thuật dựa trên các đặcđiểm kỹ thuật (specification-based) Giúp đo lường kỹ lưỡng kiểm thử thông qua đánhgiá độ bao phủ của loại cấu trúc.

Độ bao phủ là phạm vi mà một cấu trúc đã được thực hiện bởi một bộ kiểm thử, tínhtheo phần trăm của các mục đã được bao phủ Nếu độ bao phủ không phải là 100% cáckiểm thử sẽ được thiết kế để kiểm tra các mục đã bị bỏ lỡ để tăng độ bao phủ

Các kỹ thuật được sử dụng để kiểm thử cấu trúc là: các kỹ thuật hộp trắng và các môhình luồng điều khiển (Control flow models)

2.1.2.4 Kiểm thử xác nhận (confirmation testing) và kiểm thử hồi quy (regression testing)

Kiểm thử xác nhận.

 Sau khi một lỗi được phát hiện và sửa chữa, phần mềm được kiểm thử lại đểxác nhận lỗi ban đầu đã được khắc phục gọi là kiểm thử xác nhận (Confirmationtesting)

 Khi thực hiện kiểm thử xác nhận phải đảm bảo rằng các thử nghiệm được thựchiện giống như lần đầu tiên sử dụng, sử dụng các inputs, dữ liệu và môi trườnggiống nhau

Kiểm thử hồi quy:

 Mục đích của kiểm thử hồi quy là xác minh rằng sửa đổi trong phần mềm hoặcmôi trường không gây ra các phản ứng phụ không mong muốn và hệ thống vẫnđáp ứng các yêu cầu

 Kiểm thử hồi quy là các kiểm thử lặp đi lặp lại của một chương trình đã đượckiểm thử, sau khi sửa đổi

 Kiểm thử hồi quy được thực hiện bất cứ khi nào trong phần mềm hoặc là kếtquả của các bản sửa lỗi, chức năng mới được thay đổi

 Kiểm thử hồi quy dựa vào các bộ test case Khi thêm chức năng mới thì phảithêm các testcase mới hoặc là các chức năng cũ được thay đổi hay xóa bỏ thìtest case cũng phải được thay đổi hoặc xóa bỏ

 Kiểm thử hồi quy có thể được thực hiện tại tất cả mức độ kiểm thử, bao gồmkiểm thử chức năng, phi chức năng và kiểm thử cấu trúc

2.1.2.5 Kiểm thử bảo trì (Maintenance testing).

Phân tích tác động và kiểm thử hồi quy:

Trang 12

 Thông thường kiểm thử bảo trì gồm 2 phần: kiểm thử các thay đổi và Kiểm thửhồi quy để cho thấy phần còn lại của hệ thống không bị ảnh hưởng bởi côngviệc bảo trì.

 Hoạt động chính và quan trọng trong việc kiểm thử bảo trì là việc phân tích cáctác động Từ việc phân tích sẽ quyết định được những phần nào của hệ thống cóthể bị ảnh hưởng không mong muốn

 Phân tích rủi ro sẽ giúp quyết định được nơi cần tập trung kiểm thử hồi quy

Khởi động cho kiểm thử bảo trì:

 Kiểm thử bảo trì được thực hiện trên hệ thống đã tồn tại và được thực hiện khi

có sự thay đổi, di chuyển hoặc rút lui của phần mềm hoặc hệ thống

 Kiểm thử bảo trì cho việc thay đổi: Các cải tiến bao gồm thay đổi tăng theo kếhoạch, khắc phục những thay đổi khẩn cấp và thay đổi môi trường

 Kiểm thử bảo trì cho sự chuyển đổi: Bao gồm kiểm tra hoạt động của môitrường mới, các phần mềm đã thay đổi Kiểm thử di chuyển (kiểm thử chuyểnđổi) cũng cần thiết khi dữ liệu từ một ứng dụng khác sẽ được di chuyển vào hệthống đang được bảo trì

 Kiểm thử bảo trì đối với hệ thống đã ngưng hoạt động: bao gồm kiểm thử việcchuyển đổi dữ liệu hoặc lưu trữ, nếu cần lưu trữ dữ liệu lâu dài

Từ quan điểm của việc chuyển đổi thì c漃Ā 2 loại:

 Chuyển đổi theo kế hoạch bao gồm: Chuyển đổi hoàn thiện (phần mềm thíchnghi được với mong muốn người dùng), Chuyển đổi thích nghi (phần mềmthích nghi được với sự thay đổi của môi trường như phần cứng mới, phần mềm

hệ thống mới), Chuyển đổi điều chỉnh theo kế hoạch (sửa chữa lỗi)

 Những chuyển đổi bột phát không thể lên kế hoạch được: đối với những lỗi nhưthế này cần phân tích rủi ro của hệ thống hoạt động để xác định chức năng hoặcchương trình gây lỗi

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

2.1.3.1 Kiểm thử hộp trắng:

 Phương pháp kiểm thử phần mềm White Box Testing – kiểm thử hộp trắngđược các tester áp dụng để kiểm tra cấu trúc bên trong phần mềm, đồng thời,tester sẽ tiến hành lấy dữ liệu thử nghiệm từ mã chương trình

 Kiểm thử hộp trắng (White box testing) được chia thành nhiều loại khác nhau,bao gồm: API Testing, code coverage, Fault Injection Methods, Mutation

Trang 13

Testing Methods, Static Testing API Testing là kiểm thử ứng dụng bằng cáchdùng hàm API private và public.

Ưu điểm:

 Giúp hệ thống tối ưu hóa hơn các dòng lệnh một cách đơn giản

 Giúp các tester phát hiện lỗi dễ dàng trong mỗi dòng lệnh

 Loại bỏ nhanh chóng dòng lệnh có lỗi tiềm ẩn hoặc không quan trọng

 Tester sau khi thực hiện phương pháp kiểm thử phần mềm này sẽ dễ dàng hơn

để đạt được độ bao phủ lớn nhất trong các trường hợp kiểm thử sau

Ưu điểm:

 Tester không cần phải truy cập vào từng dòng lệnh

 Hiệu quả và phù hợp với hệ thống có số lượng lớn dòng lệnh

 Phân biệt một cách rõ ràng quan điểm của nhà phát triển và người dùng

 Không đòi hỏi tester phải có kiến thức về ngôn ngữ lập trình khi kiểm thử phầnmềm

Nhược điểm:

 Bị giới hạn bởi độ bao phủ của các trường hợp kiểm thử

 Khó khăn trong việc thiết kế đầy đủ mọi trường hợp kiểm thử

 Thực tế không mang lại hiệu quả cao bởi các tester bị giới hạn kiến thức về hệthống

 Các tester chỉ tập trung vào dòng lệnh dễ xảy ra lỗi, khó có thể kiểm tra tất cảđoạn lệnh của hệ thống

Trang 14

2.1.4 Kiểm thử tự động

2.1.4.1 Kiểm thử tự động

Là một kỹ thuật tự động trong đó người kiểm thử tự viết các tập lệnh và sử dụng phầnmềm phù hợp để kiểm thử phần mềm Nó về cơ bản là một quá trình tự động hóa củamột quy trình kiểm thử thủ công Giống như kiểm thử hồi quy, kiểm thử tự động cũngđược sử dụng để kiểm thử ứng dụng theo quan điểm tải, hiệu năng và ứng suất

Kiểm thử tự động hay sử dụng phần mềm để kiểm thử với các ưu điểm:

● Có thể thực hiện các kiểm thử một cách liên tục, lặp lại và giảm chi phí chonhân lực kiểm thử

● Luôn đảm bảo hoạt động theo một kịch bản duy nhất – không bị ảnh hưởng nhưvới kiểm thử viên

2.1.4.2 Quy trình kiểm thử tự đô ̣ng

Quy trình kiểm thử tự động bao gồm: tester sử dụng các kịch bản tự động (automationscripts) và thực thi các script để chạy ứng dụng với sự giúp sức của các automationtool Một khi script đã sẵn sàng thì việc thực thi kiểm thử có thể diễn ra nhanh chóng

và hiệu quả

Các hoạt động của kiểm thử tự động:

● Phân tích yêu cầu/Xác định môi trường/công cụ

● Xác định tiêu chí đầu ra

● Lên kế hoạch và kiểm soát

● Thiết lập môi trường kiểm thử

● Triển khai thiết kế kiểm thử

● Thực thi kiểm thử

● Phân tích, báo cáo

2.1.4.3 Mục đích của kiểm thử tự đô ̣ng

Kiểm thử tự động với các mục đích:

● Giảm bớt công sức và thời gian thực hiện quá trình kiểm thử

● Tăng độ tin cậy

● Giảm sự nhàm chán cho con người

● Rèn luyện kỹ năng lập trình cho kiểm thử viên

Trang 15

● Giảm chi phí cho tổng quá trình kiểm thử

2.1.4.4 Kiểm thử tự đô ̣ng khi nào?

● Không đủ tài nguyên: Khi số lượng TestCase quá nhiều mà kiểm thử viên khôngthể hoàn tất trong thời gian cụ thể

● Kiểm tra hồi quy: Nâng cấp phần mềm, kiểm tra lại các tính năng đã chạy tốt vànhững tính năng đã sửa Tuy nhiên, việc này khó đảm bảo về mặt thời gian

● Kiểm tra khả năng vận hành phần mềm trong môi trường đặc biệt (Đo tốc độtrung bình xử lý một yêu cầu của Web server, xác định cấu hình máy thấp nhất

mà phần mềm vẫn có thể hoạt động tốt)

2.1.4.5 Mô ̣t số công cụ kiểm thử tự đô ̣ng

Các công cụ kiểm thử tự động là các phần mềm được sử dụng để thực hiện các kiểmthử trong quá trình phát triển phần mềm một cách tự động, giúp giảm thiểu thời gian

và chi phí trong quá trình kiểm thử Dưới đây là một số công cụ kiểm thử tự động phổbiến:

1 Selenium: Là một công cụ kiểm thử tự động cho các ứng dụng web, cho phépkiểm thử các hành vi của trình duyệt web

2 Appium: Là một công cụ kiểm thử tự động cho các ứng dụng di động, cho phépkiểm thử các ứng dụng trên các thiết bị di động và máy tính bảng

3 JMeter: Là một công cụ kiểm thử hiệu suất cho các ứng dụng web, cho phépkiểm thử tải, thời gian đáp ứng, và khả năng chịu tải của ứng dụng

4 TestComplete: Là một công cụ kiểm thử đa nền tảng cho các ứng dụng máy tính

Trang 16

Các công cụ kiểm thử tự động giúp tăng tính hiệu quả và độ chính xác trong quá trìnhkiểm thử phần mềm, giảm thiểu thời gian và chi phí, và đảm bảo tính đáng tin cậy củaphần mềm.

2.2 TÌM HIỂU CÔNG CỤ KIỂM THỬ PHẦN NỀM

2.2.1 Giới thiệu công cụ

Công cụ SoapUI bao gồm các tính năng như:

1 Tạo và chỉnh sửa các yêu cầu và phản hồi dịch vụ web

2 Tạo và thực hiện các bộ kiểm thử tự động

3 Hỗ trợ kiểm thử dịch vụ web dựa trên các giao thức như SOAP, REST và JMS

4 Đưa ra các báo cáo chi tiết về kết quả kiểm thử

5 Tích hợp với các công cụ khác như Maven và Jenkins để tự động hóa quy trìnhkiểm thử

6 Cung cấp các tính năng kiểm thử khác như kiểm thử tải và kiểm thử bảo mật.Công cụ SoapUI có thể được sử dụng trên nhiều nền tảng, bao gồm cả Windows,Linux và macOS Nó được sử dụng rộng rãi trong các dự án phần mềm để đảm bảochất lượng sản phẩm và đảm bảo tính ổn định và độ tin cậy của dịch vụ web

Tại sao lại sử dụng SOAPUI?

SOAPUI không chỉ là một công cụ dùng để test functional API mà còn cho phép chúng

ta thực hiện các bước test nonfunctional như Performance và security testing

5 tính năng quan trọng của SOAPUI

1 Functional test (Kiểm thử chức năng)

● Một công cụ mạnh mẽ cho phép các Tester test functional API trong SoapUI

● Hỗ trợ tính năng Kéo-thả giúp tăng tốc độ script development

● Hỗ trợ debug và cho phép các Tester thực hiện test data

● Hỗ trợ Nhiều Môi trường - Dễ dàng chuyển đổi giữa QA, Dev và môi trườngProd

Trang 17

● Hỗ trợ script nâng cao (Tester có thể tùy chỉnh code của họ tùy thuộc vào script )

2 Security testing (Kiểm thử bảo mật)

● Có khả năng thực hiện quét các lỗ hổng bảo mật một cách hoàn chỉnh

● Ngăn chặn SQL Injection để bảo vệ cơ sở dữ liệu

● Quét Stack overflows được gây ra bởi các dữ liệu có kích thước rất lớn

● Quét cho Cross Site Scripting, thường xảy ra khi các thông số dịch vụ được hiểnthị trong các tin nhắn

● Thực hiện quét Fuzzing và Boundary để tránh hành vi thất thường của các dịchvụ

3 Load testing

● Phân phối Load test trên tất cả các số bất kỳ của loadUI Agents

● Mô phỏng dữ liệu lớn và thực một cách dễ dàng

● Cho phép báo cáo tùy chỉnh nâng cao để nắm bắt các thông số hiệu suất

● Cho phép giám sát hiệu suất End-to-End system

4 Hỗ trợ các Giao thức / Công nghệ:

SoapUI hỗ trợ Giao thức toàn diện nhất : SOAP/WSDL, REST, AMF,HTTP/HTTPS, JDBC, JMS

Ảnh 1: Các giao thức của SOAPUI

5 SOAP-Tích hợp với các công cụ tự động h漃Āa khác nhau:

Trang 18

SoapUI tích hợp rất tốt với các công cụ phổ biến:

 HUDSON, một công cụ tích hợp dựa trên nền tảng Java và tích hợp với các công

cụ như CVS, Subversion, Git, Perforce, Clearcase và RTC SOAPUI cũng tíchhợp với HUDSON, giúp phát hiện lỗi một cách nhanh chóng

 JUnit

 JUnit là một Unit Testing framework được xây dựng trong Java, có thể kiểm soátflow test từ SOAPUI rất tốt

 Apache - Ant

 Apache Ant, thư viện Java là một công cụ command-line giúp building software

Sử dụng Command line của SOAP UI, chúng ta có thể thực hiện test với ANTAutomated Build

2.2.2 Cách cài đặt công cụ

Để cài đặt và cấu hình SOAP UI (Phiên bản mã nguồn mở) Sau đây là yêu cầu phầnmềm và phần cứng cho các nền tảng khác nhau

Trang 19

Ảnh 2: Các yêu cầu tải SOAPUI

Quá trình cài đặt

Bước 1: Tải xuống

● Điều hướng đến https://www.soapui.org/downloads/latest-release/

Trang 20

Ảnh 3: Hình ảnh trang chủ của SoapUi

Chọn trình tải xuống phù hợp với hệ điều hành của bạn

Trong bài tập lớn này, chúng ta sẽ cài đặt SOAP UI trên hệ điều hành MicrosoftWindows 64-bit

Khi nhấp vào tải xuống, người dùng sẽ tự động được chuyển tiếpđến https://www.soapui.org/downloads/thank-you-for-downloading-soapui/ và quátrình tải xuống trình cài đặt sẽ tự động bắt đầu

Ảnh 4: Hình ảnh trang downloading SoapUI

Bước 2: Cài đặt

Trang 21

● Sau khi tải về các bạn thực thi file 'Administrator' như hình bên dưới

Ảnh 5: Chạy file để tải phần mềm SoapUI

● Trong trình hướng dẫn thiết lập, nhấp vào 'Next' để tiếp tục

Ảnh 6: Hướng dẫn thiết lập tải SoapUI

● Chọn thư mục cài đặt hoặc để nguyên thư mục cài đặt mặc định và ấn ‘Next’

Trang 22

Ảnh 7: Chọn thư mục để lưu phần mềm SoapUi

● Chọn các thành phần mà bạn muốn cài đặt

Ảnh 8: Chọn thành phần muốn cài đặt xuống

Trang 23

● SOAP UI được kiểm tra theo mặc định và người dùng không thể tự cấu hình

● Source – Kích hoạt, nếu bạn muốn có quyền truy cập vào mã nguồn của

SOAP-UI

● Hermes JS – Kích hoạt, nếu ứng dụng yêu cầu thử nghiệm JMS

● Tutorials – Kích hoạt, nếu bạn muốn truy cập hướng dẫn cài đặt SOAP-UI

● Chấp nhận thỏa thuận cấp phép và nhấp vào 'Next' để tiếp tục

Ảnh 9: Chọn thành phần muốn cài đặt xuống

● Chọn vị trí thư mục cho các hướng dẫn hoặc nếu không, hãy để nguyên vị trímặc định và nhấp vào 'Next'

Trang 24

Ảnh 10: Chọn vị trí thư mục lưu trữ

● Chọn vị trí thư mục menu bắt đầu hoặc nếu không, hãy để nguyên vị trí mặcđịnh và nhấp vào 'Next'

Ảnh 11: Chọn vị trí thư mục bắt đầu và next

● Bật hộp checkbox ‘Create a desktop icon’ và nhấp vào “Next”

Trang 25

Ảnh 12: Chọn Create a desktop icon

 Quá trình cài đặt bắt đầu và sau khi hoàn tất, trình hướng dẫn sẽ hiển thị trạngthái bên dưới Nhấp vào ‘Finish’

Ảnh 13: Cài đặt hoàn tất

● Khi nhấp vào nút 'Hoàn tất', SOAP UI sẽ được khởi chạy

Trang 26

Ảnh 14: Giao diện màn hình chính của SoapUi

2.2.3 Cách sử dụng công cụ

2.2.3.1 Cách cấu hình SOAP UI

Trước tiên chúng ta hãy hiểu cấu trúc dự án trong SOAP UI

● Bước đầu tiên trong SOAP UI là tạo một không gian làm việc(Workspace) Cóthể có một số dự án được liên kết với một không gian làm việc Người dùng cóthể tạo nhiều hơn một không gian làm việc Trong phiên bản SOAP UI Pro,chúng ta có thể chuyển đổi môi trường một cách liền mạch để ánh xạ nó tới cácđiểm cuối khác nhau

● Đối với mỗi dự án, chúng ta có thể tạo một số bộ thử nghiệm(test suite)

● Đối với mỗi test suite, có thể có một số test cases được đính kèm

● Đối với mỗi test case, có thể có một số bước kiểm thử được liên kết với nó

Trang 27

Ảnh 15: Cấu trúc Workspace trong SOAP UI

Trang 28

Bước 1: Bước đầu tiên là tạo một Workspace Tất cả các phần sau đó mà chúng ta sẽ

tạo từ bây giờ sẽ được chứa trong Workspace này

Ảnh 16: Tạo 1 Workspace

Bước 2: Nhập tên Workspace và ấn ‘OK’

Ảnh 17: Hoàn thành tạo Workspace

Trang 29

Bước 3: Bây giờ người dùng phải chọn đường dẫn nơi Workspace này phải được lưu.

1 Chọn đường dẫn nơi Workspace được lưu

2 Tên của Workspace XML phải được định vị khi người dùng muốn mởWorkspace trong tương lai

3 Nhấp ‘Save’ để lưu

Ảnh 18: Chọn nơi lưu trữ Workspace

Bước 4: Không gian làm việc được tạo như hình bên dưới Chúng ta cũng có thể truy

cập các thuộc tính của Workspace trong Tab ‘Workspace Properties’

Trang 30

Ảnh 19: Hình ảnh không gian làm việc của Workspace

Bây giờ chúng ta đã cấu hình thành công SOAP-UI sau khi tải xuống và cài đặt đểchúng ta có thể tiếp tục thực hiện kiểm thử

2.2.3.2 Cách sử dụng

SoapUI bao gồm 4 bộ phần chính :

● Các thanh menu bar: Có khả năng thực hiện đầy đủ các tác vụ chức năng phầnmềm Ví dụ tạo project, import project,…Mọi thiết lập cài đặt đều dẫn từ Menu-bar Phần phía dưới là ShortCut – những biểu tượng mà người dùng hay làm

Trang 31

việc, ví dụ như tạo 1 project rỗng, tạo 1 project SOAP , tạo 1 project REST,…điều hướng giữa các item

● Navigator – thanh điều hướng : Điều hướng từ project này sang project kháchoặc từ request này sang request của 1 project khác,

● Phần khung làm việc ở giữa : gồm 2 khung : request và respond

Nhìn chung có cấu trúc giống nhau nhưng khác nhau ở chỗ ở mỗi dự án có cách truyềntin khác nhau thì có cấu trúc bên trong khác nhau

Ảnh 20: Ví dụ về kiểm thử SoapUI

● SOAP là từ viết tắt của cụm Simple Object Access Protocol Đây đang là giaothức nhắn tin và cho phép những chương trình chạy trực tiếp trên nhiều hệ điều

Trang 32

hành khác nhau (Linux và Windows,…) giao tiếp được cùng với nhau qua Ngônngữ XML và Giao thức HTTP.

● Thay vì sử dụng XML để tạo request, REST dựa vào một URL đơn giản Trongmột số trường hợp, bạn phải cung cấp thông tin bổ sung theo những cách đặcbiệt, nhưng hầu hết các Web service sử dụng REST đều dựa hoàn toàn vào việcthu lại các thông tin cần thiết bằng phương pháp URL REST có thể sử dụngbốn hình thái HTTP 1.1 khác nhau (GET, POST, PUT, và DELETE) để thựchiện các tasks

Ảnh 21: Sự khác nhau giữa SOAP và REST

Bước 1: Tạo project REST API ()

Cung cấp domain hiện tại của web bao gồm (Endpoint + resource + params)

Ảnh 22: Tạo 1 file new Rest API

Bước 2: Thiết lập resource

● Tùy vào dữ liệu và API yêu cầu để truyền kiểu dữ liệu, phương thức, params,body,

Trang 33

Ảnh 23: Ví dụ truyền body

Bước 3: Tạo testSuite

● Tạo bộ test để tổ hợp các test case liên quan đến nhau

Ảnh 24: Tạo testsuite with testcase

● Sửa tên TestSuite

Trang 34

Ảnh 25: Sửa tên TestSuite

Bước 4: Tạo Test Case

● Tạo các test case tương ứng với mỗi trường hợp test

● Các trường hợp ngoài lệ , lỗi , thành công,

Trang 35

Ảnh 26: Tạo TestSuit và đổi tên TestCase

Bước 5: Tạo Test Steps

Ảnh 27: Tạo TestSuit và đổi tên TestCase

● Chọn đúng đường dẫn cần test case

● Màn hình hiển thị sau khi tạo test case

Ảnh 28: Màn hình hiển thị sau khi tạo Test case

● Nhập dữ liệu vào với kiểu dữ liệu muốn truyền

Trang 36

Ảnh 29: Ví dụ: truyền dữ liệu kiểu body

● Chạy Test steps

Ảnh 30: Ví dụ: truyền dữ liệu kiểu body

Ngày đăng: 27/03/2024, 15:55

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

TÀI LIỆU LIÊN QUAN

w