You are on page 1of 9

ITMS Coaching

ITMS COACHING GIÚP BẠN TRỞ THÀNH TESTER CHUYÊN NGHIỆP


ITMS Coaching

Kiểm thử tự động (Automation testing) là gì?


Kiểm thử tự động (Automation testing) là quá trình sử dụng những công cụ hỗ trợ để kiểm thử
phần mềm. Đâ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.

Tại sao phải kiểm thử tự động?


Kiểm thử tự động rất quan trọng vì những lý do sau:
• Kiểm thử thủ công tất cả các kịch bản nhiều lần sẽ gây tốn thời gian và tiền bạc
• Rất khó để kiểm thử thủ công các trang web hay phần mềm đa ngôn ngữ
• Kiểm thử tự động không cần sự can thiệp của con người. Có thể chạy kiểm thử tự động
qua đêm mà không cần giám sát.
• Kiểm thử tự động làm tăng tốc độ thực hiện kiểm thử
• Kiểm thử tự động hóa giúp tăng phạm vi kiểm thử
• Kiểm thử thủ công có thể trở nên nhàm chán, do đó dễ bỏ sót lỗi.

Các bước cơ bản để thực hiện kiểm thử tự


động
Có rất nhiều công cụ hữu ích để viết các kịch bản kiểm thử tự động, trước khi sử dụng các
công cụ đó, tốt hơn là hình dung ra quy trình có thể được sử dụng để tự động hóa kiểm thử.

• Xác định các vùng trong phần mềm để kiểm thử tự động.
• Chọn công cụ thích hợp tự động hóa kiểm thử.
• Viết test script.
• Tạo ra các test suite.
• Thực thi các test script.
• Xây dựng báo cáo kết quả.
• Tìm lỗi hoặc vấn đề performance.

Khi nào nên thực hiện kiểm thử tự động


Kiểm thử tự động nên được sử dụng theo những phương diện sau:
• Các dự án lớn và trọng điểm.
• Những dự án yêu cầu kiểm thử thường xuyên trong cùng một lĩnh vực.
• Những yêu cầu không thường xuyên thay đổi.
• Truy cập ứng dụng để kiểm tra tải và hiệu suất với nhiều người dùng ảo.
• Kiểm tra tính ổn định của phần mềm trên quan điểm của kiểm thử thủ công.
• Tính khả dụng của thời gian
Những test cases có thể kiểm thử để tự động:

ITMS COACHING GIÚP BẠN TRỞ THÀNH TESTER CHUYÊN NGHIỆP


ITMS Coaching

• Rủi ro cao – Các test cases quan trọng


• Các test cases được thực hiện nhiều lần
• Các test cases khó thực hiện thủ công
• Các test cases tốn thời gian
Những test cases không phù hợp với tự động hoá:
• Các test cases được thiết kế mới và chưa được thực hiện thủ công ít nhất một lần
• Các test cases có các yêu cầu thường xuyên thay đổi
• Các test cases được thực hiện trên cơ sở ad-hoc.

Ưu điểm của kiểm thử tự động


• 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ử

Nhược điểm của kiểm thử tự động


Các công cụ kiểm thử tự động mặc dù rất thuận tiện về nhiều phương diện nhưng thực tế dù
như thế nào đi chăng nữa thì nó cũng không phải là một công cụ có thể thay thế hoàn toàn quá
trình kiểm thử. Để thực hiện các thiết lập tự động thì vẫn cần có con người, phải bỏ công sức,
tiền bạc và thời gian
• Mất thời gian và công sức để tạo mới và chỉnh sửa test script.
• Mất chi phí cho các các công cụ tự động hóa như phí bản quyền, bảo trì, tìm hiểu, giáo
dục
Lưu ý:
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.

ITMS COACHING GIÚP BẠN TRỞ THÀNH TESTER CHUYÊN NGHIỆP


ITMS Coaching

• 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.

Sự khác biệt cơ bản giữa Automation Test và


Manual Test

Automation Test Manual Test


Định nghĩa Automation testing là phương pháp kiểm Manual testing là việc thử nghiệm
thử tự động. Người tester sẽ phải viết các một phần mềm hoàn toàn được
kịch bản kiểm thử sau đó sử dụng các làm bằng tay bởi người tester. Nó
tool hỗ trợ để thực hiện kiểm thử, phương được thực hiện nhằm phát hiện lỗi
pháp này sẽ giúp việc kiểm thử hiệu quả trong phần mềm đang được phát
và tốn ít thời gian hơn. Automation testing triển. Trong manual testing, tester
giúp chạy các kịch bản kiểm thử lặp lại sẽ thực hiện các trường hợp kiểm
nhiều lần và các task kiểm thử khác khó thử và tạo báo cáo kiểm thử hoàn
thực hiện bằng tay như performance toàn thủ công mà không có bất kỳ
testing và stress testing. sự trợ giúp của công cụ tự động
nào.

