Khóa luận: Nghiên cứu kiểm thử tự động và ứng dụng framework Keyword-Driven

Tìm hiểu tổng quan về kiểm thử phần mềm tự động. Khám phá nghiên cứu và ứng dụng thực tiễn của framework kiểm thử hướng từ khóa (Keyword-Driven).

Trường đại học

Học viện Ngân hàng

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2023

76
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng Quan Về Kiểm Thử Tự Động Hướng Từ Khóa Toàn Diện

Trong bối cảnh phát triển phần mềm nhanh chóng, tự động hóa kiểm thử (Automation testing) đã trở thành một yếuak tố then chốt để đảm bảo chất lượng và đẩy nhanh tiến độ. Giữa nhiều phương pháp, kiểm thử tự động hướng từ khóa nổi lên như một giải pháp ưu việt, giúp thu hẹp khoảng cách giữa các chuyên gia nghiệp vụ và kỹ sư kiểm thử. Phương pháp này, còn được biết đến với tên gọi Keyword-Driven Framework, là một kỹ thuật trong đó các bước kiểm thử được mô tả bằng các "từ khóa" dễ hiểu, độc lập với công cụ và ngôn ngữ lập trình. Theo nghiên cứu của Lại Thị Minh Dương (2023), framework này tách biệt quá trình thiết kế kịch bản kiểm thử khỏi việc triển khai mã nguồn, cho phép những người không có chuyên môn lập trình sâu vẫn có thể tham gia vào quá trình tạo và bảo trì test case. Cấu trúc của phương pháp này dựa trên việc xây dựng một thư viện từ khóa (Keyword Library), nơi mỗi từ khóa tương ứng với một hoặc nhiều hành động kiểm thử (Test Actions) cụ thể như "dang_nhap", "nhap_du_lieu", hay "kiem_tra_ket_qua". Cách tiếp cận này không chỉ giúp đơn giản hóa việc viết kịch bản mà còn thúc đẩy mạnh mẽ khả năng tái sử dụng mã nguồn, giảm thiểu sự trùng lặp và chi phí bảo trì. Về bản chất, kiểm thử theo từ khóa là một dạng của Hybrid Framework, kết hợp các yếu tố của cả Data-Driven Testing và kiểm thử hướng module để tạo ra một cấu trúc linh hoạt và mạnh mẽ, phù hợp với các dự án có quy mô lớn và yêu cầu thay đổi thường xuyên.

1.1. Định nghĩa Keyword Driven Framework trong automation testing

Keyword-Driven Framework là một phương pháp kiểm thử tự động trong đó các kịch bản kiểm thử (Test Script) được xây dựng từ một tập hợp các từ khóa được định nghĩa trước. Mỗi từ khóa đại diện cho một hành động cụ thể trên ứng dụng đang được kiểm thử. Ví dụ, một từ khóa Login có thể bao gồm các bước nhỏ hơn như nhập tên người dùng, nhập mật khẩu và nhấn nút đăng nhập. Ưu điểm cốt lõi của framework này là sự tách biệt logic và dữ liệu. Logic của các hành động (cách thực thi một từ khóa) được ẩn sau các hàm lập trình, trong khi người viết test case chỉ cần tập trung vào việc sắp xếp các từ khóa theo đúng trình tự nghiệp vụ. Điều này cho phép kiểm thử viên không cần code vẫn có thể thiết kế các ca kiểm thử phức tạp, giúp tăng năng suất và giảm sự phụ thuộc vào đội ngũ kỹ sư tự động hóa.

1.2. So sánh Kiểm thử theo từ khóa với Data Driven và BDD

Mặc dù có liên quan, kiểm thử theo từ khóa khác biệt so với Data-Driven TestingBehavior-Driven Development (BDD). Với Data-Driven, trọng tâm là chạy cùng một kịch bản kiểm thử với nhiều bộ dữ liệu khác nhau, được lưu trữ bên ngoài. Trong khi đó, Keyword-Driven tập trung vào việc trừu tượng hóa các hành động thành từ khóa, giúp tái sử dụng logic kiểm thử. Mặt khác, BDD sử dụng ngôn ngữ tự nhiên (như Gherkin) để mô tả hành vi của hệ thống từ góc độ người dùng, nhằm tăng cường sự hợp tác giữa các bên liên quan. Keyword-Driven Framework có thể được xem là một sự cân bằng: nó không yêu cầu ngôn ngữ tự nhiên nghiêm ngặt như BDD nhưng lại cung cấp mức độ trừu tượng và tái sử dụng cao hơn so với Data-Driven thuần túy. Nhiều Hybrid Framework hiện đại kết hợp cả ba phương pháp này để tận dụng tối đa thế mạnh của từng loại.

