Khung kiểm tra theo hướng từ khóa với ví dụ

⚡ Tóm tắt thông minh

Kiểm thử dựa trên từ khóa (Keyword Driven Testing) tách logic kiểm thử khỏi mã tự động hóa bằng cách ánh xạ.ping Từ các từ khóa đơn giản đến các hàm có thể tái sử dụng, cho phép người kiểm thử thiết kế, duy trì và mở rộng bộ kiểm thử tự động thông qua bảng tính thay vì phải viết kịch bản cho từng trường hợp kiểm thử riêng lẻ.

  • 🔑 Khái niệm cơ bản về từ khóa: Mỗi hành động như mở trình duyệt, nhấp chuột hoặc nhập văn bản đều trở thành một từ khóa tự mô tả, được hỗ trợ bởi chính xác một chức năng duy nhất.
  • 🧩 Bốn yếu tố cơ bản: Bảng tính Excel, thư viện hàm, bảng dữ liệu và kho lưu trữ đối tượng giúp tách biệt các bước, đối tượng, hành động và dữ liệu.
  • 📊 Thiết kế dựa trên bảng: Người kiểm thử viết các trường hợp kiểm thử dưới dạng các dòng từ khóa có tham số, do đó không cần kiến ​​thức về ngôn ngữ lập trình để viết bài kiểm thử.
  • ⚙️ Thực thi tập lệnh trình điều khiển: Một đoạn mã điều khiển sẽ đọc từng từ khóa, gọi hàm được ánh xạ và ghi kết quả trở lại bảng tính.
  • 🧪 Lựa chọn công cụ: HP QTP, SeleniumCả Robot Framework và các thư viện khác đều diễn giải bảng từ khóa mà không cần phân tích cú pháp tùy chỉnh.
  • ⚖️ Phù hợp với khuôn khổ: Các thiết lập lai kết hợp từ khóa với dữ liệu đầu vào để mở rộng phạm vi bao phủ mà không cần lặp lại bất kỳ bước kiểm thử nào.
  • 🚧 Lập kế hoạch chi phí chung: Việc thiết kế từ khóa ban đầu và duy trì thư viện tốn chi phí thời gian thực, vì vậy hãy giữ cho vốn từ vựng nhỏ gọn và xem xét lại sau mỗi lần phát hành.

Kiểm tra theo hướng từ khóa là gì?

Kiểm tra theo hướng từ khóa là một kỹ thuật viết kịch bản sử dụng các tệp dữ liệu để chứa các từ khóa liên quan đến ứng dụng đang được thử nghiệm. Những từ khóa này mô tả tập hợp các hành động cần thiết để thực hiện một bước cụ thể.

Thử nghiệm dựa trên từ khóa bao gồm các từ khóa cấp cao và cấp thấp, bao gồm cả các đối số từ khóa, được soạn thảo để mô tả hành động của một trường hợp thử nghiệm. Nó còn được gọi là kiểm tra dựa trên bảng hoặc kiểm tra dựa trên từ hành động.

Khuôn khổ theo hướng từ khóa là khung kiểm thử tự động hóa chức năng được xây dựng dựa trên kỹ thuật đó. Nó chia các trường hợp kiểm thử thành bốn phần khác nhau để tách biệt mã lập trình khỏi các trường hợp kiểm thử và các bước kiểm thử nhằm tự động hóa tốt hơn: chính các bước kiểm thử, các đối tượng mà các bước đó tác động lên, các hành động được thực hiện trên các đối tượng đó và dữ liệu được cung cấp cho chúng.

Trong Kiểm tra theo hướng từ khóa, trước tiên bạn xác định một tập hợp từ khóa và sau đó liên kết một hành động (hoặc chức năng) liên quan đến những từ khóa này. Ở đây, mọi hành động kiểm thử như mở hoặc đóng trình duyệt, click chuột, gõ phím, v.v. đều được mô tả bằng một từ khóa như openbrowser, nhấp chuột, Typtext và như vậy.

