1. Trang chủ
  2. » Giáo Dục - Đào Tạo

đề tài tìm hiểu công cụ kiểm thử selenium

26 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 3,11 MB

Nội dung

độ tin cậy, hiệu suất, bảo mật và tương thích với cáchệ thống khác.-Phát hiện lỗi và sữa chữa : Kiểm thử giúp pháthiện các lỗi và vấn đề trong mã nguồn phần mềm.Sau khi lỗi được xác định

Trang 1

TRƯỜNG ĐẠI HỌC DUY TÂN

Võ Bảo Long Nguyễn Quang Phú Bùi Minh Huy

Hoàng Trung Kiên Trần Ngọc Sang Nguyễn Hữu Thành

Trang 2

BẢNG PHÂN CÔNG CÔNG VIỆC NHÓM 5

viên

thành Nguyễn Hoàng

Trang 3

C Các phương pháp kĩ thuật kiểm thử

Trang 4

CHƯƠNG III : CHẠY THỰC NGHIỆM VÀ MINH HỌA

Trang 5

tính năng, hiệu suất, hoặc tính năng bảo mật củachúng Mục tiêu chính của kiểm thử là đảm bảo rằngsản phẩm phần mềm hoặc hệ thống hoạt động đúngcách, đáp ứng được yêu cầu của người dùng, vàkhông gây ra lỗi hoặc vấn đề không mong muốn.

2 Mục đích của kiểm thử

- Xác định lỗi và các vấn đề : Kiểm thử giúp phát

triển và xác định lỗi trong phần mềm hoặc hệ thống.Điều này bao gồm các lỗi cú pháp, lỗi logic, hoặc vấn

đề hiệu xuất

- Đảm bảo tính đáng tin cậy : Kiểm thử đảm bảo

rằng phần mềm hoạt động đúng cách trong mọi tìnhhuống, và người dùng có thể dựa vào nó mà khônggặp lỗi hoặc sự cố

- Xác minh tính chất của phần mềm : Kiểm thử

giúp xác minh rằng phần mềm đáp ứng được yêu cầucủa người dùng và các chức năng được triển khaiđúng cách

- Đánh gia hiệu xuất : Kiểm thử hiệu suất đánh giá

tính năng hiệu suất của phần mềm, bao gồm thờigian phản hồi, tải trọng, và khả năng xử lý

- Kiểm thử bảo mật : Đảm bảo tính an toàn và bảo

mật của phần mềm trước các mối đe dọa bảo mật,như tấn công hacker hoặc vi phạm quyền truy cập

B Tầm quan trọng của kiểm thử

 Kiểm thử là một phần quan trọng trong quá trình pháttriển phần mềm vì nó giúp đám bảo chất lượng và độ tincậy của sản phẩm cuối cùng Đây là một quá trình kiểmtra và đánh giá các tính năng, chức năng và hiệu xuất củaphẩn mềm để tim ra các lỗi, sai sót và vấn đề khác

- Đảm bảo tính ổn định của phần mềm : Kiểm thử

giúp xác định xem phần mềm có hoạt động đúng và

ổn định hay không Điều này giúp tránh sự cố và lỗitrong quá trình sử dụng sản phẩm

- Đảm bảo chất lượng : Kiểm thử giúp đảm bảo rằng

phần mềm đáp ứng được các yêu cầu chất lượng như

Trang 6

độ tin cậy, hiệu suất, bảo mật và tương thích với các

hệ thống khác

- Phát hiện lỗi và sữa chữa : Kiểm thử giúp phát

hiện các lỗi và vấn đề trong mã nguồn phần mềm.Sau khi lỗi được xác định, chúng có thể được sửachữa để đảm bảo tính ổn định của sản phẩm

- Tiết kiệm thời gian và nguồn lực : Bằng cách

phát hiện và sửa lỗi sớm trong quá trình kiểm thử,bạn có thể tiết kiệm thời gian và nguồn lực so vớiviệc phát hiện chúng sau khi sản phẩm đã ra thịtrường

- Tạo lòng tin của người dùng : Phần mềm được