Processing Thời gian kiểm thử rút ngắn hơn so với Manual testing tốn nhiều thời gian
time Manual testing và nguồn nhân lực

Exploratory Không cho phép kiểm thử khám phá Có thể kiểm thử khám phá trong
Testing Manual testing

Reliability Kết quả kiểm thử đáng tin cậy vì nó được Kết quả kiểm thử có khả năng xảy
thực hiện bằng các tool và các kịch bản ra lỗi của con người

ITMS COACHING GIÚP BẠN TRỞ THÀNH TESTER CHUYÊN NGHIỆP


ITMS Coaching

UI change Chỉ là thay đổi nhỏ trong giao diện AUT Những thay đổi nhỏ thư thay đổi
nhưng các kịch bản kiểm thử tự động cần về id, class sẽ không cản trở quá
phải sửa đổi để hoạt động đúng như trình kiểm thử
mong đợi

Investment Cần phải đầu tư cho các công cụ kiểm Cần đầu tư về nguồn nhân lực
thử

Test Report Tất cả các bên liên quan có thể đăng Kết quả được lưu lại trong excel
Visibility nhập vào hệ thống xem kết quả đã kiểm hoặc word
thử

Performance Được thực hiện trong kiểm thử Load Không khả thi trong kiểm thử Load
Testing testing, stress testing testing, stress testing

Parallel Có thể thực hiện song song trên các nền Kiểm thử song song trên các nền
Execution tảng vận hành khác nhau và giảm thời tảng khác nhau sẽ phải tăng
gian thực hiện kiểm thử nguồn nhân lực

Programming Yêu cầu phải có kiến thức lập trình Không cần có kiến thức lập trình
knowledge vẫn có thể thực hiện

Khoá học Automation Testing với Selenium Tester Basic


tham khảo

Selenium là gì?
Selenium là một bộ công cụ chuyên dụng trong kiểm thử tự động open source dành cho các
ứng dụng web, cũng như hỗ trợ hoạt động trên các trình duyệt có nền tảng khác nhau như
Mac, Linux, Windows,.. Với Selenium thì bạn hoàn toàn có thể viết các test script bằng nhiều
ngôn ngữ lập trình khác nhau như: Java, PHP, C#, Ruby hoặc Python.
Selenium được sử dụng để có thể tự động hoá cho các thao tác với trình duyệt hoặc dễ hiểu
hơn là nó hỗ trợ giả lập lại các tương tác nằm trên trình duyệt tương tự như một người dùng
thực thụ. Ví dụ bạn có thể lập trình để tự động bật trình duyệt, mở một đường link, nhập dữ
liệu, hay lấy thông tin dữ liệu trên một website nào đó.

ITMS COACHING GIÚP BẠN TRỞ THÀNH TESTER CHUYÊN NGHIỆP


ITMS Coaching

Ưu điểm của Selenium


Selenium là công cụ mã nguồn mở (Open-Source), chính vì vậy, bạn có thể sử dụng hoàn toàn
miễn phí.
Bên cạnh đó còn có một vài lý do sau:
• Kịch bản test (test scripts) có thể viết bằng nhiều ngôn ngữ lập trình đang phổ biến hiện
nay như: Java, Python, C#, Ruby, Perl và .Net.
• Test có thể chạy ở nhiều hệ điều hành: Windows, Mac và Linux.
• Hỗ trợ đa dạng nhiều loại trình duyệt như Mozilla Firefox, Internet Explorer (IE), Google
Chrome, Safari hoặc Opera.
• Có thể tích hợp với các công cụ như TestNG và Junit để quản lý test case và tạo báo
cáo test.
• Được tích hợp với Maven, Jenkins và Docker.
Tuy nhiên Selenium vẫn còn những điểm hạn chế sau:
• Selenium chỉ có thể sử dụng để test ở trình duyệt (browser), không thể test ở các phần
mềm khác.
• Selenium là open-source, không có gì đảm bảo rằng Selenium sẽ tồn tại mãi mãi, hiện
nay Selenium vẫn dựa vào đóng góp của cộng đồng.
• Không thể thực hiện test với hình ảnh. Tuy nhiên vẫn có thể tích hợp Selenium với Sikuli
để khắc phục.
• Selenium không thể tạo báo cáo kết quả riêng. Nhưng chúng ta có thể tạo báo cáo bằng
cách tích hợp Selenium với các frameworks khác như TestNG hoặc Junit.

Những thành phần của Selenium


