HƯỚNG DẪN AUTOMATION TESTING TỪ A-Z

06/11/2021 07:11:58 PM

    Theo báo cáo của MarketsandMarkets, quy mô thị trường Automation Testing (kiểm thử tự động) thế giới tăng từ 12,6 tỷ đô trong năm 2019 lên 28,8 tỷ đô trong năm 2020, với tỉ lệ tăng trưởng bình quân hàng năm là 18%. Bạn muốn làm việc trong lĩnh vực đầy tiềm năng này, vậy hãy cùng CO-WELL Asia khám phá những kiến thức căn bản về Automation Testing trong bài viết này nhé!

     

    A. Automation Testing là gì?

    Khác với kiểm thử thủ công (Manual Testing) là phương pháp truyền thống mà trong đó kiểm thử viên phải làm mọi công việc từ viết test case, thực hiện test đến báo cáo kết quả, thì với kiểm thử tự động (Automation Testing), việc kiểm thử được thực hiện bằng các công cụ, phần mềm với rất ít sự can thiệp của con người. Đây là quá trình chạy lại các kịch bản kiểm thử đã được kiểm thử thủ công, lặp lại nhiều lần.

    Phương pháp này tiết kiệm thời gian hơn, đáng tin cậy hơn, giúp giảm thiểu tối đa nguy cơ xảy ra lỗi cũng như có thể ghi lại và tái sử dụng quá trình kiểm thử. Tuy nhiên, chi phí ban đầu của phương pháp này khá cao, và mặc dù các công cụ tự động rất thuận tiện nhưng cũng không thể thay thế hoàn toàn con người.

     

    B. Ưu, nhược điểm của Automation Testing

    Ưu điểm

    • Cải thiện hiệu quả:

    Đầu tiên, lợi ích cụ thể được nói đến là ”Nâng cao hiệu quả”. Khi cần kiểm tra hồi quy hay phải hao phí về mặt thời gian thì kiểm thử tự động mang lại hiệu quả rõ rệt (có thể thực hiện kiểm thử ngay cả khi không có người bất kể ngày hay đêm)

    • Cải thiện độ chính xác:

    Khi dùng kiểm thử tự động, dù có lặp đi lặp lại bao nhiêu lần thì cũng cho ra các thao tác và kết quả giống nhau. Do đó tránh được những rủi ro không cần thiết. Ngoài ra, nếu một lỗi được tìm thấy, nó có thể được tái tạo bằng cách đơn giản là thực hiện cùng một kịch bản tự động, dẫn đến cải thiện khả năng tái lỗi. Kiểm thư tự động còn có tính năng các thao tác test được lưu lại tự động, dễ dàng kiểm tra và cưỡng chế lỗi trong thời gian kiểm thử.

     

    5aa68f15 ecd9 4f18 900a 06c3ad7eba3d

    Automation Testing với nhiều ưu điểm vượt trội

     

    Nhược điểm

    Trong một số trường hợp kiểm thử tự động chứng tỏ được sự quan trọng của nó. Nhưng nó cũng chứa một số rủi ro cần phải được xem xét trước khi áp dụng kiểm thử tự động cho dự án của bạn:

    • Chi phí khởi đầu cho kiểm thử tự động rất cao

    Bất kỳ dự án lớn nào cũng cần một đội ngũ kiểm thử, việc thuê số lượng người thử nghiệm thủ công thực sự hiệu quả về chi phí. Chi phí tự động hóa là nhiều hơn cho thiết lập ban đầu như: chi phí mua công cụ tự động hóa, đào tạo và bảo trì các kịch bản kiểm thử chi phí rất cao.

    • Kiểm thử tự động không phải là 100%

    Kiểm thử tự động không thể là 100%. Kiểm thử tự động có thể được áp dụng cho việc kiểm thử hồi quy, hiệu suất (performance), chịu tải (load/stress test). Các lĩnh vực như giao diện người dùng, tài liệu, cài đặt, khả năng tương thích và phục hồi thì phải được thực hiện thủ công.

    • Không kiểm thử tự động với trường hợp UI không cố định

    Nếu giao diện người dùng luôn thay đổi, chi phí liên quan đến bảo trì tập lệnh sẽ rất cao.

    • Người kiểm thử nên có kiến thức lập trình tốt

    Người kiểm thử có kiến thức lập trình tốt có thể sử dụng công cụ tự động hóa tốt hơn và giải quyết vấn đề ứng dụng tốt hơn.

     

    C. Khi nào nên và không nên sử dụng Automation Testing

    Kiểm thử tự động sẽ phù hợp với các dự án yêu cầu thực hiện các thao tác lặp đi lặp lại, hoặc triển khai số lượng test case lớn trong khoảng thời gian ngắn. Phương pháp này gần như là lựa chọn duy nhất cho các công việc sau:

    • Kiểm thử hồi quy
    • Kiểm thử tải (load/stress)
    • Kiểm thử hiệu suất (performance)
    • Thử nghiệm tính năng (Khi đòi hỏi sự mô phỏng của hàng ngàn người dùng đồng thời đòi hỏi tự động hóa)

    Bên cạnh đó, KHÔNG thể/KHÔNG nên sử dụng Automation Testing trong các trường hợp mà quan sát và tư duy con người là yếu tố quan trọng, hoặc các trường hợp luôn có sự thường xuyên thay đổi về yêu cầu như

    • Kiểm thử khả năng sử dụng
    • Kiểm thử thăm dò
    • Kiểm thử ad-hoc (kiểm thử bất quy tắc)

    …hoặc khi chức năng ứng dụng chưa hoàn thiện. Đặc biệt, các yếu tố quan trọng như giao diện và trải nghiệm người dùng không thể thực hiện bằng kiểm thử tự động mà bắt buộc phải sử dụng kiểm thử thủ công.

     

    D. Quy trình Automation Testing

    Phân tích khả năng áp dụng kiểm thử tự động

    Hiển nhiên, chúng ta không thể tự động hoá mọi việc trong kiểm thử phần mềm được. Có những phần mềm mới hay công nghệ viết ra phần mềm mà những công cụ kiểm thử tự động hiện tại chưa hỗ trợ hoặc chỉ hỗ trợ một phần. Ví dụ rõ ràng nhất là khi chúng ta kiểm thử một trang Web trên một trình duyệt mới, và lúc đó, công cụ kiểm thử tự động chưa có phiên bản mới hỗ trợ trên trình duyệt đó. Một ví dụ khác về chương trình SAP, các nhà phát triển SAP đã đưa ra một lựa chọn ngăn chặn việc chạy script tự động trên nó, và để có thể kiểm thử tự động trên SAP, chúng ta cần yêu cầu các nhà phát triển chương trình SAP gỡ bỏ lựa chọn này.

    Automation-Testing

    4 bước chính trong quy trình Automation Testing (Nguồn: Guru99)

     

    Lựa chọn công cụ automation testing

    Công cụ kiểm thử tự động được lựa chọn phụ thuộc vào ứng dụng đang được xây dựng. Một vài yếu tố cần cân nhắc khi lựa chọn công cụ test:

    • Tính khả thi của kỹ thuật.
    • Độ phức tạp.
    • Mức độ ổn định của ứng dụng.
    • Dữ liệu test.
    • Kích thước của ứng dụng.
    • Khả năng chạy các script.
    • Các môi trường test.

     

    Xác định phạm vi

    Phạm vi tự động là phạm vi mà ứng dụng của bạn đang tiến hành thử nghiệm. Các điểm sau giúp bạn xác định phạm vi:

    • Mang tính chất đặc thù kinh doanh
    • Kịch bản với lượng dữ liệu lớn
    • Các chức năng chung trên các ứng dụng
    • Tính khả thi về kĩ thuật
    • Sự mở rộng các thành phần kinh doanh được tái sử dụng
    • Sự phức tạp của các trường hợp kiểm thử
    • Khả năng sử dụng các trường hợp kiểm thử tương tự để kiểm thẻ trên nhiều trình duyệt

    Kế hoạch, thiết kế và phát triển

    Trong giai đoạn này, bạn cần tạo ra các kế hoạch và chiến lược tự động, bao gồm:

    • Lựa chọn công cụ tự động
    • Thiết kế framework và các đặc điểm của nó
    • Những điều trong phạm vi và ngoài phạm vi tự động
    • Chuẩn bị thử nghiệm tự động
    • Lên lịch, thời gian của kịch bản và thực thi
    • Bàn giao sản phẩm kiểm thử tự động

     

    Thực thi kiểm thử

    Kịch bản tự động được thực thi trong giai đoạn này. Kịch bản này cần dữ liệu đầu vào trước khi chúng được thiết lập để chạy. Khi chạy, chúng sẽ cung cấp chi tiết báo cáo thực thi. Sự thực thi có thể được thực hiện bởi các công cụ tự động trực tiếp hoặc thông qua công cụ quản lí thực thi công cụ tự động

    Bảo trì

    Khi các chức năng mới được thêm vào hệ thống, kịch bản tự động cũng cần được thêm vào, xem xét và bảo trì cho từng giai đoạn phát triển

    Kết luận

    Hy vọng bài viết này đã giúp các bạn có cái nhìn khái quát về Automation Testing (Kiểm thử tự động). Để trở thành một Automation Tester, bạn cần nghiên cứu và thực hành nhiều hơn nữa để hiểu sâu về Kiểm thử tự động cũng như các công cụ kiểm thử.