kiểm thử kỹ lưỡng thường mang lại trải nghiệm tốthơn cho người dùng Điều này có thể tạo lòng tin và

sự hài lòng từ phía người dùng cuối

- Đảm bảo tuân thủ quy định và tiêu chuẩn :

Trong nhiều ngành, có các quy định và tiêu chuẩn màphải tuân thủ Kiểm thử giúp đảm bảo rằng phầnmềm tuân thủ các quy định và tiêu chuẩn này

- Giảm rủi ro : Bằng cách kiểm thử phần mềm một

cách cẩn thận, bạn có thể giảm thiểu rủi ro liên quanđến sự cố hoặc lỗi phát sinh sau khi sản phẩm đượctriển khai

- Hỗ trợ quá trình phát triển : Kiểm thử có thể giúp

cho nhóm phát triển hiểu rõ hơn về tính năng vàhành vi của phần mềm, từ đó tạo điều kiện thuận lợicho việc phát triển và cải thiện sản phẩm

- Kiểm tra tính năng : Kiểm thử giúp đảm bảo rằng

tất cả các tính năng đã được triển khai hoạt độngtheo cách mong muốn và không gây ra xung đột vớinhau

- Đảm bảo sự cải thiện liên tục : Kiểm thử không

chỉ dừng lại ở giai đoạn phát triển ban đầu mà cònliên quan đến việc cải thiện liên tục sản phẩm quacác phiên bản và bản cập nhật

 Tóm lại, kiểm thử phần mềm là một phần quan trọng củaquy trình phát triển phần mềm để đảm bảo tính ổn định,chất lượng và hiệu suất của sản phẩm cuối cùng, cũng như

Trang 7

giúp đảm bảo sự hài lòng của người dùng và tuân thủ cácquy định và tiêu chuẩn.

C Các phương pháp kĩ thuật kiểm thử

1 Kiểm thử đơn vị (Unit Testing): Kiểm thử đơn vị là

quá trình kiểm tra từng phần riêng lẻ của mã nguồn đểđảm bảo rằng chúng hoạt động đúng Thông thường,các hàm, phương thức hoặc lớp được kiểm tra một cáchriêng lẻ để xác định xem chúng có thực hiện chính xáccác chức năng mong đợi hay không

2 Kiểm thử tích hợp (Integration Testing): Kiểm thử

tích hợp là quá trình kiểm tra và xác định xem cácthành phần riêng lẻ của phần mềm hoạt động đúng khiđược kết hợp lại với nhau Mục tiêu của kiểm thử tíchhợp là đảm bảo tính tương thích và giao tiếp chính xácgiữa các thành phần khác nhau của hệ thống

3 Kiểm thử hệ thống (System Testing): Kiểm thử hệ

thống là quá trình kiểm tra và xác định xem phần mềmhoạt động đúng theo yêu cầu và mong đợi của ngườidùng Nó bao gồm kiểm tra tính toàn vẹn dữ liệu, tínhnăng, hiệu suất, bảo mật và khả năng chịu tải của hệthống

4 Kiểm thử chấp nhận (Acceptance Testing): Kiểm

thử chấp nhận là quá trình kiểm tra xem phần mềm đápứng được yêu cầu và mong đợi của người dùng haykhông Nó thường được thực hiện bởi các người dùngcuối hoặc các bên liên quan để xác nhận rằng phầnmềm hoạt động chính xác và đáp ứng được nhu cầukinh doanh

5 Kiểm thử hạ tầng (Infrastructure Testing): Kiểm

thử hạ tầng là quá trình kiểm tra và đánh giá tính ổnđịnh, hiệu suất và khả năng mở rộng của hạ tầng phầncứng và phần mềm của hệ thống Nó bao gồm kiểm tracác thành phần như máy chủ, mạng, cơ sở dữ liệu vàcác thành phần hỗ trợ khác

6 Kiểm thử bảo mật (Security Testing): Kiểm thử bảo

mật là quá trình kiểm tra và đánh giá tính bảo mật của