Sơ đồ bên dưới minh họa hai hành động kinh doanh thông thường được chuyển đổi thành các từ khóa có thể tái sử dụng. Ví dụ:

  1. đăng nhập đến trang web “guru99” – Từ khóa “đăng nhập” sẽ được sử dụng trong khung tự động hóa của chúng tôi, để kiểm tra chức năng đăng nhập hoặc hành động liên quan đến nó.
  2. đăng xuất đến trang web “guru99”— Từ khóa “đăng xuất” sẽ được sử dụng trong khuôn khổ tự động hóa của chúng tôi để kiểm tra chức năng đăng xuất hoặc hành động liên quan đến nó.

Bạn sẽ thấy thêm nhiều ví dụ khác ở phần sau của bài viết. Mô hình này không bao giờ thay đổi: một hành động kinh doanh, một từ khóa, một chức năng.

Ví dụ về từ khóa

Bảng thuật ngữ bên dưới liệt kê các từ khóa điển hình cho một ứng dụng ngân hàng và hành động nghiệp vụ mà mỗi từ khóa kích hoạt.

Từ khóa Mô tả Chi tiết
Đăng nhập Đăng nhập vào trang demo ngân hàng guru99
Email Gửi email
đăng xuất Đăng xuất khỏi trang demo ngân hàng guru99
Thông báo Tìm thông báo chưa đọc

💡 Mẹo: Hãy đặt tên từ khóa dựa trên hành động nghiệp vụ, chứ không phải bước kỹ thuật. Từ khóa “Đăng nhập” vẫn giữ nguyên khi trang được thiết kế lại; còn “Nhấp vào nút màu xanh” thì không.

Các thành phần của một khung dựa trên từ khóa

Hiểu được khái niệm từ khóa chỉ mới giúp bạn đi được nửa chặng đường. Để tạo ra một khung làm việc dựa trên từ khóa, bạn cần tập hợp một nhóm nhỏ các tệp tin, mỗi tệp tin đại diện cho một vấn đề cụ thể.

  1. Bảng tính Excel – Xác định các từ khóa và lưu chúng vào một bảng tính Excel, mỗi hàng tương ứng với một bước kiểm thử.
  2. Thư viện hàm – Bao gồm các chức năng cho các luồng nghiệp vụ (nút đăng nhập cho bất kỳ trang web nào). Khi thực hiện kiểm thử, nó sẽ đọc từ khóa từ bảng tính Excel và gọi các hàm tương ứng.
  3. Bảng dữ liệu – Lưu trữ dữ liệu kiểm thử được sử dụng trong ứng dụng, để một từ khóa có thể được chạy trên nhiều dữ liệu đầu vào.
  4. Kho lưu trữ đối tượng – Lưu trữ các bộ định vị cho mọi phần tử mà từ khóa liên quan, do đó, khi thay đổi bộ định vị, việc chỉnh sửa chỉ được thực hiện tại một vị trí duy nhất.
  5. Tập lệnh thử nghiệm – Bạn có thể có tập lệnh thử nghiệm cho mỗi hướng dẫn sử dụng Trường hợp thử nghiệm hoặc một kịch bản điều khiển duy nhất.
  6. Kịch bản trình điều khiển – Duyệt qua bảng tính Excel từng hàng một, đối chiếu từng từ khóa với thư viện hàm và ghi lại kết quả.
  7. Công cụ tự động hóa – Thực thi các lệnh đã được giải quyết đối với ứng dụng và cung cấp lớp báo cáo.

Bảy mảnh ghép này gộp lại tạo thành một bộ hoàn chỉnh. khung tự động hóa kiểm thửTại sao nên chọn thiết kế này?

Tại sao phải kiểm tra theo hướng từ khóa

Trong Kỹ thuật phần mềm, Kiểm thử theo từ khóa được thực hiện vì lý do sau

  • Các thành phần phổ biến được xử lý bởi thư viện chuẩn
  • Với cách tiếp cận này, các bài kiểm tra có thể được viết một cách toàn diện hơn.traccách thức
  • Mức độ tái sử dụng cao
  • Chi tiết của tập lệnh bị ẩn khỏi người dùng
  • Người dùng không phải sử dụng ngôn ngữ kịch bản
  • Bài kiểm tra ngắn gọn, có thể duy trì và linh hoạt