II. Thách Thức Lớn Nhất Bảo Trì Kịch Bản Test Tự Động

Một trong những rào cản lớn nhất trong việc áp dụng tự động hóa kiểm thử là chi phí và độ phức tạp của việc bảo trì kịch bản test. Trong các phương pháp kiểm thử truyền thống, dữ liệu và logic thường được mã hóa cứng (hard-coded) trực tiếp vào trong các kịch bản kiểm thử. Điều này tạo ra một cấu trúc cứng nhắc và khó thay đổi. Khi giao diện người dùng (UI) hoặc luồng nghiệp vụ của ứng dụng thay đổi dù chỉ một chút, hàng loạt kịch bản test có thể bị lỗi và cần phải được cập nhật thủ công. Quá trình này không chỉ tốn thời gian, công sức mà còn tiềm ẩn nguy cơ gây ra lỗi mới. Theo tài liệu nghiên cứu, sự phụ thuộc chặt chẽ giữa mã nguồn kiểm thử và ứng dụng được kiểm thử làm giảm khả năng tái sử dụng mã nguồn và tăng đáng kể nỗ lực bảo trì. Hơn nữa, việc này đòi hỏi kỹ sư kiểm thử phải có kỹ năng lập trình cao, tạo ra một rào cản cho các kiểm thử viên chuyên về nghiệp vụ (manual testers) muốn chuyển sang tự động hóa. Vấn đề càng trở nên nghiêm trọng hơn trong các dự án Agile và DevOps, nơi các yêu cầu thay đổi liên tục và tốc độ phát hành sản phẩm là yếu tố sống còn. Do đó, việc tìm kiếm một framework giúp tách biệt logic và dữ liệu là một nhu cầu cấp thiết để đảm bảo tính bền vững và hiệu quả của chiến lược kiểm thử tự động.

2.1. Vấn đề của việc mã hóa cứng dữ liệu kiểm thử Test Data

Mã hóa cứng dữ liệu kiểm thử (Test Data) trực tiếp vào script là một thực hành thiếu hiệu quả. Mỗi khi cần kiểm thử với một bộ dữ liệu mới, kỹ sư phải sao chép và sửa đổi toàn bộ script, dẫn đến sự bùng nổ về số lượng kịch bản và khó khăn trong quản lý. Ví dụ, để kiểm tra chức năng đăng nhập với 10 tài khoản khác nhau, cần tạo ra 10 script gần như giống hệt nhau, chỉ khác dữ liệu kiểm thử. Khi luồng đăng nhập thay đổi, cả 10 script này đều phải được cập nhật. Vấn đề này làm giảm hiệu quả của automation testing và biến nó thành một gánh nặng thay vì một công cụ hỗ trợ.

2.2. Khó khăn trong việc tái sử dụng và mở rộng kịch bản test

