Khung tự động hóa thử nghiệm: Là gì, Archikiến trúc & các loại
Framework trong kiểm thử tự động hóa là gì?
A Khung tự động hóa thử nghiệm là một tập hợp các hướng dẫn như tiêu chuẩn mã hóa, xử lý dữ liệu thử nghiệm, xử lý kho lưu trữ đối tượng, v.v... khi tuân theo trong quá trình viết kịch bản tự động sẽ tạo ra các kết quả có lợi như tăng khả năng sử dụng lại mã, khả năng di động cao hơn, giảm chi phí bảo trì kịch bản, v.v. Đây chỉ là các hướng dẫn chứ không phải quy tắc; chúng không bắt buộc và bạn vẫn có thể viết kịch bản mà không cần tuân theo các hướng dẫn. Nhưng bạn sẽ bỏ lỡ những lợi thế của việc có một Khung.
Tại sao bạn cần một Khung?
Hãy xem xét một ví dụ để hiểu tại sao bạn cần một Framework.
Tôi chắc chắn rằng bạn đã tham dự một hội thảo/bài giảng/hội nghị mà những người tham gia được yêu cầu tuân thủ các hướng dẫn sau đây –
- Học viên nên ngồi vào chỗ của mình 5 phút trước khi bắt đầu bài giảng.
- Mang theo sổ và bút để ghi chép.
- Đọc phần tóm tắt để bạn có ý tưởng về nội dung bài thuyết trình.
- Điện thoại di động nên được đặt ở chế độ im lặng.
- Sử dụng các cổng thoát ở phía đối diện với diễn giả nếu bạn cần rời đi giữa bài giảng.
- Các câu hỏi sẽ được đưa ra vào cuối buổi học.
Bạn có nghĩ rằng bạn có thể tiến hành một cuộc hội thảo KHÔNG tuân thủ những nguyên tắc này👍
Câu trả lời là một VÂNG! Chắc chắn, bạn có thể tiến hành một buổi hội thảo/bài giảng/hội nghị/trình diễn mà không cần những hướng dẫn trên.. trên thực tế, một số người trong chúng ta sẽ không tuân theo chúng mặc dù đã được đặt ra!
Nhưng nếu tuân theo các hướng dẫn, nó sẽ mang lại kết quả có lợi như giảm sự phân tâm của khán giả trong các bài giảng, tăng khả năng giữ chân người tham gia và hiểu biết về chủ đề.
Dựa vào những điều trên, một Khung có thể được định nghĩa là một bộ hướng dẫn mà khi tuân theo sẽ mang lại kết quả có lợi.
Các loại khung tự động hóa thử nghiệm
Dưới đây là các loại Khung kiểm tra tự động khác nhau:
- 1) Kịch bản tuyến tính
- 2) Thư viện kiểm tra ArchiKhung kiến trúc.
- 3) Điều khiển dữ liệu Kiểm tra Khuôn khổ.
- 4) Khung kiểm tra theo hướng từ khóa hoặc theo hướng bảng.
- 5) Khung tự động hóa thử nghiệm kết hợp.
Hãy xem xét chúng một cách chi tiết –
1) Kịch bản tuyến tính – Ghi và phát lại
Đây là khung đơn giản nhất trong tất cả các Khung tự động hóa thử nghiệm và còn được gọi là “Ghi & Phát lại”. Trong Kiểm tra tự động hóa Framework, Người kiểm tra ghi lại thủ công từng bước (Điều hướng và Đầu vào của người dùng), Chèn Điểm kiểm tra (Các bước xác thực) trong vòng đầu tiên. Sau đó, anh ta phát lại tập lệnh đã ghi ở các vòng tiếp theo.
Ví dụ: Cân nhắc việc đăng nhập Đơn xin đặt vé máy bay và kiểm tra xem ứng dụng đã được tải khi đăng nhập thành công hay chưa. Ở đây, người kiểm tra sẽ chỉ ghi lại các bước và thêm các bước xác thực.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded after successful log-on Window("Flight Reservation").Check CheckPoint("Flight Reservation")
Ưu điểm
- Cách nhanh nhất để tạo tập lệnh
- Chuyên môn tự động hóa không bắt buộc
- Cách dễ nhất để tìm hiểu các tính năng của Công cụ kiểm tra
Nhược điểm
- Ít sử dụng lại các tập lệnh
- Dữ liệu thử nghiệm được mã hóa cứng vào tập lệnh
- Cơn ác mộng bảo trì
2) Thư viện kiểm tra ArchiKhung kiến trúc
Nó còn được biết đến như “Kịch bản có cấu trúc” or "Suy giảm chức năng".
Trong Khung kiểm tra tự động hóa này, các tập lệnh kiểm tra ban đầu được ghi lại bởi “Ghi và phát lại" phương pháp. Later, các tác vụ phổ biến bên trong tập lệnh được xác định và nhóm thành Hàm. Các hàm này được gọi bằng tập lệnh thử nghiệm chính được gọi là Người lái xe theo những cách khác nhau để tạo ra các trường hợp thử nghiệm.
Ví dụ: Tương tự ví dụ trên, chức năng đăng nhập vào Đặt chỗ chuyến bay sẽ có dạng .
Function Login() SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click End Function
Bây giờ, bạn sẽ gọi hàm này trong script chính như sau
Call Login() --------------------------- Other Function calls / Test Steps. ---------------------------
Ưu điểm
- Mức độ tái sử dụng mã cao hơn đạt được trong Tập lệnh có cấu trúc so với “Ghi & Phát lại”
- Các tập lệnh tự động hóa phát triển ít tốn kém hơn do khả năng sử dụng lại mã cao hơn
- Bảo trì tập lệnh dễ dàng hơn
Nhược điểm
- Cần có chuyên môn kỹ thuật để viết Tập lệnh bằng Khung thư viện kiểm tra
- Cần thêm thời gian để lập kế hoạch và chuẩn bị kịch bản kiểm thử.
- Dữ liệu thử nghiệm được mã hóa cứng trong các tập lệnh
3) Khung kiểm tra dựa trên dữ liệu
Trong khuôn khổ này, trong khi Trường hợp thử nghiệm logic nằm trong Tập lệnh kiểm thử, Dữ liệu kiểm thử được tách riêng và giữ bên ngoài Tập lệnh kiểm thử. Dữ liệu kiểm tra được đọc từ các tệp bên ngoài (Tệp Excel, Tệp văn bản, Tệp CSV, Nguồn ODBC, Đối tượng DAO, Đối tượng ADO) và được tải vào các biến bên trong Tập lệnh kiểm tra. Các biến được sử dụng cho cả giá trị Đầu vào và giá trị Xác minh. Bản thân các Tập lệnh kiểm tra được chuẩn bị bằng cách sử dụng Tập lệnh tuyến tính hoặc Khung thư viện kiểm tra.
Ví dụ: Việc phát triển tập lệnh Đăng nhập đặt chỗ chuyến bay bằng phương pháp này sẽ bao gồm hai bước.
Bước 1) Tạo một tệp thử nghiệm – Dữ liệu có thể là Excel , CSV hoặc bất kỳ nguồn cơ sở dữ liệu nào khác.
Tên đại lý | Mật khẩu |
---|---|
Jimmy | Mercury |
Tina | THỦY NGÂN |
Bill | Thủy ngân |
Bước 2) Phát triển Test Script và tạo tài liệu tham khảo cho nguồn Dữ liệu thử nghiệm của bạn.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet) Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded Window("Flight Reservation").Check CheckPoint("Flight Reservation") **Note "dtGlobalSheet" is the default excel sheet provided by QTP.
Ưu điểm
- Những thay đổi đối với Test Script không ảnh hưởng đến Test Data
- Các trường hợp thử nghiệm có thể được thực thi với nhiều Bộ dữ liệu
- Nhiều kịch bản thử nghiệm khác nhau có thể được thực thi chỉ bằng cách thay đổi Dữ liệu thử nghiệm trong Tệp dữ liệu ngoài
Nhược điểm
- Cần thêm thời gian để lập kế hoạch và chuẩn bị cả Test Script và Test Data
4) Khung kiểm tra theo hướng từ khóa hoặc theo bảng
Quá trình phát triển khuôn khổ tự động hóa theo từ khóa hoặc theo bảng yêu cầu các bảng dữ liệu và từ khóa, độc lập với thử nghiệm công cụ tự động hóa được sử dụng để thực hiện chúng. Các thử nghiệm có thể được thiết kế có hoặc không có Ứng dụng. Trong thử nghiệm dựa trên từ khóa, chức năng của ứng dụng đang thử nghiệm được ghi lại trong bảng cũng như hướng dẫn từng bước cho mỗi thử nghiệm.
Có 3 thành phần cơ bản của một Keyword Driven Framework, đó là: Từ khóa, Bản đồ ứng dụng và Chức năng thành phần.
Từ khóa là gì?
Từ khóa là một Hành động có thể được thực hiện trên một Thành phần GUI. Ví dụ: Đối với Hộp văn bản Thành phần GUI, một số Từ khóa (Hành động) sẽ là InputText, VerifyValue, VerifyProperty, v.v.
Bản đồ ứng dụng là gì?
Bản đồ ứng dụng cung cấp các tham chiếu được đặt tên cho các thành phần GUI. Bản đồ ứng dụng không gì khác ngoài “Kho lưu trữ đối tượng"
Chức năng thành phần là gì?
Hàm thành phần là những hàm chủ động thao tác hoặc thẩm vấn thành phần GUI. Một ví dụ về chức năng sẽ là nhấp vào nút web với tất cả việc xử lý lỗi, nhập dữ liệu vào Chỉnh sửa web với tất cả việc xử lý lỗi. Các chức năng thành phần có thể phụ thuộc vào ứng dụng hoặc độc lập.
Ví dụ: Để hiểu Chế độ xem từ khóa, hãy lấy ví dụ tương tự. Nó bao gồm 2 bước
Bước 1: Tạo bảng dữ liệu (Khác với Bảng dữ liệu thử nghiệm được tạo trong Khung điều khiển dữ liệu). Bảng dữ liệu này chứa Hành động được thực hiện trên Đối tượng GUI và các đối số tương ứng nếu có. Mỗi hàng đại diện cho một Bước kiểm tra.
Đối tượng | Hoạt động | |
---|---|---|
(Bản đồ ứng dụng) | (TỪ KHÓA) | Tranh luận |
WinEdit(Tên đại lý) | Thiết lập | Guru99 |
WinEdit(Mật khẩu) | Thiết lập | Mercury |
Nút Win(OK) | Nhấp chuột | |
Cửa sổ(Đặt chỗ chuyến bay) | Xác minh | Tồn tại |
Bước 2: Viết Code dưới dạng Component Functions.
Sau khi đã tạo (các) bảng dữ liệu, bạn chỉ cần viết một chương trình hoặc một tập lệnh đọc trong mỗi bước, thực hiện bước đó dựa trên từ khóa có trong trường Hành động, thực hiện kiểm tra lỗi và ghi lại mọi thông tin liên quan. Chương trình hoặc tập lệnh này sẽ trông giống như mã giả bên dưới:
Function main() { Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table. while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table. { Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99). } } Call CloseConnection() //Function for Closing connection after all the operation has been performed. } //End of main
Đó là tất cả đối với Khung điều khiển từ khóa.
Ưu điểm của Keyword Driven Framework là các từ khóa có thể tái sử dụng. Để hiểu điều này, hãy xem xét bạn muốn xác minh hoạt động đăng nhập cho một trang web, chẳng hạn như YAHOO MAIL. Bảng sẽ trông như thế này –
Đối tượng | Hoạt động | |
---|---|---|
(SƠ ĐỒ ỨNG DỤNG) | (TỪ KHÓA) | Tranh luận |
WebEdit(Tên người dùng) | Thiết lập | abc@yahoo.com |
WebEdit(Mật khẩu) | Thiết lập | xxxxx |
Nút Web(OK) | Nhấp chuột | |
Cửa sổ(Yahoo Mail) | Xác minh | Tải trọng |
Nếu bạn quan sát thấy trong trường hợp này Bộ từ khóa , Nhấp chuột , Xác minh vẫn giữ nguyên cho các chức năng thành phần tương ứng đã được phát triển. Tất cả những gì bạn cần làm là thay đổi Ánh xạ ứng dụng (Kho lưu trữ đối tượng) từ Đặt chỗ chuyến bay trước đó sang Yahoo Mail , với sự thay đổi về giá trị đối số và cùng một tập lệnh sẽ hoạt động!
Ưu điểm
- Cung cấp khả năng sử dụng lại mã cao
- Công cụ kiểm tra độc lập
- Độc lập với Ứng dụng đang được thử nghiệm, tập lệnh tương tự hoạt động với AUT (với một số hạn chế)
- Các bài kiểm tra có thể được thiết kế có hoặc không có AUT
Nhược điểm
- Đầu tư ban đầu khá cao, lợi ích của việc này chỉ có thể được nhận ra nếu ứng dụng có dung lượng lớn và các kịch bản thử nghiệm được duy trì trong một vài năm.
- Cần có chuyên môn Tự động hóa cao để tạo Khung điều khiển từ khóa.
CHÚ THÍCH : Mặc dù Micro Focus UFT tự quảng cáo là KeyWord Driven Framework, nhưng bạn không thể đạt được sự độc lập hoàn toàn về công cụ kiểm tra và ứng dụng bằng cách sử dụng HP UFT.
5) Khung tự động hóa thử nghiệm kết hợp
Đúng như tên gọi, khung này là sự kết hợp của một hoặc nhiều Khung tự động hóa được thảo luận ở trên nhằm phát huy điểm mạnh và cố gắng giảm thiểu điểm yếu của chúng. Khung tự động hóa QA thử nghiệm kết hợp là thứ mà hầu hết các khung tự động hóa thử nghiệm phát triển theo thời gian và nhiều dự án. Ngành công nghiệp tối đa sử dụng Khung từ khóa kết hợp với phương pháp phân rã chức năng.
PS: Các Khung tự động hóa khác đáng được đề cập là
Khung mô-đun thử nghiệm
Trong khung này, một tác vụ chung trong tập lệnh thử nghiệm được nhóm lại với nhau dưới dạng Mô-đun.
Ví dụ: Sử dụng Hành động trong sử dụng QTP có thể tạo Tập lệnh mô-đun
Tập lệnh mẫu để đăng nhập
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'End of Script
Bây giờ bạn có thể gọi Hành động này trong tập lệnh chính như sau –
RunAction ("Login[Argument]", oneIteration)
Kiểm tra quy trình kinh doanh (BPT)
Các Khung tự động hóa này chia các Quy trình kinh doanh lớn thành các Thành phần có thể được sử dụng lại nhiều lần trong cùng một hoặc các tập lệnh kiểm tra khác nhau. Ví dụ: Quy trình công việc đặt vé chuyến bay được chia thành các thành phần như Đăng nhập, Tìm chuyến bay, Đặt chỗ, Thanh toán & Đăng xuất. Các thành phần này có thể được sử dụng lại trong cùng một Quy trình công việc hoặc các quy trình khác nhau. Ngoài ra, BPT tạo điều kiện phối hợp chặt chẽ hơn giữa các Kỹ sư tự động hóa và SME.
Lợi ích của Khung tự động hóa thử nghiệm Archikiến trúc
Sau đây là những lợi ích của kiến trúc khung tự động hóa thử nghiệm:
- Khung tự động hóa thử nghiệm giúp giảm rủi ro và chi phí
- Nó cải thiện hiệu quả của các bài kiểm tra
- Nó giúp giảm chi phí bảo trì
- Cho phép sử dụng lại mã
- Nó cho phép đạt được phạm vi kiểm tra tối đa
- Nó tối đa hóa chức năng ứng dụng
- Giúp giảm trùng lặp trường hợp thử nghiệm
- Nó giúp cải thiện hiệu quả và hiệu suất kiểm tra bằng tự động hóa kiểm tra
Tổng kết
- Khung là một tập hợp các hướng dẫn như tiêu chuẩn mã hóa, xử lý dữ liệu thử nghiệm, xử lý kho lưu trữ đối tượng, v.v... mà khi tuân theo trong quá trình tạo tập lệnh tự động hóa sẽ tạo ra các kết quả có lợi như tăng khả năng sử dụng lại mã, tính di động cao hơn, giảm chi phí bảo trì tập lệnh, v.v.
- Tập lệnh tuyến tính là khung đơn giản nhất trong tất cả các Khung tự động hóa và còn được gọi là “Ghi & Phát lại”.
- Thư viện kiểm tra ArchiTecture Framework còn được gọi là “Structured Scripting” hoặc “Functional Decomposition”.
- Trong Khung kiểm thử theo hướng dữ liệu, logic trường hợp kiểm thử nằm trong tập lệnh kiểm thử và dữ liệu kiểm thử được tách riêng và giữ bên ngoài tập lệnh kiểm thử.
- Khung theo hướng từ khóa hoặc theo hướng bảng yêu cầu phát triển các bảng dữ liệu và từ khóa, độc lập với công cụ tự động hóa thử nghiệm được sử dụng để thực thi chúng.
- Khung tự động hóa kết hợp là thứ mà hầu hết các khung tự động hóa thử nghiệm phát triển theo thời gian và nhiều dự án.