Selenium gồm 4 loại cơ bản sau:
• Selenium IDE (Integrated Development Environment): đây là một plug-in trên trình duyệt
Firefox, được sử dụng để record và xem lại các thao tác của một quy trình hay test
case.
• Selenium RC (Remote Control) khởi động server và tương tác với trình duyệt. Selenium
RC và WebDriver đã được sáp nhập để tạo ra Selenium 2 .
• Selenium WebDriver được dùng để thực hiện kiểm thử tự động ở trình duyệt mà không
cần chạy qua một server khác như Selenium RC.
• Selenium Grid cho phép chạy nhiều kịch bản test case trên nhiều máy, nhiều hệ điều
hành và nhiều trình duyệt khác nhau cùng một thời điểm.

Tìm hiểu về Selenium IDE


ITMS COACHING GIÚP BẠN TRỞ THÀNH TESTER CHUYÊN NGHIỆP
ITMS Coaching

Selenium Integrated Development Environment (IDE), là framework đơn giản nhất và dễ học
nhất trong bộ Selenium. Nó là một plug-in chỉ dành cho trình duyệt.
Ưu điểm:
• Dễ dàng cài đặt và sử dụng
• Không yêu cầu người dùng phải có kỹ năng lập trình, chỉ cần bạn có hiểu biết một chút
về HTML và DOM là đã có thể sử dụng được tool rồi.
• Có thể export các test đã tạo để sử dụng trong Webdriver hoặc Selenium RC
• Có cung cấp chức năng để bạn có thể report kết quả hoặc các hỗ trợ khi sử dụng
• Bạn có thể sử dụng tích hợp với các extension khác nữa.
Nhược điểm:
• Là 1 extension mà bạn chỉ có thể cài đặt trên trình duyệt Firefox
• Nó được thiết kế để tạo các test đơn giản hoặc prototype test
• Với IDE thì bạn không thể thực hiện được các tính toán, câu lệnh phức tạp, hay có điều
kiện.
• Hiệu năng hoạt động thì chậm hơn nhiều so với Webdriver và Selenium RC

Xem bài viết này để hiểu hơn về Selenium IDE

Selenium Webdriver
Selenium Webdriver được đánh giá là tốt hơn Selenium IDE và Selenium RC trên rất nhiều các
khía cạnh. Selenium Webdriver thực hiện automate tương tác với trình duyệt với hướng tiếp
cận hiện đại và ổn định hơn. Các tương tác với trình duyệt được gửi trực tiếp từ Selenium
driver mà không thông qua Javascript như selenium RC.
Selenium Webdriver hỗ trợ nhiều các ngôn ngữ lập trình như: Java, C#, PHP, Python, Perl và
Ruby.
Ưu điểm:
• Communicate trực tiếp với trình duyệt
• Tương tác với trình duyệt giống như thao tác của một người dùng thật
• Tốc độ nhanh hơn so với Selenium IDE
• Thao tác dễ dàng hơn với các phép tính toán logic hay các điều kiện phức tạp
Nhược điểm:
• Cài đặt phức tạp hơn so với Selenium IDE
• Đòi hỏi người dùng phải có kỹ năng lập trình
Trong chương trình đào tạo Automation Test với Selenium tại iTMS Coaching, các học viên sẽ
được tập trung học kỹ hơn ở phần Selenium Webdriver này.

Selenium Grid
Về lý thuyết ta có thể hiểu đây là ta xây dựng một Selenium hub dùng để khởi chạy nhiều các
test thông qua các máy và các trình duyệt khác nhau tại cùng một thời điểm. Có thể hiểu đơn
giản thông qua hình dưới đây:

ITMS COACHING GIÚP BẠN TRỞ THÀNH TESTER CHUYÊN NGHIỆP


ITMS Coaching

Trên đây là toàn bộ bức tranh về Selenium, hi vọng cuốn Ebook nhỏ này có thể thấy được thế
mạnh của Automation Testing cũng như hiểu hơn về Selenium. Tester với kỹ năng Selenium
đang được rất nhà tuyển dụng săn đón và trả mức lương cao ngất ngưỡng vì độ khan hiếm của
nguồn nhân lực cũng như sự tiện dụng của Automation Test.
iTMS Coaching vẫn còn tiếp tục chia sẻ đến cho cộng đồng Tester Việt Nam những kiến thức
bổ ích. Hãy luôn theo dõi và ủng hộ chúng tôi bạn nhé.
Fanpage: https://www.facebook.com/itms.coaching
Website: https://itmscoaching.com/
Youtube: https://www.youtube.com/c/TheiTMSCoaching

Dành tặng bạn Coupon trị giá 200k để tham gia chương trình đào tạo Automation Test với
Selenium và ngôn ngữ Java.

Mã Coupon: EBOOK-SELENIUM
Đăng ký khoá học tại link này, điền thông tin hỗ trợ viên sẽ liên hệ lại bạn để tư vấn.

ITMS COACHING GIÚP BẠN TRỞ THÀNH TESTER CHUYÊN NGHIỆP


ITMS Coaching

ITMS COACHING GIÚP BẠN TRỞ THÀNH TESTER CHUYÊN NGHIỆP

You might also like