Khi logic kiểm thử và các bước thực thi được trộn lẫn, việc tái sử dụng mã nguồn trở nên cực kỳ khó khăn. Một đoạn mã được viết để thực hiện một hành động trong một kịch bản cụ thể thường không thể được sử dụng lại ở nơi khác mà không cần sửa đổi. Điều này đi ngược lại với nguyên tắc lập trình DRY (Don't Repeat Yourself). Việc mở rộng bộ kiểm thử cũng trở nên phức tạp, vì mỗi chức năng mới đều yêu cầu viết script từ đầu, thay vì tận dụng các thành phần đã có. Sự thiếu linh hoạt này làm chậm chu kỳ phát triển và tăng chi phí dài hạn cho việc bảo trì kịch bản test.

III. Phương Pháp Keyword Driven Giải Pháp Tối Ưu Hóa Quy Trình

Để giải quyết các thách thức về bảo trì và tái sử dụng, Keyword-Driven Framework đưa ra một kiến trúc phân lớp rõ ràng. Cốt lõi của phương pháp này là nguyên tắc tách biệt logic và dữ liệu. Thay vì một script đơn lẻ chứa tất cả mọi thứ, framework này chia nhỏ quy trình kiểm thử thành các thành phần độc lập nhưng có liên kết với nhau. Thành phần quan trọng nhất là Thư viện từ khóa (Keyword Library), đây là nơi chứa mã nguồn thực thi các hành động kiểm thử (Test Actions). Mỗi từ khóa trong thư viện là một hàm (function) được lập trình để tương tác với một hoặc nhiều đối tượng kiểm thử (Test Objects) trên ứng dụng, ví dụ như nhấn một nút, nhập văn bản vào một ô, hoặc xác minh một thông báo. Các kịch bản kiểm thử sau đó được viết dưới dạng một bảng hoặc tệp văn bản đơn giản, chỉ chứa danh sách các từ khóa cần thực thi và dữ liệu kiểm thử (Test Data) tương ứng. Một bộ điều khiển (driver script) sẽ đọc kịch bản này, tìm kiếm từ khóa tương ứng trong thư viện và thực thi nó với dữ liệu được cung cấp. Kiến trúc này mang lại lợi ích to lớn: khi giao diện ứng dụng thay đổi, chỉ cần cập nhật mã nguồn của từ khóa bị ảnh hưởng trong thư viện mà không cần chạm đến hàng trăm kịch bản đang sử dụng từ khóa đó. Điều này giúp việc bảo trì kịch bản test trở nên dễ dàng và hiệu quả hơn rất nhiều.

3.1. Cấu trúc cốt lõi của kiểm thử theo từ khóa

Cấu trúc của kiểm thử theo từ khóa thường bao gồm ba thành phần chính. Thứ nhất là các tệp kịch bản (Test Case files), thường ở định dạng bảng tính (Excel) hoặc tệp văn bản, nơi người kiểm thử liệt kê các bước kiểm thử bằng cách sử dụng các từ khóa đã định nghĩa. Thứ hai là thư viện từ khóa, chứa mã nguồn triển khai các hành động tương ứng với mỗi từ khóa. Thư viện này được phát triển và bảo trì bởi các kỹ sư tự động hóa. Cuối cùng là bộ điều khiển (Execution Engine/Driver), là một script chính có nhiệm vụ đọc các tệp kịch bản, phân tích từng bước, gọi hàm từ khóa tương ứng từ thư viện và báo cáo kết quả. Mô hình này đảm bảo sự phân chia vai trò rõ ràng và tăng cường hiệu quả làm việc nhóm.

3.2. Vai trò của thư viện từ khóa Keyword Library và Test Actions

Thư viện từ khóa là trái tim của framework. Nó đóng vai trò là lớp trừu tượng, che giấu sự phức tạp của việc tương tác với ứng dụng. Mỗi hành động kiểm thử được định nghĩa như một từ khóa có thể tái sử dụng. Ví dụ, một từ khóa VerifyElementVisible có thể chứa logic phức tạp để chờ một đối tượng xuất hiện trên trang web, kiểm tra thuộc tính hiển thị của nó và trả về kết quả Đạt/Không Đạt. Bằng cách xây dựng một thư viện từ khóa mạnh mẽ và toàn diện, các tổ chức có thể tăng tốc đáng kể quá trình phát triển kịch bản kiểm thử, đồng thời đảm bảo tính nhất quán và độ tin cậy trên toàn bộ dự án.

IV. Hướng Dẫn Xây Dựng Kịch Bản Test Với Robot Framework

Để triển khai kiểm thử tự động hướng từ khóa, các công cụ như Robot Framework là lựa chọn hàng đầu nhờ cú pháp đơn giản và hệ sinh thái thư viện phong phú. Robot Framework là một framework mã nguồn mở, hỗ trợ mạnh mẽ cho phương pháp kiểm thử theo từ khóa. Quá trình xây dựng kịch bản bắt đầu bằng việc xác định các hành động nghiệp vụ lặp đi lặp lại và trừu tượng hóa chúng thành các từ khóa người dùng (User Keywords). Ví dụ, trong ứng dụng của Học viện Ngân hàng được nghiên cứu, một quy trình như "Tra cứu văn bằng với mã sinh viên" có thể được định nghĩa thành một từ khóa duy nhất. Từ khóa này sẽ gọi các từ khóa cấp thấp hơn từ các thư viện như Selenium WebDriver (thông qua SeleniumLibrary) để thực hiện các hành động cụ thể: Open Browser, Input Text, Click Button. Việc tổ chức các từ khóa, biến số và test case vào các tệp riêng biệt giúp cấu trúc dự án rõ ràng, dễ quản lý. Các đối tượng kiểm thử (locators của các phần tử web) được lưu trong tệp tài nguyên (resource file) để có thể tái sử dụng và dễ dàng cập nhật khi cần. Cách tiếp cận này không chỉ giúp kiểm thử viên không cần code vẫn có thể viết test case hiệu quả mà còn tận dụng được sức mạnh của các công cụ phổ biến như Katalon Studio, TestComplete hay Selenium WebDriver.

4.1. Sử dụng Selenium WebDriver để tạo các từ khóa cơ bản

Selenium WebDriver là một API mạnh mẽ để tương tác với trình duyệt web. Trong Robot Framework, thư viện SeleniumLibrary cung cấp một lớp bọc (wrapper) xung quanh các lệnh của WebDriver, biến chúng thành các từ khóa dễ sử dụng. Các kỹ sư tự động hóa sẽ sử dụng các từ khóa cơ bản này (ví dụ: Click Element, Input Text, Get Text) để xây dựng các từ khóa nghiệp vụ cấp cao hơn. Ví dụ, từ khóa Login To System sẽ được tạo bằng cách kết hợp một chuỗi các từ khóa Selenium: Mở trang, nhập tên đăng nhập, nhập mật khẩu và nhấn nút đăng nhập. Quá trình này tạo ra một bộ từ khóa tùy chỉnh, phù hợp chính xác với nhu vực nghiệp vụ của ứng dụng đang được kiểm thử.

4.2. Cách tổ chức Test Objects và Test Data trong dự án

Để tối ưu hóa việc bảo trì kịch bản test, việc quản lý Đối tượng kiểm thử (Test Objects)Dữ liệu kiểm thử (Test Data) một cách khoa học là rất quan trọng. Trong Robot Framework, các biến chứa định danh (locators) của các phần tử UI nên được tập trung vào một tệp biến hoặc tệp tài nguyên riêng. Điều này tuân theo nguyên tắc Page Object Model (POM), giúp tách biệt định nghĩa đối tượng khỏi logic kiểm thử. Tương tự, dữ liệu kiểm thử nên được lưu trữ trong các tệp YAML, Excel hoặc CSV và được đọc vào trong quá trình thực thi. Cách làm này cho phép thay đổi dữ liệu mà không cần chỉnh sửa kịch bản, hỗ trợ mạnh mẽ cho cả Data-Driven Testing và Keyword-Driven Testing.

V. Case Study Ứng Dụng Kiểm Thử Hướng Từ Khóa Tại HVNH

Nghiên cứu của Lại Thị Minh Dương (2023) đã trình bày một ứng dụng thực tiễn của kiểm thử tự động hướng từ khóa trên trang web của Học viện Ngân hàng. Bài toán đặt ra là kiểm thử các chức năng quan trọng như tra cứu văn bằng và kiểm tra tính hợp lệ của các liên kết trên trang. Thay vì viết các kịch bản kiểm thử thủ công lặp đi lặp lại, nhóm nghiên cứu đã sử dụng Robot Framework để xây dựng một bộ kiểm thử tự động dựa trên Keyword-Driven Framework. Quá trình bắt đầu bằng việc phân tích các kịch bản kiểm thử thủ công để xác định các hành động chung và định nghĩa chúng thành các từ khóa. Ví dụ, các hành động như Truy cập trang tra cứu, Nhập họ tên, Nhấn nút tra cứu đã được tạo thành các từ khóa riêng biệt. Các kịch bản kiểm thử sau đó được viết lại bằng cách sử dụng các từ khóa này, giúp test case trở nên ngắn gọn, dễ đọc và dễ hiểu hơn ngay cả với những người không chuyên về kỹ thuật. Kết quả thực nghiệm cho thấy phương pháp này không chỉ giảm đáng kể thời gian thực thi so với kiểm thử thủ công mà còn giúp việc bảo trì kịch bản test trở nên đơn giản hơn. Khi có thay đổi trên giao diện, chỉ cần cập nhật logic bên trong từ khóa tương ứng, tất cả các test case sử dụng nó sẽ tự động được cập nhật.

5.1. Phân tích và thiết kế kịch bản kiểm thử tự động

Giai đoạn đầu tiên là chuyển đổi các kịch bản kiểm thử thủ công sang cấu trúc hướng từ khóa. Nhóm nghiên cứu đã phân tích các bước trong bảng "Kịch bản kiểm thử thủ công" (Bảng 2.5 trong tài liệu gốc) để xác định các hành động nguyên tử. Ví dụ, test case TC_002_Certificate_InputAllData bao gồm các bước: truy cập URL, nhấn nút, nhập nhiều trường dữ liệu, và nhấn nút tra cứu. Mỗi bước này được ánh xạ tới một từ khóa trong Robot Framework. Các dữ liệu kiểm thử như Họ tên, Ngày sinh, Số hiệu bằng được tách ra và truyền vào dưới dạng tham số cho các từ khóa, thể hiện sự kết hợp giữa Keyword-Driven và Data-Driven Testing.

5.2. Kết quả đạt được và so sánh với kiểm thử thủ công

Kết quả thực nghiệm đã chứng minh hiệu quả vượt trội của automation testing theo hướng từ khóa. Thời gian chạy toàn bộ bộ kịch bản được giảm thiểu đáng kể. Quan trọng hơn, độ tin cậy và tính nhất quán được nâng cao do loại bỏ yếu tố sai sót của con người. Các báo cáo được tạo tự động bởi Robot Framework cung cấp cái nhìn chi tiết về kết quả thực thi, giúp xác định lỗi nhanh chóng. So với kiểm thử thủ công, phương pháp này cho phép thực hiện kiểm thử hồi quy (regression testing) một cách thường xuyên và dễ dàng, đảm bảo chất lượng của trang web sau mỗi lần cập nhật. Điều này khẳng định giá trị của việc đầu tư vào xây dựng một Keyword-Driven Framework vững chắc.

VI. Tương Lai Của Kiểm Thử Theo Từ Khóa Xu Hướng Tiềm Năng

Kiểm thử tự động hướng từ khóa không chỉ là một phương pháp hiệu quả ở hiện tại mà còn là nền tảng vững chắc cho các xu hướng kiểm thử trong tương lai. Khả năng trừu tượng hóa và module hóa của nó là tiền đề lý tưởng để tích hợp các công nghệ tiên tiến như Trí tuệ nhân tạo (AI) và Học máy (ML). Trong tương lai, các công cụ AI có thể tự động tạo ra các từ khóa mới dựa trên việc phân tích thay đổi trong ứng dụng, hoặc tự tối ưu hóa các kịch bản kiểm thử để tăng độ bao phủ. Sự phát triển của các nền tảng Low-code/No-code cũng sẽ thúc đẩy việc áp dụng Keyword-Driven Framework, cho phép nhiều người dùng nghiệp vụ tham gia sâu hơn vào quá trình tự động hóa kiểm thử mà không cần kiến thức lập trình. Hơn nữa, khi các hệ thống ngày càng phức tạp, việc tách biệt logic và dữ liệu sẽ không còn là một lựa chọn mà là một yêu cầu bắt buộc để quản lý hiệu quả. Các framework như Robot Framework, Katalon Studio sẽ tiếp tục phát triển, cung cấp nhiều thư viện và tính năng thông minh hơn để hỗ trợ kiểm thử theo từ khóa. Tóm lại, phương pháp này sẽ tiếp tục là một trụ cột trong ngành công nghiệp phần mềm, giúp các tổ chức xây dựng các quy trình đảm bảo chất lượng linh hoạt, bền vững và có khả năng mở rộng.

6.1. Tích hợp AI và Machine Learning vào Keyword Driven Framework

Tương lai của automation testing gắn liền với AI. AI có thể được sử dụng để phân tích các kịch bản do người dùng thực hiện và tự động đề xuất các từ khóa tương ứng, giúp xây dựng thư viện từ khóa nhanh hơn. Machine Learning có thể phát hiện các mẫu lỗi trong kết quả kiểm thử, giúp xác định các khu vực rủi ro cao của ứng dụng. Hơn nữa, các hệ thống tự phục hồi (self-healing) có thể tự động cập nhật các định danh đối tượng (locators) khi giao diện thay đổi, giải quyết một trong những vấn đề lớn nhất của việc bảo trì kịch bản test.

6.2. Hướng phát triển cho kiểm thử viên không cần chuyên môn code

Xu hướng kiểm thử viên không cần code sẽ ngày càng phổ biến. Nhờ các Keyword-Driven Framework và các nền tảng low-code, các chuyên gia phân tích nghiệp vụ (BA) và kiểm thử viên thủ công (Manual Tester) có thể trực tiếp đóng góp vào nỗ lực tự động hóa. Họ có thể sử dụng các giao diện kéo-thả hoặc các trình soạn thảo dạng bảng để lắp ráp các từ khóa thành các luồng kiểm thử hoàn chỉnh. Điều này không chỉ giúp giải phóng nguồn lực của các kỹ sư tự động hóa để họ tập trung vào việc xây dựng và bảo trì framework, mà còn đảm bảo các kịch bản kiểm thử bám sát đúng nhất với yêu cầu nghiệp vụ thực tế.

18/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG I: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM TỰ ĐỘNG 1. Kiểm thử tự động phần mềm 1. Kiểm thử phần mềm Kiểm thử phần mềm là quy trình thực hiện một chương trình hay hệ thống với mục đích tìm lỗi. Nó bao gồm những hoạt động được thực hiện để tìm ra các lỗi, thiếu sót, hay những vấn đề tiềm ẩn trong phần mềm, để có thể sửa chữa và cải thiện chúng trước khi đưa phần mềm vào sử dụng (Rex Black, Erik Van Veenendaal, Dorothy Graham, 2012).

Mục đích chính của kiểm thử phần mềm là đảm bảo rằng phần mềm hoạt động đúng và đáp ứng được các yêu cầu của khách hàng. Ngoài ra, kiểm thử phần mềm còn giúp giảm bớt những rủi ro và chi phí sửa chữa trong giai đoạn phát triển phần mềm, tăng sự tin cậy của phần mềm, cải thiện trải nghiệm người dùng và tăng hiệu quả trong hoạt động của tổ chức. Quá trình kiểm thử phần mềm bao gồm nhiều cấp độ khác nhau như kiểm thử đơn vị (unit testing), kiểm thử tích hợp (integration testing), kiểm thử hệ thống (system testing), kiểm thử chấp nhận (acceptance testing). Vai trò của kiểm thử phần mềm không chỉ đảm bảo chất lượng của sản phẩm phần mềm thông qua quá trình "kiểm thử - tìm lỗi - sửa lỗi", mà còn có vai trò quan trọng trong việc tối ưu hóa năng suất và giảm thiểu thời gian kiểm thử.

Trên thực tế, trong môi trường kinh doanh ngày nay, các doanh nghiệp đang đối mặt với sự áp lực cần phải cung cấp sản phẩm phần mềm chất lượng cao một cách nhanh chóng và hiệu quả. Điều này đặt lên các kiểm thử viên một trách nhiệm lớn, đòi hỏi họ phải thực hiện kiểm thử một cách hiệu quả, vừa đảm bảo chất lượng sản phẩm, vừa tối ưu hóa thời gian và chi phí. Trong bối cảnh này, kiểm thử tự động đã trở thành một giải pháp quan trọng. Kiểm thử tự động Kiểm thử phần mềm tự động là quá trình sử dụng các công cụ và kỹ thuật để thực hiện các bài kiểm thử phần mềm tự động thay vì thủ công.

Điều này giúp tăng độ chính xác, tối ưu thời gian và chi phí kiểm thử, đồng thời giảm thiểu sai sót có thể xảy ra khi kiểm thử thủ công. Các công cụ và kỹ thuật được sử dụng trong kiểm thử tự động có thể bao gồm lập trình kịch bản (scripting), các công cụ kiểm thử phần mềm tự động, các framework kiểm thử, và các công cụ quản lý kiểm thử tự động. Từ đó, kiểm thử tự động đã trở thành một phần quan trọng trong việc đảm bảo chất lượng phần mềm và được áp dụng rộng rãi trong các dự án phần mềm (Laukkanen, 2006). Kiểm thử tự động được áp dụng rộng rãi trong các dự án phần mềm như ứng dụng web, ứng dụng di động, phần mềm máy tính và hệ thống nhúng,.

Các công cụ kiểm Lại Thị Minh Dương - Lớp K22HTTTB 1 Khóa luận tốt nghiệp Nghiên cứu kiểm thử phần mềm tự động và ứng dụng kiểm thử tự động hướng từ khóa thử tự động phổ biến như Selenium, Appium, Robot Framework, và JMeter được sử dụng rộng rãi để thực hiện các bài kiểm tra tự động trong các dự án phần mềm. Tại sao phải kiểm thử tự động Kiểm thử tự động được kỳ vọng sẽ giúp chạy đi chạy lại nhiều trường hợp thử nghiệm một cách nhất quán trên các phiên bản khác nhau của hệ thống đang thử nghiệm. Tự động hóa cũng có thể giảm bớt khối lượng công việc của các kỹ sư kiểm thử và giải phóng họ khỏi các nhiệm vụ lặp lại. Tất cả điều này có tiềm năng tăng chất lượng phần mềm và rút ngắn thời gian kiểm thử.

Dưới đây là những ưu điểm mà kiểm thử tự động mang lại (Mark Fewster and Dorothy Graham, 1999): Bảng 1. Tiêu chí đánh giá kiểm thử tự động Tiêu chí Nội dung Tiết kiệm thời gian và Kiểm thử phần mềm tự động giúp giảm thời gian và chi chi phí phí kiểm thử bằng cách tự động hóa các bài kiểm thử thay vì thực hiện chúng bằng tay. Việc sử dụng công cụ tự động hóa kiểm thử có thể giảm thiểu số giờ làm việc cần thiết để thực hiện kiểm thử, đồng thời giảm chi phí lao động và tăng hiệu suất. Tăng độ chính xác và Kiểm thử tự động giúp loại bỏ các sai sót có thể xảy ra khi độ tin cậy thực hiện kiểm thử phần mềm bằng thủ công.

Việc thực hiện các bài kiểm tra tự động giúp tăng độ chính xác và tính đáng tin cậy của quá trình kiểm thử phần mềm. Kiểm thử liên tục và tái Kiểm thử phần mềm tự động giúp tăng khả năng kiểm thử sử dụng liên tục bằng cách thực hiện các bài kiểm tra một cách tự động và có thể lập lịch để chạy trong khoảng thời gian cụ thể. Ngoài ra, các bài kiểm tra được tự động hóa có thể được tái sử dụng cho các phiên bản phần mềm khác nhau hoặc trong các dự án khác. Tăng sức chứa và độ Kiểm thử phần mềm tự động giúp tăng khả năng kiểm thử bao phủ bằng cách tạo ra nhiều bài kiểm tra hơn và cung cấp độ phủ kiểm thử rộng hơn so với các phương pháp kiểm thử phần mềm thủ công.

Việc tăng sức chứa và độ phủ kiểm thử giúp giảm thiểu rủi ro về các lỗ hổng bảo mật, giảm bớt các lỗi trong quá trình triển khai sản phẩm và đảm bảo chất lượng sản phẩm. Ngoài ra, kiểm thử phần mềm tự động cũng giúp các lập trình viên và nhà kiểm thử tập trung vào các nhiệm vụ khác trong giai đoạn phát triển sản phẩm. Bên cạnh đó, kiểm thử tự động không phải là một giải pháp hoàn hảo và khó có thể thay thế hoàn toàn kiểm thử phần mềm thủ công. Các bài kiểm tra tự động phải được xây dựng và cấu hình một cách đúng đắn để đảm bảo sự chính xác và sự tin cậy, và các Lại Thị Minh Dương - Lớp K22HTTTB 2 Khóa luận tốt nghiệp Nghiên cứu kiểm thử phần mềm tự động và ứng dụng kiểm thử tự động hướng từ khóa kiểm tra phức tạp có thể vượt quá khả năng của công cụ kiểm thử phần mềm tự động.

Vì vậy, việc sử dụng kiểm thử phần mềm tự động cần phải đi kèm với kiểm thử thủ công để đảm bảo chất lượng sản phẩm. Kiểm thử tự động và kiểm thử thủ công là hai phương pháp kiểm thử phổ biến được sử dụng trong quá trình phát triển phần mềm. Mỗi phương pháp có những thuận lợi và bất lợi riêng. Trong phần này, chúng ta sẽ so sánh hai phương pháp kiểm thử này để hiểu rõ hơn về sự khác biệt giữa chúng.

So sánh kiểm thử tự động và kiểm thử thủ công Kiểm thử tự động Kiểm thử thủ công Ưu điểm • Đem lại hiệu quả thời gian và • Giải quyết được các tình huống công sức: Kiểm thử tự động hóa phức tạp: Những tình huống phức tạp các bài kiểm tra và thực hiện chúng hoặc chưa được định nghĩa trước đó một cách nhanh chóng và chính có thể được giải quyết bằng kiểm thử xác. Điều này giúp giảm thời gian thủ công. và công sức so với kiểm thử thủ • Đánh giá toàn diện hơn: Kiểm thử công. thủ công giúp các nhà kiểm thử đánh • Khả năng tái sử dụng: Các kiểm giá toàn diện hơn về sản phẩm, từ khả thử phần mềm tự động có thể được năng sử dụng đến trải nghiệm người lưu trữ và tái sử dụng lại trong dùng.

tương lai, giúp tiết kiệm thời gian và tăng hiệu quả kiểm thử. • Độ chính xác cao: Kiểm thử tự động được thực hiện một cách đồng nhất và chính xác, đảm bảo rằng các kết quả kiểm thử được đưa ra là chính xác và tin cậy. Nhược • Chi phí ban đầu cao: Việc triển • Độ chính xác thấp: Do kiểm thử thủ điểm khai các bài kiểm tra tự động có thể công được thực hiện bởi con người đòi hỏi các công cụ và thiết bị đắt nên độ chính xác có thể bị ảnh hưởng tiền, và yêu cầu kỹ thuật viên có kỹ bởi những sai sót của con người như năng chuyên môn cao. mệt mỏi, lặp đi lặp lại nhiều lần.

• Không thể hoàn toàn thay thế • Tốn thời gian và công sức: Kiểm thử kiểm thử thủ công: Các bài kiểm thủ công thường yêu cầu nhiều thời tra tự động không thể đối phó hoàn gian và công sức hơn so với kiểm thử toàn với các tình huống phức tạp tự động. Nhân viên kiểm thử phải lặp hoặc những tình huống chưa được đi lặp lại các kịch bản kiểm thử và định nghĩa trước đó. Do đó, việc sử thường phải kiểm thử trên nhiều nền dụng Kiểm thử tự động nên được tảng và trình duyệt khác nhau. kết hợp với kiểm thử thủ công để • Không thể tái sử dụng: Các bài kiểm đảm bảo chất lượng sản phẩm.

thử thủ công không thể được sử dụng lại một cách đầy đủ, bởi vì nó phụ thuộc vào các kỹ năng của từng nhân Lại Thị Minh Dương - Lớp K22HTTTB 3 Khóa luận tốt nghiệp Nghiên cứu kiểm thử phần mềm tự động và ứng dụng kiểm thử tự động hướng từ khóa viên kiểm thử và các tình huống cụ thể trong quá trình kiểm thử. Đòi hỏi nhân lực đông đảo: Kiểm thử thủ công yêu cầu có một đội ngũ nhân viên kiểm thử đông đảo, trong khi đó kiểm thử tự động có thể được thực hiện bởi một số lượng ít hơn các nhân viên kiểm thử. Tóm lại, mặc dù kiểm thử thủ công vẫn còn được sử dụng trong nhiều trường hợp, nhưng nó có những hạn chế về độ chính xác, tốn thời gian và nhân lực, và không thể sử dụng lại. Do đó, kiểm thử phần mềm tự động đang trở thành phương pháp phổ biến hơn trong việc kiểm thử phần mềm, đem lại hiệu quả cao hơn và tiết kiệm thời gian và chi phí.

Đặt lên bàn cân thì cả hai loại kiểm thử đều có những điểm mạnh và điểm yếu riêng nhưng kiểm thử phần mềm tự động vẫn được đánh giá cao hơn kiểm thử thủ công trong nhiều trường hợp. Cụ thể, kiểm thử tự động có khả năng đạt hiệu quả và tính chính xác cao hơn, tiết kiệm thời gian và chi phí hơn, tính tái sử dụng cao, khả năng kiểm thử hàng loạt và kiểm thử liên tục. Tuy nhiên, việc chọn lựa phương pháp kiểm thử nào phù hợp với dự án cũng phụ thuộc vào nhiều yếu tố khác nhau như mức độ phức tạp của phần mềm, thời gian và ngân sách cho kiểm thử, khả năng của nhân lực kiểm thử, v.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