Test Hook – Tùy biến Execution cho Bộ kiểm thử theo Business Flow [Part 3]
Ở phần 1 chúng ta đã cùng nhau tìm hiểu về Test Level và cách sử dụng Test Suite để quản lý Test script hiệu quả cho các Test Level thông qua một câu chuyện thể thao. Đến phần 2 chúng ta đã cùng nhau tìm hiểu về Test Hook và vòng đời thực thi của Test Suite. Và cũng trong phần này, chúng ta cũng đã áp dụng chúng vào việc tùy biến Execution cho Bộ kiểm thử chức năng. Tiếp nối phần 2, ở phần cuối này, Test Mentor sẽ giới thiệu các bạn cách áp dụng Test Hook vào việc tùy biến Execution cho Bộ kiểm thử theo business flow Các bạn có thể xem lại 2 phần trước theo link dưới đây.
- Phần 1: Test Suite – Công cụ quản lý kiểm thử cho các Test Level
- Phần 2: Test Hook – Tùy biến Execution cho Bộ kiểm thử Chức năng
Nội Dung Bài Viết
Tùy biến Execution cho Bộ kiểm thử theo Business flow
Ở phần 2 chúng ta đã cùng nhau đi qua câu chuyện ở Phase 2. Giờ chúng ta sẽ vẫn tiếp tục đi cùng nhau câu chuyện đó nhưng sẽ là ở Phase 3.
Câu chuyện về bài luyện tập phối hợp các Vận động viên trong team để hoàn thành nội dung 4 x 100m
Nếu như ở Phase 2, mục tiêu của phase này đó là, từng Vận động viên được tuyển chọn sẽ phải đảm bảo được các tiêu chí của giáo án đã đề ra, thì mục tiêu của Phase 3 sẽ là kiểm tra việc kết hợp các phối hợp của họ với nhau. Và họ sẽ phải kết hợp tất cả những gì tốt nhất của mình trong các giáo án cộng với khả năng phối hợp với đồng đội để hoàn thành được các chiến thuật mà bạn đã đề ra.
Lúc này các bài luyện tập sẽ không còn tập trung vào việc kỹ năng của Vận động viên nữa mà sẽ chỉ tập trung vào khả năng phối hợp của các Vận động viên theo các chiến thuật của Ban Huấn luyện. Về cơ bản ở Phase 3 Ban Huấn luyện và các Vận động viên sẽ cần phải thực hiện các công việc giống như Phase 2, tuy nhiên sẽ có một số công việc sẽ khác. Để tiện cho các bạn theo dõi, Test Mentor sẽ đánh dấu đỏ những điểm khác biệt. Cụ thể như sau:
Trước khi bắt đầu một buổi tập: Luôn đảm bảo được các yếu tố sau:
- Thời tiết phù hợp để tập luyện
- Dụng cụ đo đạc đầy đủ
- Dụng cụ tập luyện đầy đủ
- Khu vực luyện tập đảm bảo yêu cầu luyện tập
- Vận động viên đảm bảo sức khỏe để thực hiện buổi tập
Chuẩn bị cho chiến thuật: Các công việc chuẩn bị:
- Dụng cụ đo đạc và tập luyện được đặt đúng vị trí theo yêu cầu
- Khu vực luyện tập được khoanh vùng
- Chuẩn bị công cụ, dụng cụ phù hợp nhất với Vận động viên
- Chuẩn bị tinh thần, thể trạng và tâm lý cho các Vận động viên
- Vận động viên thực hiện các động tác warm up
Trước khi bắt đầu thực hiện theo vị trí xuất phát: Vận động viên sẽ cần phải đảm bảo các yếu tố sau:
- Hiểu được chiến thuật và vị trí xuất phát của mình
- Lắng nghe tình trạng thực hiện của người phía trước mình (từ vị trí thứ 2 trở đi) (phần này trên thực tế không xảy ra nhưng mình vẫn đưa vào để giải thích cho phần sau)
Chuẩn bị xuất phát: Vận động viên vào vị trí xuất phát của mình
Kết thúc cự ly của Vận động viên: Vận động viên chạy nước rút để đến điểm cuối cự ly
Sau khi kết thúc cự ly: Thông báo lại tình trạng bản thân có hoàn thành cự ly cho Vận động viên tiếp theo. (phần này trên thực tế không xảy ra nhưng mình vẫn đưa vào để giải thích cho phần sau)
Kết thúc chiến thuật:
- Vận động viên thực hiện các động tác cool down
Sau khi buổi tập kết thúc: Luôn đảm bảo được các yếu tố sau:
- Tổng hợp lại kết quả hoàn thành nội dung (như thành tích của từng cá nhân trong 100m, thành tích của team trong toàn bộ cự ly 4 x 100m,…)
- Phân tích kết quả của chiến thuật. (chiến thuật sẽ áp dụng cho các tình huống nào, cần phải làm gì khi có tình huống bất ngờ xảy ra như vận động viên trong team không đạt được phong độ tốt,…)
Ánh xạ câu chuyện với các thành phần của Vòng đời thực thi Test Suite
- Hoạt động “Trước khi bắt đầu một buổi tập”: Như mô tả thì ở phần này là hoàn toàn giống với Phase 2 và mình sẽ nhắc lại để các bạn tiện theo dõi: “Đây là các hoạt động kiểm tra các điều kiện cần thiết để một buổi tập có thể diễn ra. Ở đây, chúng ta gần như không phải thực hiện một sự kiện hay hành động nào cả mà chỉ đơn giản là kiểm tra tất cả các thông tin để quyết định buổi tập có được diễn ra hay không. ⇒ Đây chính là Before Suite.”
- Hoạt động “Chuẩn bị cho chiến thuật”: Ở Phase 3 này, thì các vận động viên sẽ thực hiện các chiến thuật xuyên suốt cả cự ly 4 x 100m, chính vì lẽ đó mà ngoài những chuẩn bị cơ bản như ở Phase 2 thì ở phase này, tất cả vận động viên sẽ phải warm up trước khi thực hiện bài tập ⇒ Đây chính là Setup Test Suite.
- Hoạt động “Trước khi bắt đầu thực hiện theo vị trí xuất phát”: Ở Phase 3, để có thể bắt đầu đoạn đường cự ly của mình vận động viên cần phải nắm rõ được nhiệm vụ của mình ở vị trí đó, cụ thể là chiến thuật cho vị trí mà mình xuất phát. Ngoài ra, vận động viên cũng cần phải biết được tín hiệu về việc hoàn thành cự ly mà vận động viên phía trước thông báo (có thể không hoàn thành được do bị chấn thương đột ngột chẳng hạn). ⇒ Đây chính là Before Test Case.
- Hoạt động “Chuẩn bị xuất phát”: Lúc này các vận động viên đương nhiên sẽ phải chuẩn bị tư thế sẵn sàng để có thể xuất phát được rồi ⇒ Đây chính là Setup Test Case.
- Hoạt động “Kết thúc cự ly của Vận động viên”: Để hoàn thành cự ly của mình tốt nhất, vận động viên cần phải chạy nước rút để kết thúc cự ly ⇒ Đây chính là Teardown Test Case.
- Hoạt động “Sau khi kết thúc cự ly”: Ở phase này, nếu như vận động viên hoàn thành cự ly của mình thì tín hiệu đưa ra cho người tiếp theo chính là truyền cây gậy tiếp sức. Tuy nhiên, nếu như không thể hoàn thành cự ly, thì gậy tiếp sức đó sẽ không thể đến được vận động viên tiếp theo sẽ không thể xuất phát. Nó chính là tín hiệu mà ở hoạt động “Trước khi bắt đầu thực hiện theo vị trí xuất phát” ⇒ Đây chính là After Test Case.
- Hoạt động “Kết thúc chiến thuật”: Đây là các hoạt động sau khi hoàn thành một chiến thuật cần phải làm. Nếu như ở hoạt động “Chuẩn bị cho chiến thuật”, các vận động viên warm up thì ở hoạt động này họ cần được cool down. ⇒ Đây chính là Teardown Test Suite.
- Hoạt động “Sau khi buổi tập kết thúc”: Cũng như ở Phase 2, mục tiêu cuối cùng của bạn đó là có được đầy đủ thông tin để có thể tổng hợp thành một Báo cáo đầy đủ và chi tiết nhất. Tuy nhiên, khác với mục đích của bản báo cáo ở Phase 2 là để giúp các bạn đưa ra quyết định điều chỉnh ở các buổi tập tiếp theo, thì ở phase này nó sẽ dùng để giúp các bạn đưa ra vấn đề cần cải thiện của vận động viên (nếu có) nhằm đạt được yêu cầu của chiến thuật. Và đây là các hoạt động để bạn thu thập và phân tích tất cả các thông tin của buổi tập nên bạn sẽ ghi nhận lại thành tích tổng thể của cả team lẫn từng cá nhân để đánh giá được mức độ hoàn thành chiến thuật. ⇒ Đây chính là After Suite.
Áp dụng Test hooks cho Bộ kiểm thử theo Business flow
Khác với Bộ kiểm thử theo Chức năng, thì với Bộ kiểm thử theo Business flow, chúng ta sẽ chỉ tập trung vào việc Chương trình có thể hoàn thành được một Business flow mà khách hàng yêu cầu hay không. Nếu một chức năng trong luồng gặp vấn đề thì không cần quan tâm xem các chức năng sau có lỗi hay không mà buộc phải dừng luồng vì Business flow không được hoàn thành.
- Listener
Test mentor xin đưa ra một vài công việc có thể đưa vào trong Listener như sau:
- Before Suite: Kiểm tra tình trạng môi trường thực thi kiểm thử, kết nối tới server, tình trạng Database của chương trình, trình duyệt đã đúng bản cập nhật theo yêu cầu…
- After Suite: Ghi nhận lại các số lượng Test case Pass/Fail, ghi nhận lại các vấn đề (issues) xảy ra ở Test suite,…
- Before Test Case: Kiểm tra các dữ liệu đầu vào (input data), Lắng nghe trạng thái của test case phía trước.
- After Test Case: Ghi nhận lại các vấn đề (issues) xảy ra ở mỗi Test case, Đánh dấu trạng thái sau khi kết thúc test case
- Setup & Teardown
Test mentor xin đưa ra một vài công việc có thể đưa vào trong Setup & Teardown như sau:
- Setup Test Suite: Mở trình duyệt, thực hiện chức năng Đăng nhập (nếu business flow chỉ dùng 1 account để thực hiện),..
- Teardown Test Suite: Dọn dẹp và giải phóng dữ liệu trong Database, …
- Setup Test Case: Truyền dữ liệu và các biến Local của Test case,…
- Teardown Test Case: Thực hiện chức năng Đăng xuất (nếu business flow chỉ dùng 1 account để thực hiện), đóng trình duyệt,…
Như ở phần trước mình có nhắc tới việc, Test hooks sẽ giúp cho các bạn tối ưu được thời gian thực thi một Test Suite theo Business flow thì nó nằm ở việc các bạn tạo các điểm trong luồng để lắng nghe trạng thái hoàn thành của các chức năng. Nếu không có những điểm đó, thì khi xảy ra lỗi, các Test case của chức năng vẫn sẽ chạy mà không được bỏ qua, dẫn đến việc tốn thời gian thực thi.
Kết luận
Trải qua 3 phần của chuyên mục “Test Suite & Test Hook – Bí kíp quản lý bộ kiểm thử chuyên nghiệp và hiệu quả”, các bạn có thể hình dung ra được một bức tranh tổng thể về việc quản lý Test Suites cũng như áp dụng Test Hooks trong việc tổ chức code, script của một project automation test để tối ưu về mặt công sức và thời gian của việc xây dựng cũng như vận hành chúng.
Và Test Mentor cũng xin được nhắc lại lưu ý đã được nêu ở phần 1 đó là: “Các giải pháp đưa ra trong chuyên mục này chỉ là một hướng để giải quyết vấn đề và nó sẽ mang tính chất tổng quan để các bạn tham khảo và hiểu được tổng quan của vấn đề. Tùy thuộc vào đặc thù của từng loại dự án mà mình có thể tùy biến hoặc có những giải pháp phù hợp khác.”
Chúc các bạn học tập hiệu quả và thành công trên con đường chinh phục môn phái Automation test đầy thú vị này trong ngành IT và hẹn gặp lại vào các bài viết tiếp theo!
Chuột Béo Tester
Leave a Comment