Trang 8

CHƯƠNG II : GIỚI THIỆU VỀ CÔNG CỤ KIỂM THỬ

- Selenium tập trung vào việc tự động hoá các ứng dụng dựa trênweb Kiểm thử được thực hiện bằng cách sử dụng công cụSelenium thường được gọi là Kiểm thử Selenium

- Selenium không chỉ là một công cụ mà còn là một bộ phần mềm,mỗi bộ đều đáp ứng nhu cầu kiểm tra khác nhau của một tổ chức

Nó gồm bốn thành phần bên dưới:

 Selenium Integrated Development Environment (IDE)

 Selenium Remote Control (RC)

 Năm 2006, Simon Stewart - một nhân viên của Google tiếp tụcphá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ụngSelenium rất lớn nhưng đứng trước những hạn chế của sản phẩmthì các tester vẫn phải làm việc rất vất vả

Trang 9

 Năm 2008, Selenium và WebDriver chính thức được kết hợp bởiSelenium đang dần lớn mạnh và WebDriver lại là công cụ củatương lai Với sự kết hợp này, người dùng được cung cấp một tệpnhữ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 khiSelenium đang trong quá trình phát triển) - đối thủ cạnh tranh của mình

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ộttest case hay một quy trình bất kỳ để thực hiện việc record hay playlạ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ìnhduyệ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ộtcách trực tiếp mà không cần phải thông qua bất kỳ server nào nhưRC

Trang 10

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ũngnhư 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

3 Selenium IDE

 Selenium Integrated Development Environment (IDE) là framework đơngiản nhất trong bộ Selenium và là cách đơn giản nhất để học Đây là mộtplugin của Firefox mà bạn có thể cài đặt dễ dàng như các plugin khác.Tuy nhiên, vì tính đơn giản của nó, Selenium IDE chỉ nên được sử dụngnhư là một công cụ tạo mẫu Nếu bạn muốn tạo các trường hợp kiểm thửnâng cao hơn, bạn sẽ cần phải sử dụng Selenium RC hoặc WebDriver

Đa nền tảng, chạy trên nhiều hệ điều hành Chỉ có trong Firefox

Trang 11

Ưu Điểm Nhược Điểm

như : windows,Mac,Linux Dễ dàng cài

đặt và sử dụng

Không yêu cầu kinh nghiệm lập trình, chỉ

cần có kiến thức HTML và DOM

Thiết kế chỉ để tạo mẫu của kiểm thử

Có thể export test sang định dạng được sử

dụng trong Selenium RC và Webdriver

Không cung cấp sự lặp lại hoặc câu lệnh

có điều kiện cho tập lệnh kiểm tra

Được xây dựng để có thể report kết quả Thực hiện kiểm thử chậm so với Selenium

RC và webdriverCung cấp hỗ trợ cho các phần mở rộng

4 Selenium Remote Control (Selenium RC)

 Selenium RC là framework kiểm thử hàng đầu của toàn bộ dự án

Selenium trong một thời gian dài Đây là công cụ kiểm tra web tự động

đầu tiên cho phép người dùng sử dụng ngôn ngữ lập trình mà họ thích

Tính đến phiên bản 2.25.0, RC có thể hỗ trợ các ngôn ngữ lập trình sau:

Ưu & nhược điểm của Selenium RC

Nhiều trình duyệt và đa nền tảng Cài đặt phức tạp hơn IDE

Có thể hỗ trợ việc lặp lại hoặc câu lệnh có

điều kiện cho tập lệnh kiểm tra

Yêu cầu phải có kiến thức lập trình

Có thể hỗ trợ kiểm tra theo dữ liệu Cần phải có Selenium RC Server để chạy

Đã hoàn chỉnh API API có các lệnh thừa và khó hiểu

Trang 12

Ưu Điểm Nhược Điểm

Có thể sẵn sàng hỗ trợ các trình duyệt mới Tương tác với trình duyệt ít hơn thực tế

Thực hiện nhanh hơn IDE Kết quả không phù hợp và sử dụng