Vì lớp từ khóa hấp thụ các thay đổi của ứng dụng, nên một lượng lớn kiểm tra hồi quy Bộ phần mềm vẫn thân thiện với môi trường bằng cách chỉnh sửa một số ít hàm thay vì hàng trăm đoạn mã. Lý luận đó định hình cách tiếp cận này được áp dụng.

Cách thực hiện Kiểm tra theo hướng từ khóa

Kiểm thử dựa trên từ khóa (Keyword Driven Testing) có thể được thực hiện theo cả hai cách, thủ công lẫn tự động. Tuy nhiên, thông thường nó được sử dụng kết hợp với kiểm thử tự động.

Mục tiêu đằng sau việc tự động hóa kiểm thử dựa trên từ khóa là

  • Nó giúp giảm chi phí bảo trì
  • Tránh trùng lặp thông số kỹ thuật
  • Tái sử dụng nhiều hơn kịch bản hàm
  • Hỗ trợ kiểm tra tốt hơn và tính di động
  • Đạt được nhiều thử nghiệm hơn với nỗ lực ít hơn hoặc tương tự

Với Kiểm thử dựa trên từ khóa, bạn có thể tạo các bài kiểm thử đơn giản. kiểm tra chức năng Trong giai đoạn phát triển ban đầu, việc kiểm thử ứng dụng được thực hiện từng phần một. Cách đơn giản nhất để soạn thảo một bài kiểm thử dựa trên từ khóa là ghi lại nó. Sau khi ghi lại, bài kiểm thử có thể được sửa đổi và tùy chỉnh theo yêu cầu.

Mỗi từ khóa cần được liên kết với ít nhất một lệnh, tập lệnh kiểm thử hoặc hàm thực hiện các hành động liên quan đến từ khóa đó.

Khi các trường hợp kiểm thử được thực thi, các từ khóa sẽ được giải thích bởi thư viện kiểm thử, được gọi bởi khung tự động kiểm thử.

Các hoạt động chính liên quan đến Kiểm thử dựa trên từ khóa (Keyword Driven Testing) bao gồm:

  • Bước 1) Xác định các từ khóa cấp thấp cũng như cấp cao
  • Bước 2) Triển khai các từ khóa dưới dạng thực thi
  • Bước 3) Tạo các trường hợp thử nghiệm
  • Bước 4) Tạo tập lệnh trình điều khiển
  • Bước 5) Thực thi các kịch bản kiểm thử tự động hóa

Bước 1 và 2 là công việc thiết kế chỉ thực hiện một lần; các bước 3 đến 5 được lặp lại trong mỗi sprint, như các ví dụ bên dưới cho thấy.

Các trường hợp thử nghiệm mẫu

Ba kịch bản này đều sử dụng lại các từ khóa đã được định nghĩa trước đó.

  1. TC_01: Đăng nhập vào trang demo guru99, xem hôm nay có bao nhiêu giao dịch được thực hiện
  2. TC_02: Đăng nhập vào trang web demo guru99, gửi email cho một trong những khách hàng của bạn và sau đó đăng xuất
  3. TC_03: Đăng nhập vào trang demo guru99 và kiểm tra xem có thông báo nào nhận được không

Khi được viết dưới dạng bảng từ khóa, TC_02 trở thành sáu hàng mà bất kỳ người kiểm thử nào cũng có thể đọc hoặc sắp xếp lại mà không cần mở mã:

Bước Từ khóa Tranh luận Kết quả mong đợi
1 trình duyệt mở cơ rôm Phiên trình duyệt bắt đầu
2 Đăng nhập mngr123 / demopass Trang chủ của người quản lý được hiển thị
3 Email customer@example.com Cửa sổ soạn thảo mở ra
4 Nhấp chuột Gửi "Mail đã gửi xuất hiện
5 đăng xuất Phiên đã kết thúc
6 đóng trình duyệt Trình duyệt đã được phát hành

