
Kiểm thử là một công việc đòi hỏi nhiều thời gian và người thực hiện phải là người có khả năng đảm nhận cùng lúc hai vai trò vừa là người lập trình vừa là người tiêu dùng. Do đó, bất cứ doanh nghiệp nào cũng cần thiết sử dụng một công cụ hỗ trợ kiểm thử web hay ứng dụng để rút ngắn thời gian. Và Selenium chính là công cụ phổ biến nhất trong lĩnh vực công nghệ thông tin mà bạn đang tìm kiếm.
Để có thể giúp bạn hiểu được Selenium là gì cùng những kiến thức tổng quan về công cụ kiểm thử tự động này, aetc.edu.vn sẽ chia sẻ chi tiết trong bài viết dưới đây.
Selenium là gì?
Selenium là một bộ công cụ phần mềm chuyên dụng có khả năng Automation Testing (kiểm thử tự động) mã nguồn mở hoàn toàn miễn phí và hỗ trợ hoạt động trên trình duyệt có nhiều nền tảng khác nhau như Linux, Windows, Mac,… cho các ứng dụng web. Với Selenium, bạn hoàn toàn có khả năng viết các test script bằng nhiều loại ngôn ngữ lập trình phổ biến khác nhau như C#, Java, Ruby, Java, Python, PHP, Perl, Javascript,…
Selenium khá giống với HP Quick Test nhưng điểm khác biệt lớn nhất của Selenium chính là khả năng dựa trên nền tảng web để tập trung vào tự động hoá các ứng dụng. Kiểm thử Selenium không chỉ là một công cụ độc lập mà nó còn là một bộ công cụ của phần mềm. Mỗi bộ công cụ sẽ phục vụ cho từng yêu cầu kiểm thử khác biệt.

Lịch sử phát triển Selenium
Để có thể hiểu rõ ràng hơn khái niệm Selenium là gì thì bạn nên tìm hiểu thêm về lịch sử phát triển của công cụ này:
- Selenium là công cụ thử nghiệm các ứng dụng web được phát triển vào năm 2004 bởi lập trình viên Jason Huggins làm việc tại tại Th ThinkWorks với tên gọi là JavaScript Test Runner. Ông đã phát triển thư viện Javascript để chạy tự động các test trên nhiều trình duyệt. Đây chính là cơ sở để Selenium IDE và Selenium RC ra đời.
- Năm 2006, Simon Stewart – một nhân viên của Google tiếp tục phát triển Selenium với công việc được đặt tên là WebDriver. Nhờ có công cụ này, Google đã nhận được một lượng người sử dụng Selenium rất lớn nhưng đứng trước những hạn chế của sản phẩm thì các tester vẫn phải làm việc rất vất vả.
- Năm 2008, Selenium và WebDriver chính thức được kết hợp bởi Selenium đang dần lớn mạnh và WebDriver lại là công cụ của tương lai. Với sự kết hợp này, người dùng được cung cấp một tệp những tính năng lớn.
Cái tên Selenium xuất hiện từ một trò đùa của Huggins dành cho Mercury (công ty đã từng tạo ra một framework thử nghiệm phổ biến hơn khi Selenium đang trong quá trình phát triển) – đối thủ cạnh tranh của mình.

Mục đích sử dụng Selenium
Selenium thường được sử dụng cho những mục đích chính và phổ biến dưới đây:
- Selenium có thể automate cho các thao tác với trình duyệt hay đơn giản hơn là giả lập các trang tương tác thuộc trình duyệt tương tự như một người dùng thực. Do đó, bạn có thể chủ động lập trình để bật các trình duyệt, mở link, đăng nhập dữ liệu, tải dữ liệu một cách tự động từ một web page hay một get into page.
- Selenium là tùy biến nên bạn có thể sử dụng và làm nhiều thứ để tận dụng tối đa sức mạnh của phần mềm này. Bên cạnh mục đích kiểm thử, bạn có thể tự xây dựng cho doanh nghiệp mình một project để tiến hành automate cho những công việc nhàm chán hay công việc lặp đi lặp lại.
Những thành phần quan trọng của Selenium
Selenium là một phần mềm chuyên dụng hỗ trợ thực hiện kiểm thử mà ở đó, mỗi thành phần sẽ đáp ứng từng nhu cầu kiểm thử khác nhau. Về cơ bản, Selenium bao gồm bốn thành phần quan trọng sau:
- Selenium IDE (Integrated Developer Environment): Thành phần này là một plug-in nằm trên trình duyệt Firefox dựa trên một test case hay một quy trình bất kỳ để thực hiện việc record hay play lại các thao tác.
- Selenium RC (Remote Control): Đây là thành phần có khả năng hỗ trợ các Selenium Server hoạt động và tương tác với các trình duyệt web.
- Selenium WebDriver: Nhiệm vụ của thành phần này là tiến hành gửi lệnh khởi chạy và thực hiện tương tác với các trình duyệt một cách trực tiếp mà không cần phải thông qua bất kỳ server nào như RC.
- Selenium Grid: Được sử dụng với mục đích khởi chạy các kiểm thử, Selenium Grid có thể thực hiện thông qua các trình duyệt cũng như các máy khác nhau trong cùng một thời điểm được xác định.
Tuy có bốn thành phần nhưng do tính chất giống nhau nên Selenium team đã quyết định kết hợp Selenium RC và Selenium WebDriver lại với nhau để khởi tạo Selenium với những tính năng hiện đại hơn và mạnh mẽ hơn. Và hầu hết các Selenium Project đều lựa chọn sử dụng Selenium 2.