JavascriptThời gian thực thi chậm hơn Web Driver

5 WebDriver

 WebDriver chứng tỏ rằng nó tốt hơn cả Selenium IDE và Selenium RC vềnhiều mặt Nó thực hiện một cách hiện đại và ổn định hơn trong tự độnghoá các hành động của trình duyệt WebDriver, không giống nhưSelenium RC, không dựa vào JavaScript dành cho tự động hóa Nó điềukhiển trình duyệt bằng cách trực tiếp liên lạc với nó Các ngôn ngữ được

hỗ trợ giống với những ngôn ngữ trong Selenium RC

Cài đặt đơn giản hơn Selenium

RC

Lắp đặt phức tạp hơn Selenium IDE

Giao tiếp trực tiếp với trình duyệt Yêu cầu kiến thức lập trình

Sự tương tác của trình duyệt thực

tế hơn

Không thể sẵn sàng hỗ trợ các trình duyệt mới

Không cần một thành phần riêng

biệt như RC Server

Không có cơ chế tích hợp để ghi lại các thông điệp thời gian chạy và tạo ra các kết quả kiểm tra

Trang 13

Ưu Điểm Nhược Điểm

Thời gian thực hiện nhanh hơn

IDE và RC

6 Selenium Gril

 Selenium Grid là một công cụ được sử dụng cùng với Selenium RC đểchạy thử nghiệm song song trên các máy khác nhau và các trình duyệtkhác nhau cùng một lúc Thực hiện song song có nghĩa là chạy nhiều testcase cùng một lúc Tính năng, đặc điểm:

 Cho phép chạy đồng thời các test case trong nhiều trình duyệt vàmôi trường

 Tiết kiệm nhiều thời gian

 Sử dụng khái niệm hub-and-node Hub hoạt động như một nguồnchính của lệnh Selenium cho mỗi kết nối vơi nó

B Một số lưu ý và lựa chọn công cụ Selenium phù hợp với nhu cầu

1 Lưu ý về trình duyệt và hỗ trợ môi trường

 Do sự khác biệt về kiến trúc, Selenium IDE, Selenium RC và WebDriver

hỗ trợ các bộ trình duyệt và môi trường hoạt động khác nhau

 Selenium IDE

o Hỗ trợ trình duyệt : Mozilla Firefox

o Hệ điều hành : Windows MacOS X, Linux

 WebDriver

o Hỗ trợ trình duyệt :

 Internet Explorer phiên bản 6 đến 11, cả 32 và 64-bit

 Microsoft Edge phiên bản 12.10240 trở lên (một phần

hỗ trợ một số chức năng đang được phát triển)

Trang 14

2 Làm thế nào để chọn công cụ Selenium phù hợp với nhu cầu của người dùng

 Khi nào thì nên chọn Selenium IDE

o Để tìm hiểu về các khái niệm về kiểm thử tự động vàSelenium, bao gồm:

 Các lệnh Selenese như kiểu, mở, clickAndWait, khẳngđịnh, xác minh, v.v

 Vị trí như id, tên, xpath, css selector, v.v

 Thực hiện mã JavaScript tùy chỉnh bằng cách sử dụnglệnh runScript

 Xuất các trường hợp thử nghiệm ở các định dạng khácnhau

o Tạo các bài kiểm tra có ít hoặc không có kiến thức về lậptrình

o Để tạo các trường hợp thử nghiệm đơn giản và bộ thửnghiệm mà bạn có thể xuất sau đó đến RC hoặc WebDriver

o Để kiểm tra một ứng dụng web chỉ với Firefox

 Khi nào thì nên chọn Selenium RC

o Thiết kế một bài kiểm tra sử dụng một ngôn ngữ biểu cảmhơn Selenese

o Để chạy thử nghiệm của bạn đối với các trình duyệt khácnhau (ngoại trừ HtmlUnit) trên các hệ điều hành khác nhau

o Để triển khai thử nghiệm của bạn trên nhiều môi trường sửdụng Selenium Grid

o Để kiểm tra ứng dụng của bạn đối với một trình duyệt mới

