Báo cáo đã trình bày toàn diện về quá trình kiểm thử tự động bằng công cụ Testim, từ các khái niệm cơ bản đến việc so sánh với các công cụ kiểm thử khác. Kiểm thử tự động, đặc biệt là với Testim, mang lại nhiều lợi ích vượt trội so với kiểm thử thủ công. Những lợi ích này bao gồm giảm thời gian kiểm thử, tăng độ chính xác, và cải thiện phạm vi bao phủ của các bài kiểm thử. Testim là một công cụ mạnh mẽ và linh hoạt, cung cấp nhiều tính năng hữu ích như tăng cường độ chính xác, phạm vi bao phủ tốt, và khả năng tích hợp dễ dàng với nhiều khung thử nghiệm và quy trình CI/CD. Điều này giúp các đội nhóm dễ dàng kết hợp Testim vào quy trình làm việc hiện tại, đồng thời tiết kiệm chi phí đầu tư vào phần cứng và cơ sở hạ tầng nhờ nền tảng đám mây. Tuy nhiên, Testim là một công cụ thương mại, do đó sẽ có một mức phí liên quan, điều này có thể là một hạn chế đối với các tổ chức hoặc nhóm nhỏ có nguồn lực hạn chế. Tóm lại, Testim là một công cụ kiểm thử tự động hiệu quả với nhiều tính năng mạnh mẽ và dễ sử dụng. Mặc dù còn một số hạn chế nhất định, nhưng với khả năng tích hợp linh hoạt và phạm vi bao phủ rộng, Testim vẫn là một lựa chọn tối ưu cho các dự án kiểm thử phần mềm. Các nhóm phát triển cần cân nhắc kỹ lưỡng giữa lợi ích và chi phí, đồng thời đầu tư vào việc nâng cao kỹ năng chuyên môn của đội ngũ kiểm thử để đạt được hiệu quả cao nhất. Chúng ta hy vọng rằng với sự phát triển không ngừng của công nghệ, các công cụ kiểm thử như Testim sẽ ngày càng hoàn thiện và hỗ trợ tốt hơn cho quy trình phát triển phần mềm. Việc áp dụng Testim vào quá trình kiểm thử sẽ giúp tăng cường độ tin cậy của sản phẩm, giảm thiểu rủi ro lỗi và nâng cao trải nghiệm người dùng cuối cùng. Trong bối cảnh cạnh tranh khốc liệt của ngành công nghệ thông tin, việc ứng dụng các công cụ kiểm thử hiện đại và hiệu quả như Testim sẽ là một lợi thế lớn cho các doanh nghiệp, giúp họ nhanh chóng đưa sản phẩm chất lượng cao ra thị trường, đáp ứng kịp thời nhu cầu của khách hàng và giữ vững vị thế cạnh tranh.
CÔNG CỤ KIỂM THỬ TỰ ĐỘNG TESTIM
Kiểm thử thủ công và kiểm thử tự động
Kiểm thử thủ công: là tester làm mọi công việc hoàn toàn bằng thủ công, từ viết test case đến thực hiện test, mọi thao tác như nhập điều kiện đầu vào, thực hiện một số sự kiện khác như nhấn nút và quan sát kết quả thực tế, sau đó so sánh kết quả thực tế với kết quả mong muốn trong test case, điền kết quả test
Hiện nay, phần lớn các tổ chức, các công ty phần mềm, hoặc các nhóm làm phần mềm đều thực hiện kiểm thử thủ công là chủ yếu.
Kiểm thử thủ công là một trong những cách cơ bản của kiểm thử phần mềm, không yêu cầu kiến thức về bất kỳ công cụ kiểm thử nào Thế nhưng cách kiểm thử này lại tồn tại nhiều nhược điểm:
- Cực kỳ tốn thời gian - Nguy cơ sai sót cao - Yêu cầu sự có mặt của tester 24/7 - Yêu cầu tạo nhật ký thủ công - Có phạm vi giới hạn
Bên cạnh kiểm thử thủ công, trong kiểm thử phần mềm còn có kiểm thử tự động, là việc sử dụng phần mềm tách biệt với phần mềm đang được kiểm tra để kiểm soát việc thực hiện ca kiểm thử và so sánh kết quả thực tế với kết quả dự đoán Người kiểm thử tạo các tập lệnh và chạy tập lệnh, về cơ bản đó là sự tự động hóa ca kiểm thử thủ công
Kiểm thử tự động cũng được sử dụng để kiểm tra khả năng tải và hiệu năng của ứng dụng Mục tiêu chính của kiểm thử tự động là giảm kiểm thử thủ công, tăng hiệu quả kiểm thử và giá trị của phần mềm.
Những ưu điểm và nhược điểm của Kiểm thử thủ công và Kiểm thử tự động:
Kiểm thử thủ công Kiểm thử tự động Ưu điểm - Thích hợp kiểm tra sản phẩm lần đầu tiên
- Thích hợp kiểm thử trong trường hợp các test case chỉ phải
- Thích hợp với trường hợp phải test nhiều lần cho một case, có tính ổn định và tin cậy cao hơn so với kiểm thử thủ công thực hiện một số ít lần - Giảm được chi phí ngắn hạn
- 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
- 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 lại một tập hợp các test case đã chạy dẫn đến sự mệt mỏi và lãng phí.
- Chi phí đầu tư ban đầu lớn
Giới thiệu về công cụ kiểm thử tự động Testim
Được ra mắt lần đầu vào cuối năm 2014, Testim là một công cụ kiểm thử tự động hóa dựa trên sự hỗ trợ của AI với đầy đủ tính năng cho phép tạo nhanh các ca kiểm thử ổn định và các công cụ TestOps để giúp các đội nhóm mở rộng quy mô kiểm thử một cách hiệu quả Testim phục vụ ba trường hợp sử dụng chính:
- Giúp các nhóm phát triển Agile kiểm thử các ứng dụng web và di động hướng tới khách hàng của họ một cách nhanh chóng và hiệu quả Testim rất dễ sử dụng, cho phép tham gia kiểm thử rộng rãi Nó cũng rất linh hoạt, vì vậy người dùng có thể giải quyết các vấn đề kiểm thử khó khăn bằng cách chèn mã JavaScript để có thể dễ dàng sử dụng lại và chia sẻ trong các lần kiểm thử
- Thử nghiệm Salesforce: Khả năng soạn thảo nhanh và độ ổn định được hỗ trợ bởi AI của Testim khiến nó trở nên lý tưởng cho các ứng dụng động như Salesforce Nếu doanh nghiệp đang xây dựng một ứng dụng hướng tới khách hàng tích hợp với Salesforce, Testim là một lựa chọn tuyệt vời để kiểm tra các quy trình công việc từ đầu đến cuối đó
- Kiểm thử ứng dụng di động: Testim giúp đơn giản hóa việc quản lý thiết bị và ứng dụng để ứng dụng di động được kiểm thử dễ dàng hơn Người dùng có thể nhanh chóng tạo các bài kiểm tra mã ngắn bằng cách sử dụng các tính năng và trải nghiệm Testim tương tự.
Các chức năng nổi bật của Testim
Tính năng này giúp ghi lại luồng người dùng và cấu hình chúng trong trình biên tập trực quan chỉ trong vài phút Trí tuệ nhân tạo hỗ trợ xây dựng các bài kiểm thử được thiết kế kiến trúc tốt, đẹp mắt, tối ưu hóa việc sử dụng lại và giảm thiểu việc bảo trì.
Ghi lại luồng người dùng: Một bản ghi là cách nhanh nhất để tạo ra bài kiểm thử.
Ghi lại các hành động đơn giản như nhấp chuột và nhập văn bản cũng như các hành động phức tạp hơn như kéo và thả, tương tác với iframe, và thậm chí là các trường hợp sử dụng đa tab Trình ghi của Testim đã phát triển qua nhiều năm sử dụng của khách hàng nên các hành động của người dùng được ghi chính xác và nhất quán.
Nhận biết các điểm chỉ định để khóa phần tử: Testim phân tích toàn bộ DOM của ứng dụng web để hiểu các thuộc tính và mối quan hệ đặc biệt nhận dạng mỗi phần tử.
Testim tự động khóa phần tử bằng cách sử dụng các chỉ định thông minh độc quyền mà không cần sự can thiệp của người dùng, nhằm đơn giản hóa và tăng tốc quá trình tạo bài kiểm thử.
Tái sử dụng và loại bỏ bản sao các thành phần: Chia sẻ các bước và nhóm bước qua các bài kiểm thử Điều này giúp giảm sự trùng lặp, cải thiện hiểu biết hình ảnh về luồng kiểm thử và đơn giản hóa bảo trì Testim làm cho việc tái sử dụng dễ dàng hơn với tính năng nhóm tự động giúp xác định các bước tương tự qua các bài kiểm thử và tự động đề xuất các nhóm được chia sẻ làm thay thế.
Cấu hình trong giao diện trực quan: Chỉnh sửa các bài kiểm thử đã ghi lại trong trình biên tập trực quan của Testim Xóa, thêm hoặc sắp xếp lại các bước Cấu hình các kiểm tra văn bản, PDF, email và nhiều tính năng khác Tạo điều kiện để chỉ định khi các bước kiểm thử chạy, hoặc vòng lặp để lặp lại các hành động trên các phần tử trang Điều chỉnh thời gian chờ hoặc thời gian chờ để phù hợp với ứng dụng Nếu muốn, người dùng có thể xuất bài kiểm thử dưới dạng mã và chỉnh sửa trong môi trường phát triển của họ.
Thêm mã vào bất kỳ bài kiểm thử nào để chạy bên trong hoặc bên ngoài trình duyệt Điều này giúp các nhà phát triển dành ít thời gian hơn cho việc tạo, chỉnh sửa và cập nhật các thử nghiệm giao diện người dùng và có nhiều thời gian hơn để đổi mới trong ứng dụng.
Testim tích hợp xác nhận qua email, pdf và tải xuống tệp vào các ca sử dụng để mô phỏng các tình huống người dùng thực sự làm hoàn chỉnh các ca kiểm thử E2E
Chèn mã JavaScript tùy chỉnh vào bất kỳ bước nào để thực hiện các hành động phía frontend hoặc phía máy chủ Điều chỉnh các chỉ định thông minh để tìm bất kỳ phần tử nào Chúng ta thậm chí có thể cô lập các bài kiểm thử frontend bằng cách giả mạo các dịch vụ backend.
Trong Testim, ta có thể tái sử dụng các bước JS trong các thử nghiệm dưới dạng độc lập hoặc nhóm Đồng thời, tham số hóa bất kỳ biến nào và sử dụng dữ liệu từ Excel, JSON hoặc các nguồn khác để mở rộng kịch bản kiểm thử.
3.3 Định vị thông minh tự động cải thiện
Khi tạo một bài kiểm thử, một cách hợp lệ và phổ biến để tăng tốc quá trình viết kịch bản là ghi lại các hành động trên hệ thống đang được kiểm thử bằng một công cụ.
Tuy nhiên, phần lớn các công cụ này không xác định được các locator tốt nhất trên trang Do đó, nếu người dùng không có kỹ năng kỹ thuật để xử lý vấn đề này, họ chắc chắn sẽ gặp phải nhiều vấn đề tiềm tàng về mặt bảo trì.
Tuy nhiên, công cụ ghi lại của Testim xác định các định vị chính xác cho từng phần tử với sự trợ giúp của Trí tuệ nhân tạo, tạo ra một danh sách xếp hạng cho các locator khác nhau dựa trên các thực hành tự động hóa tốt nhất để tạo ra các bài kiểm thử ổn định Công cụ định vị thông minh (Smart Locators) của Testim được trang bị trí tuệ nhân tạo để khóa và tìm kiếm mỗi yếu tố trên web Nếu điểm số giảm do thay đổi trang, Testim đánh giá, kiểm tra, và tự động cải thiện trước khi các bài kiểm thử bị hỏng. Định vị thông minh dựa trên AI: Hầu hết các framework tự động hóa kiểm thử sử dụng một bộ chọn CSS duy nhất để xác định các phần tử web Những thay đổi đơn và yêu cầu cập nhật Testim kiểm tra toàn bộ HTML DOM của ứng dụng web để xác định hàng trăm thuộc tính xác định mỗi phần tử Nếu màu sắc, văn bản hoặc vị trí của một phần tử thay đổi, Smart Locators có thể xác định và giữ cho bài kiểm thử hợp lệ.
Testim mang lại cho người dùng sự kiểm soát đầy đủ để điều chỉnh hoặc ghi đè các chỉ định để phù hợp với ứng dụng.
Tự động cải thiện bộ định vị: Theo thời gian, ứng dụng đang kiểm thử có thể khác biệt so với điểm cơ sở của bài kiểm thử Thay vì đợi cho bài kiểm thử bị lỗi, Testim tích cực cải thiện các chỉ định Đầu tiên, Testim tính toán lại chỉ định dựa trên thông tin hiện tại, sau đó thực hiện một đánh giá song song trước khi tự động cập nhật các chỉ định Kết quả là bảo trì bài kiểm thử tự động mà không cần sự can thiệp của con người.
Chờ tự động: Các bài kiểm thử có thể thất bại vì ứng dụng kiểm thử đã cố gắng xác định các đối tượng trang trước khi chúng được hiển thị Testim giúp giải quyết vấn đề này bằng cách chèn thời gian chờ vào các bước kiểm thử Thời gian chờ được cung cấp thông qua việc phân tích hàng triệu lượt chạy thử nghiệm và thay đổi tùy theo loại phần tử Người dùng có thể chèn thời gian chờ phụ thuộc vào sự kiện vào các bài kiểm thử để tính đến sự biến thiên của ứng dụng.
Ưu và nhược điểm của Testim
Tăng hiệu quả: Testim cho phép người dùng tự động hóa quy trình thử nghiệm của họ, giảm thời gian và công sức cần thiết để thực hiện thử nghiệm theo cách thủ công Điều này có thể giúp tăng tốc vòng đời phát triển phần mềm, cho phép các nhóm cung cấp phần mềm nhanh hơn và hiệu quả hơn.
Cải thiện độ chính xác: Kiểm tra tự động nhất quán và đáng tin cậy hơn so với kiểm tra thủ công, giảm nguy cơ sai sót và cải thiện độ chính xác của kết quả kiểm tra. Độ che phủ tốt: Testim cho phép người dùng tạo một số lượng lớn thử nghiệm trong một khoảng thời gian ngắn, điều này có thể giúp cải thiện phạm vi thử nghiệm và đảm bảo rằng tất cả các khía cạnh của ứng dụng đều được kiểm tra kỹ lưỡng.
Tích hợp dễ dàng: Testim tích hợp với một loạt các khung thử nghiệm phổ biến và có thể được sử dụng cùng với các quy trình tích hợp liên tục và phân phối liên tục. Điều này giúp dễ dàng kết hợp Testim vào các quy trình và quy trình công việc hiện có.
Tiết kiệm chi phí: Testim là một nền tảng dựa trên đám mây, có nghĩa là người dùng không cần đầu tư vào phần cứng hoặc cơ sở hạ tầng đắt tiền để chạy thử nghiệm. Điều này có thể giúp giảm chi phí tổng thể của việc kiểm thử phần mềm.
Tóm lại, Testim là một công cụ mạnh mẽ và linh hoạt để tự động hóa việc kiểm thử phần mềm Nó cung cấp giao diện người dùng trực quan, hỗ trợ nhiều khung thử nghiệm phổ biến và có thể được sử dụng để thử nghiệm các ứng dụng web, API và ứng dụng di động Bằng cách sử dụng Testim, các nhóm phát triển phần mềm có thể cải thiện hiệu quả, độ chính xác và phạm vi bao phủ của các quy trình thử nghiệm của họ, đồng thời giảm chi phí thử nghiệm tổng thể.
Hạn chế trong kiểm thử phức tạp: Testim có thể gặp khó khăn khi phải xử lý và kiểm thử các yếu tố phức tạp trong ứng dụng, như ứng dụng di động, ứng dụng đa nền tảng hoặc hệ thống phức tạp Điều này có thể yêu cầu kiến thức và kỹ năng lập trình cao hơn để tùy chỉnh và xử lý các trường hợp đặc biệt.
Phụ thuộc vào môi trường kiểm thử: Testim đòi hỏi một môi trường kiểm thử ổn định và có thể tái tạo để chạy các kịch bản kiểm thử Việc cấu hình và duy trì môi trường này có thể là một thách thức, đặc biệt khi phải làm việc với nhiều phiên bản trình duyệt, hệ điều hành và nền tảng khác nhau.
Cần yêu cầu về kỹ thuật chuyên môn: Mặc dù Testim có giao diện dễ sử dụng, nhưng để tận dụng hết khả năng của công cụ, người dùng cần có kiến thức kỹ thuật và kỹ năng lập trình trong việc tùy chỉnh mã JavaScript để tạo và duy trì các kịch bản kiểm thử tự động.
Giá thành: Testim là một công cụ thương mại, vì vậy có một mức phí liên quan để sử dụng Điều này có thể là một hạn chế đối với những tổ chức hoặc nhóm nhỏ có nguồn lực hạn chế.
KIỂM THỬ WEB VỚI HỖ TRỢ CỦA AI
Ghi lại và chạy một bài kiểm thử web
Người dùng bắt đầu tạo một kiểm thử với Testim bằng cách truy cập vào trang web/ứng dụng tương ứng và ghi lại chuỗi hành động của người dùng mà họ muốn dựa vào để tạo kiểm thử của mình Sau đó, có thể chỉnh sửa các thuộc tính cho từng bước và thêm các xác thực Các kiểm thử được tạo trong một thư mục dự án cụ thể Khi người dùng tạo một kiểm thử mới, nó tự động được bao gồm trong dự án đang mở hiện tại.
Khi người dùng ghi lại kiểm thử, Testim chuyển mỗi hành động thành một bước kiểm thử được hiển thị trên màn hình trình soạn thảo trực quan của Testim Bây giờ kiểm thử có thể chạy tự động, chỉ cần xác nhận rằng cùng một chuỗi hành động có thể được lặp lại một cách hiệu quả Người dùng cũng có thể sử dụng trình soạn thảo trực quan để thực hiện các hành động giúp hoàn thiện kiểm thử của mình như: Xóa, thêm hoặc sắp xếp các bước; Thêm điều kiện cho các bước; Thêm các kiểm tra xác thực;
Testim hỗ trợ thử nghiệm trên nhiều công nghệ web để cung cấp phạm vi bao phủ toàn diện Tuy nhiên, do tính chất phát triển nhanh của công nghệ web, có thể có trường hợp một số công nghệ mới chưa được tích hợp vào khung thử nghiệm của Testim.
Tổng quan quá trình ghi lại và chạy một bài kiểm thử web trên Testim bao gồm 4 bước chính:
1.1 Tạo một bài kiểm thử mới Để tạo một bài kiểm thử mới người dùng cần di chuyển đến thẻ “kiểm thử”
(Tests) trong trang “danh sách kiểm thử” (Test List) Sau đó nhấp vào biểu tượng cộng (+) và chọn “kiểm thử mới” (New test) Hoặc, người dùng có thể nhấp vào nút tạo bài kiểm thử mới – NEW TEST (được hiển thị trên thanh tiêu đề trên tất cả các màn hình).
Một bài kiểm thử mới sẽ được mở trong trình soạn thảo trực quan Đây là nơi người dùng ghi lại bài kiểm thử, thêm các kiểm định và chỉnh sửa các bước kiểm thử.
1.2 Cài đặt URL cơ sở
Trong Testim, địa chỉ URL cơ sở là trang đầu tiên trong trang web mà bài kiểm thử bắt đầu Thông thường, đây là địa chỉ gốc của trang web, thường chỉ đến trang chủ của trang web bằng cách đặt tên cho Host Ví dụ, http://demo.testim.io hoặc http://www.google.com Địa chỉ URL cơ sở được xác định trong Bước Thiết lập của bài kiểm thử, đó là bước đầu tiên Các bước bổ sung trong bài kiểm thử có thể bao gồm nhấp vào các liên kết từ trang đầu tiên/trang chủ đến các trang nội bộ của cùng một trang web URL cho những trang này sẽ bao gồm cùng một địa chỉ URL cơ sở tiếp theo là đường dẫn tương đối Ví dụ, http://demo.testim.io/signup.
Có hai cách để thiết lập Địa chỉ URL cơ sở:
- Thiết lập một địa chỉ URL cơ sở mặc định: Người dùng có thể thiết lập một địa chỉ URL cơ sở mặc định cho một dự án Địa chỉ URL này sẽ tự động áp dụng cho tất cả các bài kiểm thử mới mà người dùng tạo trong Dự án.
- Thiết lập địa chỉ URL cơ sở thủ công: Nếu không có Địa chỉ URL cơ sở mặc định nào được cấu hình, người dùng cần nhập địa chỉ URL cơ sở một cách thủ công cho mỗi bài kiểm thử mới Nếu có địa chỉ URL cơ sở mặc định đã được cấu hình, thì URL mặc định sẽ được sử dụng trừ khi người dùng chỉnh sửa URL một cách thủ công.
Testim cho phép người dùng ghi đè Địa chỉ URL cơ sở khi chạy bài kiểm thử.
Thông thường, người dùng ghi lại các bài kiểm thử trên môi trường phát triển/kiểm thử và sau đó họ muốn chạy các bài kiểm thử của mình trên các môi trường khác nhau. Điều này có nghĩa là địa chỉ URL cơ sở và tất cả các địa chỉ URL tương đối (sau khi nhấp vào các liên kết) phải thay đổi trong quá trình chạy bài kiểm thử Khi chạy các trình điều khiển từ xa bằng các phương pháp của Testim, người dùng có thể chỉ định một Địa chỉ URL cơ sở khác nhau như là một phần của cấu hình. Địa chỉ URL cơ sở cũng là một tham số được tích hợp sẵn, không giống như các tham số khác trong Testim, thì không cần phải được xác định là một tham số, mà có thể được sử dụng ngay Tham số này được gọi là - BASE_URL Tham số này sẽ được điền vào với giá trị của địa chỉ URL cơ sở khi chạy bài kiểm thử, có thể là địa chỉ URL cơ sở ban đầu của bài kiểm thử hoặc một giá trị ghi đè.
Tham số Địa chỉ URL cơ sở có thể được sử dụng như một địa chỉ URL cơ sở động cho kiểm thử dữ liệu có thể được điều chỉnh tự động dựa trên dữ liệu được cung cấp cho chạy bài kiểm thử Ví dụ, người dùng muốn chạy cùng một bài kiểm thử trên một loạt các trang web khác nhau Trong trường hợp này, họ sẽ sử dụng tham số Địa chỉ URL cơ sở để nhập các URL động vào các chạy bài kiểm thử.
1.3 Cài đặt cấu hình bài kiểm thử
Cấu hình kiểm thử (Test Configuration) xác định các thông số hệ thống được sử dụng để chạy bài kiểm thử Nếu người dùng dự định chạy bài kiểm thử ở cục bộ, thì cấu hình nên phù hợp với môi trường cục bộ của họ Nếu người dùng dự định chạy bài kiểm thử trên Testim Grid, thì Testim mô phỏng bất kỳ môi trường nào được chỉ định.
Khi bài kiểm thử được chạy trong CLI, người dùng có thể ghi đè cấu hình mặc định bằng cách chỉ định một cấu hình kiểm thử mới trong lệnh chạy Nếu họ chạy một bài kiểm thử ở cục bộ trên một hệ thống không tương ứng với cấu hình kiểm thử, thì bài kiểm thử sẽ chạy với cấu hình có sẵn và một thông báo cảnh báo sẽ được hiển thị.
Các tham số cấu hình cho bài kiểm thử được Testim hỗ trợ:
- Name: Tên của cấu hình.
- Browser: Trình duyệt mà bài kiểm thử chạy trên Các trình duyệt được hỗ trợ bao gồm: Chrome, Firefox, Safari và Edge Chromium Testim chỉ hỗ trợ các phiên bản ổn định của trình duyệt và không cung cấp hỗ trợ cho các phiên bản Beta, Dev hoặc Canary.
- OS: Hệ điều hành mà bài kiểm thử chạy trên Các hệ điều hành được hỗ trợ bao gồm Linux, Windows 11 (chỉ áp dụng cho Selenium và Grid tùy chỉnh, không áp dụng cho Testim Grid), Windows 10, Windows 8, Windows 8.1, Windows 7, Windows XP, macOS Sierra, macOS High Sierra, macOS Mojave, OS X El Capitan, OS X Yosemite, OS X Mavericks, OS X Mountain Lion, OS X Snow Leopard.
- Resolution: Độ phân giải màn hình được sử dụng cho bài kiểm thử.
- Step Timeout (milliseconds): Thời gian chờ (milliseconds) mà Testim chờ trước khi ghi nhận một bước kiểm thử không thành công.
- Step Delay (milliseconds): Thời gian chờ giữa việc thực hiện các bước kiểm thử.
- Setup step timeout (milliseconds): Thời gian chờ trước khi thực hiện bước ban đầu (Base URL) của bài kiểm thử.
- Visual Validation: Các thông số Xác thực Hình ảnh (dưới đây) chỉ được hiển thị cho các dự án mà tích hợp với Applitools đã được định nghĩa.
- Add Environment: Thêm các môi trường bổ sung (trình duyệt, độ phân giải, mô phỏng thiết bị, v.v.) để chạy bài kiểm thử của người dùng.
- Match level: Thay đổi phương pháp so sánh giữa bản gốc và hiển thị của phần tử của người dùng.
- Enable RCA: Bật phân tích nguyên nhân gây ra sự không khớp.
- Ignore displacement diffs: Bỏ qua sự khác biệt hình ảnh do các phần tử đã di chuyển trên trang, nhưng không thay đổi theo cách cơ bản.
Khi người dùng tạo một bài kiểm thử mới, cấu hình kiểm thử mặc định sẽ tự động được áp dụng Người dùngcó thể thay đổi cấu hình kiểm thử bằng một trong các phương pháp sau:
Thêm xác minh kết quả cho bài kiểm thử
Khi kiểm thử một ứng dụng, chỉ biết rằng các bước chạy hiệu quả là không đủ.
Trong nhiều trường hợp, người dùng cũng muốn xác minh rằng kết quả mong đợi đã được tạo ra bởi bước kiểm thử Ví dụ, sau khi đăng nhập, người dùng có thể muốn xác minh rằng tên người dùng chính xác được hiển thị trong tiêu đề trang.
Testim cung cấp sẵn cho người dùng các loại xác minh sau:
- Page Accessibility Validation: Xác minh tính khả dụng của trang.
- Element Accessibility Validation: Xác minh tính khả dụng của phần tử trang.
- Validate element visible: Xác minh rằng phần tử mong đợi là hiển thị.
- Validate element not visible: Xác minh rằng một phần tử không hiển thị.
- Validate element text: Xác minh rằng văn bản mong đợi là hiển thị.
- Add custom validation: Tạo các xác minh phức tạp bằng cách sử dụng mã tùy chỉnh.
- Validate using custom code: Tạo một bước kiểm thử với mã tùy chỉnh.
- Validate download: Xác minh rằng nội dung tải xuống là như mong đợi.
- Validate email: Xác minh luồng đăng ký và đăng nhập.
- Validate CSS property: Xác minh bất kỳ thuộc tính CSS của một phần tử.
- Validate HTML attribute: Xác minh bất kỳ thuộc tính HTML nào trong ứng dụng của người dùng.
- Validate checkbox: Xác minh xem một hộp kiểm đã được chọn không.
- Validate radio button: Xác minh xem một nút radio đã được không.
- Validate API: Xác minh giá trị phản hồi API so với các phần tử trong giao diện người dùng.
- Visual validation (element, viewport, full-page): Xác minh chi tiết hình ảnh xuống cấp độ pixel.
- Add network validation: Xác minh rằng các yêu cầu mạng đã được thực hiện như mong đợi.
- Add CLI validations and actions: Thực thi các tập lệnh node.js từ bên trong các bước kiểm thử của người dùng.
- File upload step validation: Ghi lại tương tác tải tệp.
- MonboDB validation: Xác minh MongoDB bằng một hành động CLI.
- My SQL validation: Xác minh MySQL bằng một hành động CLI và truy vấn SQL
Khi người dùng thêm một bước xác thực, nó sẽ được hiển thị trong trình soạn thảo như một bước mới trong bài kiểm thử của họ, được chỉ dẫn bằng một biểu tượng ở góc trên bên trái của bước kiểm thử Mỗi loại bước xác thực được biểu diễn bằng một biểu tượng khác nhau Dưới đây là một số ví dụ về các biểu tượng hiển thị cho các loại xác thực khác nhau.
Khi người dùng chạy bài kiểm thử, mỗi bước xác thực sẽ được xác định là đạt(passed) hoặc không đạt (failed) dựa trên việc xác nhận xem liệu tiêu chí xác thực đã được đáp ứng hay chưa.
Nếu bước xác thực đạt, biểu tượng ở góc trên bên trái của bước kiểm thử sẽ hiển thị màu xanh lá cây, và có một thông báo trong bảng Thuộc tính cho biết rằng nó đã thông qua.
Nếu một bước xác thực không đạt, biểu tượng ở góc trên bên trái của bước kiểm thử sẽ chuyển sang màu đỏ, và có một thông báo trong bảng Thuộc tính cho biết rằng bước đó không thông qua Ngoài ra, một thanh màu đỏ sẽ xuất hiện ở đầu Trình soạn thảo để chỉ ra rằng bước đó không đạt Thanh màu đỏ hiển thị các giá trị mong đợi và thực tế cho bước không đạt Testim cũng cung cấp một liên kết xem lỗi có thể được nhấp vào để mở thông báo lỗi đầy đủ.
3 Kiểm thử dựa trên dữ liệu
Kiểm thử dựa trên dữ liệu cho phép người dùng xác định các tham số trong bài kiểm thử của mình và sử dụng chúng trong bất kỳ bước nào Người dùng có thể xác định nhiều tập dữ liệu có thứ tự và chạy kiểm thử cho mỗi tập dữ liệu riêng biệt bằng cách sử dụng Testim CLI Khi sử dụng các tập dữ liệu, dữ liệu trước đó sẽ không được tự động xóa khỏi bài kiểm thử cho đến khi được loại bỏ một cách rõ ràng.
Các trường hợp sử dụng phổ biến cho Kiểm thử Dựa trên Dữ liệu:
- Chạy kiểm thử đăng ký với dữ liệu khác nhau: Khi người dùng muốn kiểm thử trang đăng ký của mình với tên người dùng và mật khẩu khác nhau, người dùng có thể sử dụng dữ liệu kiểm thử (Test data) và các điều kiện (Conditions) để xây dựng một bài kiểm thử trong Testim sẽ chạy nhiều lần với các tên người dùng và mật khẩu khác nhau.
- Đọc hoặc chèn dữ liệu từ cơ sở dữ liệu: Khi người dùng muốn chèn dữ liệu vào cơ sở dữ liệu và sau đó chuyển dữ liệu được tạo ra bởi bài kiểm thử đó Để tạo ra dữ liệu, họ có thể sử dụng các Testim CLI hooks (tệp cấu hình bao gồm các hook có thể được sử dụng để thiết lập backend ứng dụng và xác định các tham số trước hoặc sau mỗi bài kiểm thử hoặc tất cả các bài kiểm thử) và sau khi việc chèn dữ liệu thành công được hoàn tất, người dùng có thể chuyển dữ liệu đó vào bài kiểm thử của họ.
Dữ liệu kiểm thử có thể được người dùng thêm vào một bài kiểm thử theo ba cách: thông qua trình biên tập trực quan (UI), thông qua tệp cấu hình (Config file) và thông qua Params Files.
3.1 Thêm dữ liệu kiểm thử thông qua UI
Thông qua trình biên tập trực quan (UI): Dữ liệu kiểm thử được thêm thông qua thuộc tính dữ liệu kiểm thử (Test Data) trong bước thiết lập (Setup) Một bộ dữ liệu được xác định trong JavaScript và nhiều bộ dữ liệu được sắp xếp được xác định bằng một biểu thức mảng đối tượng JavaScript
Testim cùng cho phép người dùng có thể tải lên dữ liệu kiểm thử bằng cách sử dụng một tệp CSV hoặc Excel Sau khi tệp được tải lên, dữ liệu của nó sẽ được thêm vào như là dữ liệu kiểm thử theo cấu trúc sau:
- Hàng đầu tiên: Tên tham số (Tên khóa)- Các hàng liên tiếp: Mỗi hàng được chuyển đổi thành một tập dữ liệu duy
Khi cập nhật dữ liệu kiểm thử trong trình soạn thảo trực quan, người dùng có thể quay lại dữ liệu kiểm thử đã lưu trước đó thông qua lịch sử phiên bản Khi thay đổi dữ liệu kiểm thử trong một nhánh, trong quá trình hợp nhất, họ sẽ cần quyết định xem muốn áp dụng thay đổi trong quá trình hợp nhất hay không.
3.2 Thêm dữ liệu kiểm thử thông qua tệp cấu hình
Tệp cấu hình (Config file) là một tệp JS thông thường chứa tất cả các thông số cần thiết để chạy các bài kiểm thử, trong khi thực thi các Hooks Thông qua một trong những hook này (ví dụ, beforeSuite), có thể thêm dữ liệu kiểm thử vào toàn bộ thực thi hoặc vào các bài kiểm thử cụ thể Tập dữ liệu này có thể ghi đè lên tập dữ liệu đã được xác định trong trình biên tập trực quan Bài kiểm thử có thể được chạy bằng cách sử dụng CLI, trong khi thêm một cờ để sử dụng tập tin cấu hình trong lần chạy này.
Tùy chọn tệp cấu hình cung cấp tính linh hoạt và kiểm soát cụ thể phạm vi dữ liệu được sử dụng:
- Cấp độ thực thi (Execution level): Đặt các tham số dữ liệu sau phần return trong các hooks cấu hình sẽ chạy cùng dữ liệu qua tất cả các bài kiểm thử được bao gồm trong quá trình thực thi.
- Cấp độ bài kiểm thử (Test level): Bên trong phần return, người dùng có thể thêm một đối tượng overrideTestData, cho phép họ thêm dữ liệu vào các bài kiểm thử cụ thể bằng tên bài kiểm thử, bao gồm việc chỉ định một tham số trên một bài kiểm thử và một tham số khác trên một bài kiểm thử khác trong cùng một quá trình thực thi.
Xử lí các hành động UI
Khi tạo một bài kiểm thử, sẽ có các bước yêu cầu tương tác với giao diện người dùng (UI) Không phải tất cả các hành động UI được tạo ra đều giống nhau Các trang web ngày càng thêm vào những khả năng mới đòi hỏi các công cụ ghi và phát lại phải đối mặt với các thách thức đó Ghi lại các bước nhấp chuột và nhập văn bản vào các trường là dễ dàng, nhưng các hành động UI khác có thể khó theo dõi hơn.
Tính năng này được phát triển để đảm bảo rằng các hành động UI phức tạp hơn như tự cuộn và kéo thả được ghi lại và đại diện đúng cách trong trình chỉnh sửa kiểm thử trực quan.
Ngoài các hành động UI cơ bản đã được trình bày trong phần Ghi lại một bài kiểm thử, Testim còn cung cấp thêm một số hành động UI tiên tiến hơn để người dùng có thể thêm vào bài kiểm thử của mình:
- Auto scroll: Kiểm soát xem liệu bài kiểm thử có tự động cuộn đến một phần tử trang nếu phần tử ban đầu nằm ngoài khung nhìn hay không Mặc định, Testim sẽ tự động cuộn đến các phần tử trang trong bài kiểm thử nếu chúng nằm ngoài khung nhìn Điều này tăng tính ổn định của bài kiểm thử của người dùng và giảm đáng kể các lỗi liên quan đến việc cuộn.
- Drag & drop step: Thêm một bước vào bài kiểm thử của người dùng để ghi lại hành động "kéo và thả", chẳng hạn như người dùng kéo một hình ảnh đến một phần tải lên hoặc thêm một phần tử vào không gian làm việc trong một trình chỉnh sửa hình ảnh Các tương tác kéo thả sẽ được ghi tự động khi ghi lại một bài kiểm thử Các phần tử không thể được kéo và thả vào giữa các tab hoặc các frame.
- Hover step: Thêm một bước vào bài kiểm thử của người dùng để ghi lại hành động "hover", chẳng hạn như người dùng di chuột qua một menu, gợi ý hoặc nút Thêm một hover step để kiểm tra hành vi của một phần tử có tương tác "hover" hay không Ví dụ: một menu chỉ mở ra khi di chuột qua, một gợi ý hoặc xuất hiện các phần tử mới (nút, giải thích trên hình ảnh v.v.) Hành động này không thể được ghi lại tự động và cần được thêm vào trong trình chỉnh sửa (Editor).
- Navigation step: Thêm một bước vào bài kiểm thử của người dùng khi họ muốn bài kiểm thử điều hướng đến một trang khác Nếu người dùng không muốn việc điều hướng này ghi đè lên tab hiện tại, họ có thể chọn tùy chọn "mở URL trong tab mới".
- Refresh page: Thêm một bước vào bài kiểm thử của người dùng khi họ muốn bài kiểm thử làm mới trang Một số trang web yêu cầu người dùng làm mới để xem các cập nhật trên trang Hành động này gửi một yêu cầu mới để xem trang và phiên bản hiển thị mới nhất của nó trên trình duyệt.
Bước này sẽ chờ đợi cho đến khi trình duyệt tải xong nội dung HTML,CSS và script trước khi chuyển sang bước tiếp theo
KIỂM THỬ MOBILE CHO IOS VÀ ANDROID
Giới thiệu về kiểm thử di động trên Testim
Kiểm thử trên điện thoại di động có thể được Testim ghi lại và chạy trên cả các thiết bị iOS và Android vật lý và ảo Việc ghi lại có thể thực hiện trên máy tính chạy Windows, Mac hoặc Linux bằng cách sử dụng trình duyệt web Khi người dùng ghi lại một kiểm thử trên điện thoại di động, Testim sẽ chuyển đổi mỗi hành động thành một bước kiểm thử được hiển thị trên màn hình Trình soạn thảo Trực quan của Testim Tuy nhiên, người dùng có thể thêm các bước bổ sung vào kiểm thử bằng cách dùng công cụ Editing Tests Các kiểm thử được thêm vào thư viện kiểm thử (Test Library) và có thể chạy bất kỳ lúc nào.
Có hai cách để ghi lại một kiểm thử di động:
- Ghi lại một Kiểm thử di động dùng thiết bị địa phương: các kiểm thử trên điện thoại di động địa phương có thể được ghi lại và chạy trên cả các thiết bị iOS và Android vật lý và ảo trên máy tính.
- Ghi lại một kiểm thử di động dùng VMG: Virtual Mobile Grid
(VGM) có thể được sử dụng để ghi lại các kiểm thử cũng như chạy chúng trên nhiều loại máy mô phỏng iOS và trình giả lập Android.
Tính năng này được Testim bao gồm trong giấy phép dành cho khách hàng trả phí và không yêu cầu bất kỳ tích hợp đặc biệt nào.
Lưu ý: Đối với iOS, các kiểm thử được ghi lại trên thiết bị ảo, như các thiết bị ảo được cung cấp trên Virtual Mobile Grid, chỉ có thể chạy trên các thiết bị ảo Và các kiểm thử được ghi lại trên các thiết bị vật lý chỉ có thể chạy trên các thiết bị vật lý.
Giao diện kiểm thử di động trên Testim
Giao diện trình chỉnh sửa kiểm thử di động hiển thị bài kiểm thử di động hiện tại và trình xem ứng dụng đang thử nghiệm (AUT - Application Under Test).
Giao diện trình chỉnh sửa kiểm thử di động có các phần sau, như được hiển thị trong hình ảnh bên dưới bên dưới:
1 Thông tin thiết bị và ứng dụng di động: hiển thị thông tin về thiết bị vật lý hoặc ảo và ứng dụng di động được sử dụng cho bài kiểm thử.
2 Các bước kiểm thử di động: hiển thị các bước đã ghi được cho bài kiểm thử di động.
3 Bảng thao tác kiểm thử di động: hiển thị các thao tác người dùng có thể thực hiện để tương tác với bài kiểm thử di động của họ.
4 Bộ xem ứng dụng dưới kiểm thử (AUT): một cửa sổ xem trước cho phép người dùng tương tác với thiết bị vật lý hoặc ảo được kết nối với Testim.
Kiểm thử di động sử dụng thiết bị cục bộ
Trước khi có thể bắt đầu Kiểm thử di động sử dụng thiết bị cục bộ trên Testim, người dùng cần đảm bảo các yêu cầu sau:
- Một dự án cần kiểm thử trên thiết bị di động: kiểm thử di động yêu cầu một dự án kiểm thử trên thiết bị di động riêng biệt so với dự án kiểm thử trên web Mỗi dự án được gán cho một hệ điều hành di động duy nhất Một dự án riêng biệt là cần thiết để tạo/chạy các kiểm thử trên các hệ điều hành khác nhau Ví dụ, người dùng không thể tạo một kiểm thử cho thiết bị iOS nếu dự án đã được tạo cho Android
- Tricentis Mobile Agent: để tạo và chạy các kiểm thử trên Testim, người dùng cần cài đặt Tricentis Mobile Agent (TMA) và cấu hình thiết bị Agent này quản lý các thiết bị vật lý được kết nối vào máy làm việc của người dùng (ví dụ: điện thoại hoặc máy tính bảng) và các trình giả lập/trình giả mô phỏng, chạy trên máy làm việc của họ
- Ứng dụng để kiểm thử: với Android có thể là Java hoặc Kotlin, với iOS có thể là Objective-C hoặc Swift
Trước khi có thể thực hiện kết nối các thiết bị với Testim, người dùng cần phải đáp ứng một số yêu cầu:
- Đối với kết nối thiết bị Android vật lí: Tricentis Mobile Agent đã được cài đặt và đang chạy trên máy tính của người dùng và thiết bị đang ở chế độ Debug Sau đó thực hiện theo các bước trong hướng dẫn của Testim để có thể kết nối thiết bị Android vật lí với hệ thống kiểm thử.
- Đối với kết nối thiết bị iOS vật lí: Tricentis Mobile Agent đã được cài đặt và đang chạy trên máy tính của người dùng và phải có một tài khoản nhà phát triển Apple Sau đó thực hiện theo các bước trong bản hướng dẫn của Testim để có thể kết nối thiết bị iOS vật lí với hệ thống kiểm thử.
- Đối với kết nối thiết bị Android ảo: Tricentis Mobile Agent đã được cài đặt và đang chạy trên máy tính của người dùng và phải có một trình giả lập/IDE Android, như Android Studio Sau đó thực hiện theo các bước trong hướng dẫn của Testim để có thể kết nối thiết bị Android ảo với hệ thống kiểm thử.
- Đối với kết nối thiết bị iOS ảo: Tricentis Mobile Agent đã được cài đặt và đang chạy trên máy tính của người dùng và phải có một trình giả lập/IDE iOS, như Xcode (chỉ được hỗ trợ trên hệ điều hành Mac) Sau đó thực hiện theo các bước trong hướng dẫn của Testim để có thể kết nối thiết bị Android ảo với hệ thống kiểm thử.
Nếu thỏa mãn các yêu cầu, khi kết nối thành công, thiết bị sẽ được thêm vào danh sách thiết bị đã kết nối trên Testim.
3.2 Thêm ứng dụng kiểm thử
Khi tạo một kiểm thử, người dùng sẽ cần chọn ứng dụng nào sẽ được sử dụng trong kiểm thử đó Mỗi kiểm thử chỉ có thể bao gồm một ứng dụng Có ba cách để sử dụng các ứng dụng để kiểm thử:
- Ứng dụng trên thiết bị cục bộ: Người có thể sử dụng một trong các ứng dụng trên thiết bị kết nối của họ (thiết bị vật lý hoặc ảo) Các ứng dụng này sẽ sẵn có cho kiểm thử khi thiết bị được kết nối với TMA.
- Thư viện ứng dụng di động: Người dùng có thể sử dụng một ứng dụng hiện có trong Thư viện ứng dụng di động Trong trường hợp này, người dùng khác có thể sử dụng một ứng dụng chung để kiểm thử mà không cần phải cài đặt trước trên thiết bị cục bộ của họ Người dùng có thể thêm ứng dụng trước khi ghi lại kiểm thử.
- Tải lên ứng dụng: Người dùng có thể tải lên ứng dụng để thực hiện kiếm thử trên ứng dụng đó.
Nếu người dùng muốn ghi lại một kiểm thử bằng cách sử dụng một thiết bị ảo,họ phải đảm bảo rằng ứng dụng đã được biên soạn cho các thiết bị ảo (.app) Ngược lại, nếu người dùng muốn ghi lại bằng cách sử dụng một thiết bị vật lý, họ phải đảm
3.3 Ghi lại một bài kiểm thử ứng dụng
Người dùng có thể ghi lại một kiểm thử trên một thiết bị di động để chạy tự động sau đó Trong quá trình kiểm thử, người dùng chỉ có thể ghi lại một ứng dụng duy nhất từ một thiết bị Tuy nhiên, khi phát lại kiểm thử, họ sẽ có thể chạy cùng một kiểm thử trên một thiết bị khác so với thiết bị được sử dụng trong quá trình ghi lại.
Mỗi kiểm thử chỉ có thể tương tác với một ứng dụng duy nhất Nếu người dùng đang ghi lại một kiểm thử trên một thiết bị mà không có ứng dụng được chọn từ thư viện ứng dụng di động (Mobile Apps Library) đã được cài đặt, ứng dụng sẽ tự động được cài đặt trên thiết bị cục bộ Khi thay đổi thiết bị sau khi đã ghi lại, ứng dụng được chọn phải được cài đặt trên thiết bị để thực hiện ghi lại hoặc phát lại thêm.
Một AUT (Application Under Test) Mirroring Viewer được hiển thị với ứng dụng được mở trong quá trình kiểm thử Trình xem cho phép người dùng xem thiết bị và tương tác với ứng dụng đang được kiểm thử, trong khi Testim ghi lại các hành động Các bước kiểm thử chỉ được ghi lại bằng cách thực hiện hành động trên AUT Mirroring Viewer Việc thực hiện hành động trực tiếp trên thiết bị sẽ không ghi lại các bước kiểm thử.
Lưu ý, khi ghi lại một bản kiểm thử, người dùng nên cố gắng chọn các phần tử văn bản và tránh các khung ngoài (outer frames), hình ảnh và biểu tượng để đạt được tính ổn định tốt hơn.
Kiểm thử di động sử dụng Virtual Mobile Grid (VMG)
Virtual Mobile Grid có thể được sử dụng để ghi lại các bài kiểm thử cũng như chạy chúng trên một loạt rộng lớn các bộ mô phỏng iOS và các trình giả lập Android.
Nó được kết nối với thư viện ứng dụng di động của người dùng Điều này có nghĩa là nếu bài kiểm thử mà người dùng đang chạy sử dụng một ứng dụng di động, ứng dụng này cần được thêm vào thư viện ứng dụng di động trước khi chạy bài kiểm thử trên Virtual Mobile Grid.
Virtual Mobile Grid không đòi hỏi bất kỳ tích hợp đặc biệt nào Nó được Testim bao gồm trong giấy phép dành cho các khách hàng trả phí Tuy nhiên, người dùng giấy phép cộng đồng có thể đăng ký dùng thử miễn phí dưới dạng chủ công ty hoặc chủ dự án Khi bắt đầu thử nghiệm miễn phí, Virtual Mobile Grisẽ ngay lập tức có sẵn dưới quản lý thiết bị Trong thời gian dùng thử miễn phí, một loạt các thiết bị ảo (Android và iOS) sẽ có sẵn để người dùng sử dụng.
4.1 Các yêu cầu đối với người dùng
Trước khi có thể bắt đầu Kiểm thử di động sử dụng Virtual Mobile Grid trên Testim, người dùng cần đảm bảo các yêu cầu sau:
- Một dự án cần kiểm thử trên thiết bị di động: kiểm thử di động yêu cầu một dự án kiểm thử trên thiết bị di động riêng biệt so với dự án kiểm thử trên web Mỗi dự án được gán cho một hệ điều hành di động duy nhất Một dự án riêng biệt là cần thiết để tạo/chạy các kiểm thử trên các hệ điều hành khác nhau Ví dụ, người dùng không thể tạo một kiểm thử cho thiết bị iOS nếu dự án đã được tạo cho Android
- Virtual Mobile Grid: VMG đã được tích hợp trong phiên bản Testim trả phí và không đòi hỏi bất kỳ tích hợp đặc biệt nào Tuy nhiên, người dùng có thể dùng thử miễn phí Trong thời gian dùng thử, một loạt các thiết bị ảo (Android và iOS) sẽ có sẵn để người dùng sử dụng.
- Ứng dụng Native: trong phiên bản hiện tại chỉ hỗ trợ ứng dụng native Đối với các thiết bị Android - ứng dụng Java hoặc Kotlin Đối với các thiết bị iOS - ứng dụng Objective C hoặc Swift.
4.2 Ghi lại một bài kiểm thử ứng dụng
Mỗi kiểm thử chỉ có thể tương tác với một ứng dụng duy nhất Nếu người dùng đang ghi lại một kiểm thử trên một thiết bị mà không có ứng dụng được chọn từ thư viện ứng dụng di động (Mobile Apps Library) đã được cài đặt, ứng dụng sẽ tự động được cài đặt trên thiết bị cục bộ Khi thay đổi thiết bị sau khi đã ghi lại, ứng dụng được chọn phải được cài đặt trên thiết bị để thực hiện ghi lại hoặc phát lại thêm.
Một AUT (Application Under Test) Mirroring Viewer được hiển thị với ứng dụng được mở trong quá trình kiểm thử Trình xem cho phép người dùng xem thiết bị và tương tác với ứng dụng đang được kiểm thử, trong khi Testim ghi lại các hành động Các bước kiểm thử chỉ được ghi lại bằng cách thực hiện hành động trên AUT Mirroring Viewer Việc thực hiện hành động trực tiếp trên
Lưu ý, khi ghi lại một bản kiểm thử, người dùng nên cố gắng chọn các phần tử văn bản và tránh các khung ngoài (outer frames), hình ảnh và biểu tượng để đạt được tính ổn định tốt hơn.
Các hành động trên di động được hỗ trợ
Trong quá trình ghi lại kiểm thử, AUT Viewer không chỉ là công cụ hữu ích mà còn là người đồng hành đáng tin cậy của các nhà phát triển và kiểm thử Với sự hỗ trợ đa dạng, AUT Viewer cung cấp một loạt các hành động được hỗ trợ, giúp người dùng tương tác với ứng dụng được kiểm thử một cách hiệu quả và linh hoạt Điều này giúp tạo điều kiện thuận lợi cho việc ghi lại các bước thực thi của người dùng và xây dựng các kịch bản kiểm thử một cách chi tiết và tỉ mỉ.
- Chạm: mô phỏng người dùng chạm vào một phần tử trên màn hình thiết bị di động Để tạo bước này, nhấp chuột vào màn hình AUT Viewer trong quá trình ghi lại.
- Kéo dọc: mô phỏng người dùng nhấn và kéo ngón tay qua màn hình theo chiều dọc Để tạo bước này, nhấp chuột, kéo con trỏ theo hướng dọc và thả nút chuột.
- Kéo ngang: mô phỏng người dùng nhấn và kéo ngón tay qua màn hình theo chiều ngang Để tạo bước này, nhấp chuột, kéo con trỏ theo hướng ngang và thả nút chuột.
- Đặt văn bản tùy chỉnh: mô phỏng người dùng nhập văn bản vào một trường văn bản trong ứng dụng Khi di chuột qua một phần tử văn bản,phần tử sẽ được làm nổi bật màu đỏ Nhấp vào phần tử văn bản sẽ mở một cửa sổ đặt văn bản tùy chỉnh.
Minh họa thao tác Đặt văn bản tùy chỉnh
Các hành động xác định trước được hỗ trợ
Dưới đây là danh sách các hành động mà hiện tại đang được hỗ trợ khi thêm các bước vào một cách thủ công trong quá trình hoặc sau khi hoàn thành quá trình ghi lại bài kiểm thử, một phần của tính năng mạnh mẽ của Testim trong việc tạo và tùy chỉnh các bài kiểm thử một cách linh hoạt và tiện lợi:
- Xác thực email: Testim cung cấp một dịch vụ email tích hợp cung cấp địa chỉ email vĩnh viễn và tạm thời Bước Xác thực email có thể được sử dụng với các địa chỉ email này để kiểm tra luồng đăng ký hoặc đăng nhập ứng dụng của người dùng.
- Xác thực sự có mặt của phần tử: Xác thực sự có mặt của phần tử cho phép người dùng kiểm tra xem phần tử của họ có tồn tại và có hiển thị trên trang không Nếu phần tử của họ chứa một hình ảnh hoặc văn bản biến đổi, xác thực vẫn sẽ hoạt động Xác thực này xác nhận rằng phần tử tồn tại và hiển thị, nhưng không kiểm tra nội dung cụ thể của nó.
- Xác thực văn bản của phần tử: Xác thực văn bản của phần tử tương tự như xác thực sự hiện của phần tử trong việc đặt bước phụ thuộc vào sự tồn tại của một phần tử cụ thể Tuy nhiên, cho xác thực văn bản của phần tử, người dùng cũng chỉ định một giá trị văn bản cụ thể phải xuất hiện trong phần tử được chỉ định.
- Chờ phần tử hiển thị: Trong quá trình kiểm thử, việc đảm bảo rằng các phần tử trên trang web xuất hiện đúng lúc và đúng vị trí là một phần quan trọng để đảm bảo tính ổn định và chính xác của bài kiểm thử Để thực hiện điều này, người dùng có thể sử dụng chức năng này để chờ đợi phần tử của người dùng xuất hiện trên trang.
- Chờ văn bản phần tử: Sử dụng chờ văn bản phần tử để đảm bảo rằng một văn bản cụ thể xuất hiện trước khi tiếp tục với bài kiểm thử.
- Chờ: Trong quá trình thực hiện các bài kiểm thử tự động, việc đảm bảo rằng các bước được thực hiện theo đúng thứ tự và với đủ thời gian giữa chúng là rất quan trọng Tính năng này cho phép bài kiểm thử chờ một khoảng thời gian giữa các bước.
- Thêm bước trích xuất giá trị: Cho phép người dùng sao chép các giá trị trực tiếp từ ứng dụng của họ để sử dụng trong các bước sau.
- Thêm bước đặt văn bản: Tính năng này giúp thêm một văn bản cụ thể vào phần tử mục tiêu được chọn.
- Xác thực mã: Thường được sử dụng để điền các phần tử xác thực mã, chẳng hạn như một phần tử mã một lần Có thể thêm độ trễ giữa các ký tự.
- Tạo địa chỉ email: Có thể tạo một địa chỉ email ngẫu nhiên mới để sử dụng mỗi khi người dùng chạy một bài kiểm thử, ví dụ để kiểm tra luồng đăng ký nhiều lần với một người dùng mới mỗi lần.
- Thêm hành động CLI: Thực thi các kịch bản Node.js tùy chỉnh trong môi trường CLI của người dùng.
- Thêm hành động API: được sử dụng khi người dùng muốn nhận dữ liệu được trả về từ một cuộc gọi API Họ có thể sử dụng dữ liệu này chỉ để kiểm tra rằng nó được trả về.
- Tạo giá trị ngẫu nhiên: Tạo giá trị ngẫu nhiên là quy trình sinh ra các giá trị ngẫu nhiên nhằm mục đích kiểm thử dữ liệu động Trong quá trình kiểm thử, việc tạo ra các giá trị ngẫu nhiên giúp mang lại tính đa dạng và thử nghiệm tốt hơn cho các tình huống khác nhau Bằng cách này, chúng ta có thể kiểm tra tính ổn định và khả năng xử lý của ứng dụng khi đối mặt với dữ liệu đầu vào đa dạng và phức tạp.
- Tạo ngày: Tạo ra một ngày theo các thuộc tính được xác định trước.
- Đặt lại ứng dụng: Trong Android, bước này đóng ứng dụng, xóa bộ nhớ cache và sau đó khởi động lại ứng dụng Trong iOS, bước này đóng và khởi động lại ứng dụng (không xóa bộ nhớ cache) Bước này thường được sử dụng để đặt lại ứng dụng và xóa bộ nhớ cache trước khi chạy lần tiếp theo.
- Quay lại: Giúp tạo ra một bước nút Quay lại, gửi lệnh quay lại đến thiết bị Tính năng này chỉ hỗ trợ trong Android.
- Trang chủ: Tạo ra một bước nút Trang chủ, gửi lệnh trang chủ đến thiết bị.
- Cuộn đến văn bản phần tử: Tự động cuộn đến động văn bản được chọn.
- Thực thi Execute Driver Script Step: Điều này cho phép người dùng chạy một kịch bản bằng cách sử dụng Appium 2.0 hoặc cao hơn để mở rộng các tính năng và xác nhận trong các bài kiểm thử của họ.
BẢO MẬT TRONG TESTIM
Tổng quan kiến trúc đám mây của Testim
Backend của Testim được lưu trữ trên các nhà cung cấp đám mây AWS và Azure Các máy chủ của Testim đang chạy trên nền tảng của Amazon AWS Các máy chủ chạy bên trong một Mạng riêng ảo AWS (VPC) với một nhóm bảo mật độc lập cho mỗi tài nguyên và một mạng con riêng biệt Các cơ sở dữ liệu Mongo, Redis và MySQL không được công khai Giao tiếp giữa các máy chủ Testim và các máy chủ Mongo được thực hiện qua SSL, và các ổ đĩa dữ liệu được mã hóa (mã hóa dữ liệu ở trạng thái lưu trữ).
Dữ liệu thô (hình ảnh, kết quả vị trí kiểm thử, v.v.) được lưu trữ trên Azure với tên được tạo ngẫu nhiên GUID Cơ chế lập lịch của Testim chạy trên một cụmKubernetes Giao tiếp giữa các máy chủ Testim và Lưu trữ Azure và Kubernetes được mã hóa.
Kiến trúc đám mây của Testim
Bảo mật trong ghi/phát các bài kiểm thử
Chức năng Ghi/phát trên Testim được cung cấp bởi tiện ích mở rộng Google Chrome của Testim Tiện ích mở rộng được điều khiển từ bảng điều khiển của Testim bởi một người dùng đã xác thực Tiện ích mở rộng được thiết kế để đáp ứng Chính sách Bảo mật Nội dung (CSP) của Google, hạn chế các hành động và tài nguyên mà tiện ích mở rộng yêu cầu chỉ đến những tài nguyên trực tiếp liên quan đến ghi/phát của Testim.
Tất cả dữ liệu được ghi lại được lưu trữ trên dịch vụ dữ liệu an toàn của Testim và được truyền qua kết nối an toàn Tất cả các bài kiểm thử và dữ liệu được tạo ra từ ghi/phát chỉ có sẵn cho các người dùng đã xác thực thông qua bảng điều khiển.
Trạng thái mặc định của tiện ích mở rộng Google Chrome của Testim được đặt là không hoạt động Nó không bao giờ thu thập hoặc theo dõi bất kỳ hoạt động nào được thực hiện bởi người dùng trong trình duyệt Chrome Khi người dùng bắt đầu một bản rộng sẽ bắt đầu thu thập dữ liệu đại diện cho các hành động của người dùng (nhấp chuột, nhập văn bản, điều hướng, v.v.).
Bản ghi luôn được giới hạn trong tab được chọn và các tab con của nó (các tab khác mở từ tab được chọn hoặc các tab đó mở, đệ quy, từ chúng) và không bao giờ ảnh hưởng đến các tab hoặc cửa sổ trình duyệt khác.
2.3 Cô lập trình phát lại
Quá trình phát lại bài kiểm thử được thực hiện bằng cách sử dụng dữ liệu được tạo ra từ quá trình ghi Testim sẽ không bao giờ khởi xướng bất kỳ hành động hoặc giao tiếp nào ngoài những hành động được ghi lại bởi người dùng Tất cả dữ liệu kiểm thử được giới hạn trong miền được sử dụng trong quá trình ghi (URL cơ sở), và chúng sẽ không bao giờ được sử dụng trên các miền khác nếu không được người dùng chọn một cách nghiêm ngặt khi chạy một bài kiểm thử.
Bảo mật trong lưu trữ dữ liệu
Dữ liệu kiểm thử và các dữ liệu cá nhân khác không bao giờ được lưu trữ trên máy trình duyệt Chúng tồn tại trong bộ nhớ RAM trên trình duyệt được kiểm thử và được gửi đến máy khách qua một kết nối an toàn Khi dữ liệu tạm thời được lưu trữ như một phần của dịch vụ kiểm thử, lưu trữ được thực hiện trong một vị trí trên đám mây an toàn, và giao tiếp qua lớp bảo mật tầng giao vận (TLS).
Lịch sử kiểm thử được lưu trữ trong một cơ sở dữ liệu trên đám mây an toàn Cơ chế truy cập được mã hóa và do đó chỉ có thể được truy cập bởi các người dùng được ủy quyền thông qua tài khoản Testim của họ.
Tất cả các sản phẩm của Testim tạo ra các nhật ký sử dụng được sử dụng cho mục đích phân tích và giám sát (ví dụ: báo cáo lỗi) Các nhật ký sử dụng này không chứa dữ liệu cá nhân về người dùng hoặc bất kỳ dữ liệu duyệt web nào được tạo ra trong quá trình kiểm thử.
Tính năng Tự động hóa và chụp màn hình của Testim thu thập dữ liệu ảnh chụp màn hình và nhật ký bảng điều khiển trình duyệt Cả hai đều được tạo hoặc chụp trong các phiên kiểm thử và sau đó được hiển thị trên bảng điều khiển của người dùng.
Chức năng bắt lỗi của Testim tạo một bản ghi kịch bản Bắt đầu việc ghi video luôn được kích hoạt bởi hành động của người dùng, và người dùng sẽ được yêu cầu đồng ý ghi lại màn hình máy tính của họ khi bắt đầu ghi Testim sẽ không bao giờ tự động ghi lại một video của trình duyệt hoặc màn hình máy tính của người dùng.
Trong quá trình ghi, Testim liên tục hiển thị thông báo ghi lại để thông báo cho người dùng biết rằng màn hình máy tính của họ đang được ghi lại và phục vụ như một lời nhắc để tắt nó khi hoàn thành Video được tạo ra được gửi đến lưu trữ đám mây của Testim qua một kết nối an toàn và chỉ có thể được xem bởi người dùng và bất kỳ thành viên dự án được ủy quyền nào khác thông qua bảng điều khiển.
Chính sách đám mây của Testim
Tất cả các dịch vụ đám mây của Testim đều được truy cập qua một kết nối an toàn (HTTPS) và được xác thực để xác minh danh tính của người dùng truy cập dịch vụ.
4.1 Testim Grid - Đám mây công cộng
Testim Grid dựa trên Selenium trong một cấu hình đám mây công cộng được xây dựng trên nền tảng Ubuntu LTS, một hệ điều hành nổi tiếng về tốc độ và bảo mật và triển khai trên dịch vụ đám mây AWS.
Ubuntu LTS được thiết kế để tập trung vào doanh nghiệp, được thử nghiệm kỹ lưỡng và cung cấp hệ thống kiểm soát truy cập bắt buộc (MAC) Testim chọn Ubuntu LTS cụ thể vì nó nhận các bản vá bảo mật và nâng cấp đều đặn, do đó người dùng có thể tin tưởng rằng nó sẽ duy trì được tính bảo mật trong thời gian dài.
Mỗi lần chạy kiểm thử trên Testim Grid đều được thực hiện trên một phiên duyệt mới và sạch sẽ, không có dữ liệu, trạng thái hoặc lưu trữ trước đó Mỗi phiên duyệt sẽ được kết thúc sau khi hoàn thành kiểm thử Tất cả dữ liệu được tạo ra cục bộ trong quá trình chạy kiểm thử, trong phiên duyệt, không được lưu trữ hoặc gửi đi đâu trong đám mây Testim hoặc bên ngoài Dữ liệu tồn tại chỉ trong thời gian tồn tại của phiên duyệt.
4.2 Testim Grid - Đám mây riêng tư
Testim Selenium Grid trong cấu hình đám mây riêng tư là một Testim Grid dành riêng cho một khách hàng duy nhất Grid được xây dựng trên nền tảng Ubuntu LTS và triển khai như một dịch vụ AWS tương tự như Testim Grid - Đám mây công cộng.
Ngoài các tính năng bảo mật được đề cập trong phần Testim Grid - Đám mây công cộng ở trên, trong một Testim Grid đám mây riêng tư, AWS VPC nơi Testim grid được triển khai kết nối với trung tâm dữ liệu của khách hàng bằng cách sử dụng một kết nối VPN riêng thông qua cổng VPN AWS hoặc kết nối VPC peer-to-peer, như được hiển thị trong sơ đồ bên dưới.
Testim Grid chỉ có thể được truy cập thông qua kết nối VPN AWS VPC NACL được cấu hình để giao tiếp (gửi/nhận lưu lượng) chỉ với trung tâm dữ liệu của khách hàng Điều này đã làm cho Testim Grid - Đám mây riêng tư được cô lập và an toàn khỏi mạng internet Testim lưu trữ kết quả kiểm thử trong môi trường sản xuất SaaS của Testim Tất cả giao tiếp đến các máy chủ đều qua TLS.
Testim Grid - Đám mây riêng tư
Chính sách mạng
Để đảm bảo rằng các lượt chạy kiểm thử của người dùng luôn được bảo mật, Testim sử dụng HTTPS mặc định Mỗi khi người dùng giao tiếp với Testim, họ sẽ được chuyển hướng thông qua một kết nối an toàn sử dụng HTTPS Nó sử dụng một bảo mật tầng giao vận (TLS), trước đây được biết đến với tên gọi secure sockets layer (SSL), và đảm bảo rằng giao tiếp giữa trình duyệt của người dùng và các máy chủ của Testim sẽ được bảo vệ.
Trong những trường hợp cần tương tác người dùng phong phú hoặc trải nghiệm thời gian thực, một kết nối hai chiều và liên tục với dịch vụ của Testim là cần thiết Để đạt được mục đích đó, Testim sử dụng WebSockets để thiết lập kết nối.
WebSockets cho phép tương tác mở rộng giữa trình duyệt của khách hàng và các máy chủ và thiết bị Để bảo vệ sự riêng tư của dữ liệu được truyền trong phiên kiểm thử, Testim chỉ sử dụng WSS WSS sử dụng SSL qua cổng 443 để truyền và do đó chỉ truyền dữ liệu được mã hóa.
Chính sách mã hóa
Testim sử dụng các thực hành mã hóa sau đây:
- Dữ liệu trong quá trình truyền, có nghĩa là mạng giữa máy khách và máy chủ được mã hóa (TLS).
- Mật khẩu được mã hóa bằng cách sử dụng hàm băm mật khẩu bcrypt.
- Dữ liệu ở trạng thái lưu trữ, có nghĩa là ổ đĩa được mã hóa.
SỬ DỤNG TESTIM KIỂM THỬ WEB CỤ THỂ
Chuẩn bị công cụ Testim
- Truy cập vào trang https://app.testim.io/ và đăng kí tài khoản - Đăng nhập bằng tài khoản vừa đăng kí sẽ truy cập được vào trang giao diện chính của Testim:
- Trên local, mở cmd và cài đặt gói Testim CLI: npm install -g @testim/testim-cli
Như vậy chúng ta đã chuẩn bị xong công cụ Testim với phiên bản 4.94.0.
Chuẩn bị dữ liệu kiểm thử
- Trang web kiểm thử: https://quizz.giainhanh.io/admin/auth/login - Tính năng cần kiểm thử: Tính năng đăng nhập và sự hiển thị tên người dùng sau khi thực hiện đăng nhập.
- Bộ dữ liệu kiểm thử:
Tiến hành kiểm thử
- Trong phần Editor của trang Testim, chọn button NEW TEST, đặt tên bài test là Demo123 và lưu lại
- Chọn button Setting, thêm Base URL là đường dẫn web cần kiểm thử
- Trong trang Setting, chọn mục Test Data và thêm dữ liệu Test đã chuẩn bị
- Nhấn button Start Record để tiến hành ghi bài kiểm thử, ta được 6 bước thao tác như hình:
3.2 Cài đặt các tham số và đặt xác minh cho bài kiểm thử
- Chọn cài đặt ở bước thao tác số 3, sửa trường Text to assign thành email
- Chọn cài đặt ở bước thao tác số 5, sửa trường Text to assign thành password
- Tại button hình dấu “+” sau bước thao tác số 6, chọn Testim predefined steps để thêm xác thực (kiểm thử xem sau khi đăng nhập có hiển thị đúng tên không) Chọn Validate element text, click vào phần tử html nơi hiển thị tên người dùng
- Khi đó bước số 7 (bước xác minh) sẽ được thêm vào bài kiểm thử
3.3 Chạy bài kiểm thử với bộ dữ liệu đã chuẩn bị
- Truy cập trang cài đặt trên Testim, vào phần CLI, chọn các tùy chọn như hình dưới đây:
- Sử dụng đoạn code trong phần SAMPLE COMMAND để chạy trên cmd (- Các test case sẽ lần lượt được chạy
- Ta có thể xem kết quả này trong tab Runs trên trang Testim
- Có thể xem lí do Failed các test:
SO SÁNH TESTIM VỚI CÁC CÔNG CỤ KHÁC
So sánh Testim với các công cụ kiểm thử tự động khác
Kỹ năng lập trình Yêu cầu ít kỹ năng lập trình Yêu cầu kỹ năng lập trình cao
Yêu cầu kỹ năng lập trình ở mức trung bình
Kỹ năng chọn phần tử
Không yêu cầu kỹ năng chọn phần tử
Yêu cầu kỹ năng chọn phần tử ở mức cao
Yêu cầu kỹ năng chọn phần tử ở mức trung bình
Tính dễ sử dụng Dễ sử dụng Khá khó để sử dụng Tương đối khó sử dụng
Ghi lại kiểm thử Có tính năng ghi lại bài kiểm thử Có tính năng ghi lại bài kiểm thử Có tính năng ghi lại bài kiểm thử
Trình chỉnh sửa trên web Có hỗ trợ Editor trên
Web Không hỗ trợ Không hỗ trợ
Có tính năng định vị thông minh dựa trên AI
Không hỗ trợ Không hỗ trợ
Kiểm thử API Có hỗ trợ kiểm thử
API Có hỗ trợ kiểm thử
API Có hỗ trợ kiểm thử
Nền tảng cộng tác tích hợp sẵn Có hỗ trợ Không hỗ trợ Không hỗ trợ
Giá cả Thương mại Mã nguồn mở Mã nguồn mở
So sánh Testim với các công cụ kiểm thử API khác
Kỹ năng lập trình Yêu cầu ít kỹ năng lập trình Yêu cầu kỹ năng lập trình ở mức trung bình Yêu cầu kỹ năng lập trình ở mức trung bình
Tính dễ sử dụng Dễ sử dụng Tính dễ sử dụng ở mức trung bình Tính dễ sử dụng ở mức trung bình
Trình chỉnh sửa trên web
Có hỗ trợ Editor trên Web Không hỗ trợ Không hỗ trợ
Nền tảng cộng tác tích hợp sẵn Có hỗ trợ Có hỗ trợ Không hỗ trợ
Giá cả Thương mại Mã nguồn mở Mã nguồn mở
So sánh Testim với công cụ khác cùng công ty
Tính năng sản phẩm Testim Tosca
Công cụ kiểm thử AI
Kiểm thử tự động không code
Kiểm thử đa trình duyệt
Quản lí các bản kiểm thử