Ưu, nhược điểm nổi bật của Selenium
Một Selenium thường có những ưu, nhược điểm như sau:
– Ưu điểm:
- Quá trình cài đặt và sử dụng Selenium vô cùng đơn giản.
- Cấu hình phần cứng không yêu cầu quá cao.
- Hỗ trợ đa dạng trình duyệt, hệ điều hành và các ngôn ngữ lập trình.
- Bộ API được cung cấp hoàn thiện
- Một bộ test lớn được tạo ra với nhiều bài test nhỏ hơn để tiết kiệm thời gian.
- Thay vì phải sử dụng một nguồn nhân lực cố định thực hiện kiểm thử tốn thời gian thì Selenium có thể tự động kiểm thử nhanh chóng.
– Nhược điểm:
- Thành phần Selenium IDE chỉ có thể sử dụng được trên trình duyệt FireFox nhưng tương lai có thể hỗ trợ cho nhiều trình duyệt hơn nữa.
- Selenium IDE không thể thực hiện việc tính toán hay những câu lệnh mang tính phức tạp.
- Quá trình cài đặt Selenium WebDriver cần tiêu tốn nhiều thời gian và người thực hiện phải có kinh nghiệm.
- Nếu bạn chạy kiểm thử nhiều hơn so với giới hạn đáp ứng của phần cứng thì quá trình test sẽ không trả về kết quả tốt thậm chí còn bị đứng máy.
- Để có thể sử dụng hiệu quả Selenium, bạn phải là người có nhiều kinh nghiệm cũng như kỹ năng lập trình.
- Do không có bộ phận hỗ trợ chuyên dụng nên các dự án thương mại thường gặp lỗi khi triển khai. Và bạn cần phải tìm bên thứ ba để được hỗ trợ.
- Selenium chỉ hỗ trợ cho các ứng dụng web.

So sánh Selenium với QTP và RFT
Bên cạnh Selenium thì còn hai công cụ hỗ trợ kiểm thử khác cũng phổ biến không kém là QTP và RFT. Thực hiện so sánh các công cụ này sẽ giúp bạn đưa ra được sự lựa chọn phù hợp nhất.
- Selenium: Do là ứng dụng mã nguồn mở nên người dùng có thể sử dụng chúng hoàn toàn miễn phí với mức độ tiêu thụ phần cứng rất thấp. Môi trường hỗ trợ của Selenium vô cùng đa dạng bao gồm Windows, OS, Linux, JVM,… tương ứng với các ngôn ngữ lập trình là Java, C#, Python, Ruby, PHP, Perl, Javascript,…Tuy nhiên, Selenium không có đội ngũ hỗ trợ và yêu cầu người thực hiện phải có kinh nghiệm cũng như kỹ năng lập trình.
- QTP và RPT: Các công cụ này đều yêu cầu bản quyền với chi phí cao và mức tiêu thụ phần cứng lớn hơn rất nhiều so với Selenium. Ngoài ra, môi trường hỗ trợ của hai công cụ này chỉ dừng lại tại Windows với ngôn ngữ lập trình nghèo nàn là VB Script, Java và C#. Tuy nhiên, QTp và RPT lại có bộ phận hỗ trợ chuyên nghiệp.
Qua phần so sánh này có thể thấy sự vượt trội của Selenium về sự miễn phí và tiết kiệm tài nguyên. Đương nhiên để đáp ứng được sự miễn phí này thì bạn phải có kỹ năng và kinh nghiệm lập trình chuyên nghiệp.
Tuỳ theo những điều kiện thực tế của dự án hay đặc thù kiểm thử mà bạn có thể lựa chọn cho mình những công cụ phù hợp. Bên cạnh Selenium vẫn còn khá nhiều phần mềm kiểm thử phổ biến khác nhưng vị trí của Selenium sẽ không thể phai mờ với các Tester. Với những chia sẻ hữu ích của aetc.edu.vn chắc chắn đủ để bạn hiểu rõ Selenium là gì cũng như những nội dung cần thiết cho việc sử dụng phần mềm hỗ trợ kiểm thử ứng dụng web này.
=>> Quan tâm: Tải Ku fun – Ứng dụng game đổi thưởng uy tín số 1 Việt Nam