hỗ trợ JavaScript

o Để kiểm tra các ứng dụng web với các kịch bản dựa trênAJAX phức tạp

 Khi nào thì nên chọn WebDriver

o Để sử dụng một ngôn ngữ lập trình nhất định trong việc thiết

kế trường hợp thử nghiệm của bạn

o Để kiểm tra các ứng dụng có nhiều chức năng dựa trênAJAX

o Để thực hiện kiểm tra trên trình duyệt HtmlUnit

o Để tạo ra các kết quả kiểm tra tùy chỉnh

 Khi nào thì nên chọn Grid

o Để chạy tập lệnh Selenium RC của bạn trong nhiều trìnhduyệt và hệ điều hành đồng thời

o Để chạy một bộ phần mềm kiểm tra khổng lồ, cần phải hoànthành trong thời gian sớm nhất có thể

Trang 15

3 So sánh giữa Selenium và QTP (nay là UFT)

 Quick Test Professional (QTP) là một công cụ kiểm tra tự động độc quyền

trước đây thuộc sở hữu của công ty Mercury Interactive trước khi nó được

mua lại bởi Hewlett-Packard vào năm 2006 Bộ công cụ Selenium có

nhiều ưu điểm hơn QTP, chi tiết như dưới đây:

Ưu điểm của Selenium qua QTP:

Mã nguồn mở , miễn phí để sử

dụng

Thương mại

Khả năng mở rộng cao Bổ sung tiện ích

Có thể chạy thử nghiệm trên các

Chỉ có thể được sử dụng trong Windows

Hỗ trợ thiết bị di động QTP Hỗ trợ Tự động hóa thử nghiệm ứng dụng trên

điện thoại di động (iOS và Android) bằng giải pháp

HP được gọi là - HP Mobile Center

Có thể thực hiện các bài kiểm tra

trong khi trình duyệt được giảm

Trang 16

QTP Selenium

xây dựng sẵn

Tự động nhanh hơn Selenium bởi vì nó là

một IDE hoàn toàn đặc trưng

Tự động với tốc độ chậm hơn vì nó không

có IDE gốc và chỉ IDE của bên thứ ba có thể được sử dụng để phát triển

Thử nghiệm theo hướng dữ liệu được thực

hiện dễ dàng hơn bởi vì nó có tích hợp các

bảng dữ liệu cục bộ và cục bộ

Thử nghiệm theo hướng dữ liệu phức tạp hơn vì bạn phải dựa vào khả năng của ngônngữ lập trình để cài đặt các giá trị cho dữ liệu thử nghiệm

Có thể truy cập các điều khiển bên trong

trình duyệt (chẳng hạn như thanh yêu thích,

thanh địa chỉ, nút Back and Forward, v.v.)

Không thể truy cập phần tử bên ngoài ứng dụng web đang được kiểm tra

Cung cấp hỗ trợ khách hàng chuyên nghiệp Không có hỗ trợ người dùng chính thức

nào đang được cung cấp

Có khả năng tự xuất dữ liệu thử nghiệm

sang các định dạng bên ngoài

Không có khả năng tự xuất dữ liệu thời gian chạy vào định dạng bên ngoài

Hỗ trợ Thông số được xây dựng Thông số có thể được thực hiện thông qua

 Chi phí (vì Selenium hoàn toàn miễn phí)

 Tính linh hoạt (vì một số ngôn ngữ lập trình, trình duyệt và nền

tảng mà nó có thể hỗ trợ)

 Kiểm tra song song (cái gì mà QTP có khả năng nhưng chỉ với việc

sử dụng Trung tâm Chất lượng)

Lưu Ý:

1 Để tận dụng tối đa selenium, bạn cần có một lượng kiến thức lập trình

tốt

2 Đối với selenium Web driver ,có nhiều khung kiểm thử hỗ trợ như

Junit ,testNG (cho Java),pytest(cho python) để giúp tổ chức và quản lý

các kịch bản kiểm thử cho bạn

Ngày đăng: 10/07/2024, 09:05

w