Trao đổiping Lập luận ở bước 3 biến sáu hàng đó thành một bài kiểm tra khác, đó là lý do tại sao dữ liệu thử nghiệm Quản lý hiệu quả mang lại kết quả tốt.

Ưu điểm của kiểm tra theo hướng từ khóa

  • Nó cho phép người kiểm thử chức năng lập kế hoạch tự động hóa kiểm thử trước khi ứng dụng sẵn sàng
  • Các bài kiểm tra có thể được phát triển mà không cần kiến ​​thức lập trình
  • Nó không phụ thuộc vào ngôn ngữ lập trình hoặc công cụ cụ thể
  • Tương thích với mọi công cụ tự động hóa hiện có trên thị trường

Những lợi ích này giải thích tại sao Kiểm thử dựa trên từ khóa (Keyword Driven Testing) lại phù hợp với các ứng dụng lâu dài. kiểm tra tự động các phòng suite. Chi phí cũng là một yếu tố quan trọng.

Những hạn chế của kiểm thử dựa trên từ khóa

Cơ bụngtracNhững yếu tố giúp cho việc viết các bài kiểm thử dựa trên từ khóa trở nên dễ đọc cũng khiến chúng trở nên tốn kém. Trước khi bài kiểm thử đầu tiên chạy, ai đó phải xác định các từ khóa, triển khai từng từ khóa thành một hàm, kết nối kho lưu trữ đối tượng và viết kịch bản điều khiển. Trên một dự án nhỏ, chi phí thiết lập đó còn cao hơn so với việc viết kịch bản kiểm thử trực tiếp.

Chi phí bảo trì là khoản chi phí thứ hai. Thư viện được chia sẻ bởi mọi bài kiểm tra, vì vậy một chỉnh sửa bất cẩn có thể làm hỏng toàn bộ bộ kiểm tra. Thư viện cũng ngày càng mở rộng: các nhóm thêm các mục gần giống nhau như “Login”, “SignIn” và “DoLogin”.

  • Đầu tư ban đầu cao – Việc thiết kế khung và triển khai từ khóa được thực hiện trước bất kỳ lần chạy thử nghiệm nào.
  • Giảm tính linh hoạt – Người kiểm thử chỉ thể hiện những gì các từ khóa hiện có cho phép, vì vậy cần phải phát triển các kịch bản bất thường.
  • Khó hiểu đối với logic phức tạp – Các nhánh và vòng lặp cản trở việc sắp xếp các hàng phẳng trong bảng.
  • Kỹ năng vẫn cần thiết. – Lớp từ khóa không cần viết mã, còn thư viện hàm thì có.

⚠️ Cảnh báo: RevHãy xem lại thư viện từ khóa sau mỗi lần phát hành và xóa các mục không sử dụng. Từ vựng không được kiểm soát là lý do phổ biến nhất khiến các framework dựa trên từ khóa bị bỏ rơi.

Những sự đánh đổi này định hình nên sự so sánh bên dưới.

Khung làm việc dựa trên từ khóa, dựa trên dữ liệu và khung làm việc kết hợp.

Dựa trên từ khóa và thử nghiệm dựa trên dữ liệu Giải quyết các vấn đề khác nhau. Một framework dựa trên dữ liệu sẽ thay đổi đầu vào của một kịch bản cố định; một framework dựa trên từ khóa sẽ thay đổi các bước. Bảng này bổ sung mô hình lai mà hầu hết các nhóm doanh nghiệp áp dụng.

Yếu tố Khuôn khổ theo hướng từ khóa Khung điều khiển dữ liệu Khung kết hợp
Điều gì được thể hiện ra bên ngoài Các bước và hành động kiểm thử Chỉ là dữ liệu thử nghiệm Cả các bước và dữ liệu
Nỗ lực lập kế hoạch Rộng rãi và chính xác Chỉ giới hạn ở dữ liệu và kịch bản. Cao nhất
Bảo trì Dễ hơn, cơ bụng săn chắc hơntraccác lớp tion Khó hơn, cơ bụngtraction mỏng hơn Dễ nhất ở quy mô lớn
Cần có kỹ năng lập trình. Chỉ dành cho thư viện hàm Cần thiết cho mọi kịch bản Cần thiết cho lớp lõi
Có thể bắt đầu trước khi xây dựng. Không

Trên thực tế, các kiểu này được kết hợp với nhau. Một khung lai lưu trữ các bước dưới dạng từ khóa và dữ liệu đầu vào trong các bảng dữ liệu, thường là trên một phạm vi rộng. Mô hình đối tượng trangHãy chọn phương pháp kiểm thử dựa trên từ khóa khi nhiều người kiểm thử viết bài kiểm thử, phương pháp dựa trên dữ liệu khi một quy trình cần nhiều đầu vào, và phương pháp kết hợp khi cả hai đều áp dụng.

Các công cụ được sử dụng để kiểm tra theo hướng từ khóa

Có nhiều công cụ được sử dụng rộng rãi cho kiểm thử dựa trên từ khóa, mỗi công cụ lại diễn giải bảng từ khóa theo cách khác nhau.

  • HP QTP – Được tích hợp sẵn chế độ xem từ khóa, do đó bảng tính và bài kiểm tra có thể thực thi là một thể thống nhất.
  • Selenium – Không có lớp từ khóa gốc, do đó các nhóm tự xây dựng thư viện chức năng và kịch bản điều khiển.
  • Khung robot – một công cụ mã nguồn mở được thiết kế dựa trên từ khóa, với cú pháp dạng bảng và nhiều từ khóa có sẵn.
  • TestNG – thường được sử dụng cùng với Selenium Sắp xếp các phương pháp được ánh xạ từ khóa và tạo báo cáo.

Danh sách của chúng tôi về công cụ kiểm tra tự động Bao gồm giấy phép và hỗ trợ nền tảng cho mỗi tùy chọn.

Câu Hỏi Thường Gặp

Trợ lý AI có thể soạn thảo tên từ khóa từ các câu chuyện người dùng và tạo cấu trúc phù hợp. Selenium các phương pháp, giúp loại bỏ hầu hết các bước thiết lậppingTuy nhiên, con người vẫn phải xác nhận lại từ vựng nghiệp vụ và kiểm tra tính hợp lệ của từng mã định vị được tạo ra trước khi bộ công cụ được tin tưởng.

Nó làm giảm thiểu vấn đề thay vì loại bỏ hoàn toàn. Các công cụ tự phục hồi sẽ xác định lại một phần tử từ các thuộc tính xung quanh khi bộ định vị bị lỗi, giúp giảm thiểu các sửa chữa thường xuyên. Việc quản trị kho lưu trữ vẫn cần thiết, bởi vì một bộ định vị đã được sửa chữa mà vẫn âm thầm khớp với phần tử sai sẽ che giấu một lỗi thực sự.

Không. Cả hai đều ẩn mã nguồn đằng sau các bước dễ đọc, nhưng các công cụ BDD như... Cucumber Sử dụng các câu có cấu trúc "Đã cho - Khi nào - Sau đó" được viết để cộng tác về các yêu cầu. Các bài kiểm thử dựa trên từ khóa sử dụng các từ hành động dạng bảng được viết để tái sử dụng trong bộ công cụ tự động hóa.

Hãy giữ cho vốn từ vựng càng nhỏ càng tốt, thông thường chỉ khoảng vài chục thao tác cấp thấp cộng với một từ khóa cấp cao cho mỗi quy trình nghiệp vụ. Nếu hai từ khóa mô tả cùng một hành động, hãy hợp nhất chúng ngay lập tức; các từ khóa trùng lặp là nguyên nhân khiến thư viện từ vựng khó bảo trì.

Vâng. Hãy đưa các bảng từ khóa vào hệ thống kiểm soát phiên bản cùng với thư viện hàm, sau đó để máy chủ biên dịch gọi tập lệnh trình điều khiển. Các trình chạy như... TestNG xử lý nhómping và báo cáo, do đó các lỗi sẽ xuất hiện trong cùng một báo cáo xây dựng như các bài kiểm tra đơn vị.

Tóm tắt bài viết này với: