1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Môn Học Kiểm Thử Phần Mềm Đề Tài Xây Dựng Website Cho Cửa Hàng Thuốc Thú Y.pdf

53 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

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC ĐÀ LẠTKHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN HỌC

KIỂM THỬ PHẦN MỀM

Đề tài: Xây dựng website cho cửa hàng thuốc thú y

Giảng viên hướng dẫn: TS Võ Phương BìnhSinh viên thực hiện: 2115262 – Tô Văn Sinh

2111858 – Nguyễn Thị Thuỳ Linh2115201 – Vy Nhật Duy

Đà Lạt, 5/2024

Trang 2

1.2.1 Kiểm thử đơn vị (Unit Test) 5

1.2.2 Kiểm thử tích hợp (Integration Test) 5

1.2.3 Kiểm thử hệ thống (System Test) 6

1.2.4 Kiểm thử chấp nhận sản phẩm (Acceptance Test) 8

1.3 Kỹ thuật kiểm thử phần mềm 9

1.3.1 Kỹ thuật kiểm thử hộp đen (Black – box Testing) 9

1.3.2 Kỹ thuật kiểm thử hộp trắng (White – box Testing) 11

CHƯƠNG 2: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG 12

2.1 Giới thiệu về Selenium 12

2.1.1 Đặc điểm của Selenium 12

2.1.2 Các thành phần của Selenium 13

2.1.3 Cài đặt Selenium IDE trên trình duyệt Chrome 14

2.1.4 Cài đặt Selenium IDE trên trình duyệt Firefox 17

2.1.5 Ký hiệu 20

2.1.6 Ngôn ngữ viết 21

2.1.7 Ưu điểm 21

2.1.8 Nhược điểm 23

2.2 Các tổ chức chương trình chạy với công cụ 25

2.3 Áp dụng kiểm thử tự động với chức năng Đăng nhập 27

CHƯƠNG 3: TÀI LIỆU YÊU CẦU 33

3.1 Các giai đoạn 33

3.2 Sơ đồ use case 34

3.3 Database Diagram 35

1

Trang 3

3.4 Mô hình lớp 36

3.4.1 Mô hình thác nước 36

3.4.2 Mô hình kiến trúc MicroServices 37

CHƯƠNG 4: KẾT QUẢ KIỂM THỬ 40

4.1 Bài toán thử nghiệm 40

4.2 Sự khác nhau giữa kịch bản kiểm thử tự động và kịch bản kiểm thử tựđộng 40

Trang 4

LỜI CẢM ƠN

Đầu tiên, chúng em xin chân thành cảm ơn các thầy cô trường Đại học Đà Lạt,Khoa Công Nghệ Thông Tin đã tạo điều kiện cho chúng em có thể tiếp cận với nhữngcông nghệ mới cũng như trau dồi thêm kiến thức cho bản thân qua học phần Kiểm thửphần mềm Đặc biệt, chúng em xin cảm ơn sự hỗ trợ tận tình cũng như những góp ýchân thành của thầy cô trong quá trình thực hiện đồ án của nhóm chúng em.

Trong thời gian nghiên cứu và phát triển học phần, chúng em đã học được cũngnhư tìm hiểu được những kiến thức vô cùng quý giá và bổ ích để làm hành trang vữngbước trong sự phát triển sau này.

Chúng em cũng xin chân thành cảm ơn đến TS Võ Phương Bình, giảng viênhướng dẫn đã định hướng, giúp đỡ và tận tình chỉ bảo trong suốt quá trình xây dựng,học tập, nghiên cứu để chúng em có thể hoàn thiện học phần Tuy nhiên, chúng emcũng còn nhiều thiếu sót và hạn chế, rất mong thầy cô thông cảm.

Chúng em xin chân thành cảm ơn!

Đà Lạt, ngày 21 tháng 5 năm 2024

3

Trang 5

CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM1.1 Khái niệm

Kiểm thử phần mềm là quá trình thực thi một hệ thống phần mềm để xácđịnh xem phần mềm có đúng với đặc tả không và thực hiện trong môi trường nhưmong đợi hay không.

Mục đích của kiểm thử phần mềm là tìm ra lỗi chưa được phát hiện, tìm mộtcách sớm nhất và bảo đảm rằng lỗi sẽ được sửa.

Mục tiêu của kiểm thử phần mềm là thiết kế tài liệu kiểm thử một cách có hệthống và thực hiện nó sao cho có hiệu quả, nhưng tiết kiệm được thời gian, côngsức và chi phí.

1.2 Các cấp độ kiểm thử phần mềm

Hình 1.1- Bốn cấp độ cơ bản của kiểm thử phần mềm

Trang 6

1.2.1 Kiểm thử đơn vị (Unit Test)

Một đơn vị (Unit) là một thành phần phần mềm nhỏ nhất mà ta có thể kiểmthử được, ví dụ: các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc cácphương thức (Method).

Kiểm thử đơn vị thường do lập trình viên thực hiện Công đoạn này cần đượcthực hiện càng sớm càng tốt trong giai đoạn viết code và xuyên suốt chu kỳ pháttriển phần mềm.

Mục đích của kiểm thử đơn vị là bảo đảm thông tin được xử lý và kết xuất(khỏi Unit) là chính xác, trong mối tương quan với dữ liệu nhập và chức năng xử lýcủa Unit Điều này thường đòi hỏi tất cả các nhánh bên trong Unit đều phải đượckiểm tra để phát hiện nhánh phát sinh lỗi.

Cũng như các mức kiểm thử khác, kiểm thử đơn vị cũng đòi hỏi phải chuẩnbị trước các ca kiểm thử (hay trường hợp kiểm thử) (test case) hoặc kịch bản (testscript), trong đó chỉ định rõ dữ liệu vào, các bước thực hiện và dữ liệu mong muốnsẽ xuất ra Các test case và test script được giữ lại để sử dụng sau này.

1.2.2 Kiểm thử tích hợp (Integration Test)

Kiểm thử tích hợp kết hợp các thành phần của một ứng dụng và kiểm thử nhưmột ứng dụng đã hoàn thành Trong khi kiểm thử đơn vị kiểm tra các thành phần vàUnit riêng lẻ thì kiểm thử tích hợp kết hợp chúng lại với nhau và kiểm tra sự giaotiếp giữa chúng.

Kiểm thử tích hợp có hai mục tiêu chính là:

6

Trang 7

- Phát hiện lỗi giao tiếp xảy ra giữa các Unit.

- Tích hợp các Unit đơn lẻ thành các hệ thống con (gọi là subsystem) và cuốicùng là nguyên hệ thống hoàn chỉnh chuẩn bị cho kiểm thử ở mức hệ thống (systemtest).

Có 4 loại kiểm thử trong kiểm thử tích hợp như sau:

- Kiểm thử cấu trúc (Structure test): Kiểm thử nhằm bảo đảm các thành phầnbên trong của một chương trình chạy đúng, chú trọng đến hoạt động của các thànhphần cấu trúc nội tại của chương trình, chẳng hạn các lệnh và nhánh bên trong.

- Kiểm thử chức năng (Functional test): Kiểm thử chỉ chú trọng đến chứcnăng của chương trình, không quan tâm đến cấu trúc bên trong, chỉ khảo sát chứcnăng của chương trình theo yêu cầu kỹ thuật.

- Kiểm thử hiệu năng (Performance test): Kiểm thử việc vận hành của hệthống.

- Kiểm thử khả năng chịu tải (Stress test): Kiểm thử các giới hạn của hệthống.

1.2.3 Kiểm thử hệ thống (System Test)

Mục đích của kiểm thử hệ thống là kiểm thử xem thiết kế và toàn bộ hệ thống(sau khi tích hợp) có thỏa mãn yêu cầu đặt ra hay không.

Kiểm thử hệ thống kiểm tra cả các hành vi chức năng của phần mềm lẫn cácyêu cầu về chất lượng như độ tin cậy, tính tiện lợi khi sử dụng, hiệu năng và bảomật.

Trang 8

Kiểm thử hệ thống bắt đầu khi tất cả các bộ phận của phần mềm đã được tíchhợp thành công Thông thường loại kiểm thử này tốn rất nhiều công sức và thờigian Trong nhiều trường hợp, việc kiểm thử đòi hỏi một số thiết bị phụ trợ, phầnmềm hoặc phần cứng đặc thù, đặc biệt là các ứng dụng thời gian thực, hệ thốngphân bố, hoặc hệ thống nhúng Ở mức độ hệ thống, người kiểm thử cũng tìm kiếmcác lỗi, nhưng trọng tâm là đánh giá về hoạt động, thao tác, sự tin cậy và các yêucầu khác liên quan đến chất lượng của toàn hệ thống.

Điểm khác nhau then chốt giữa kiểm thử tích hợp và kiểm thử hệ thống làkiểm thử hệ thống chú trọng các hành vi và lỗi trên toàn hệ thống, còn kiểm thử tíchhợp chú trọng sự giao tiếp giữa các đơn thể hoặc đối tượng khi chúng làm việc cùngnhau Thông thường ta phải thực hiện kiểm thử đơn vị và kiểm thử tích hợp để bảođảm mọi Unit và sự tương tác giữa chúng hoạt động chính xác trước khi thực hiệnkiểm thử hệ thống.

Sau khi hoàn thành kiểm thử tích hợp, một hệ thống phần mềm đã được hìnhthành cùng với các thành phần đã được kiểm tra đầy đủ Tại thời điểm này, lập trìnhviên hoặc kiểm thử viên (Tester) bắt đầu kiểm thử phần mềm như một hệ thốnghoàn chỉnh Việc lập kế hoạch cho kiểm thử hệ thống nên bắt đầu từ giai đoạn hìnhthành và phân tích các yêu cầu.

Đòi hỏi nhiều công sức, thời gian và tính chính xác, khách quan, kiểm thử hệthống được thực hiện bởi một nhóm kiểm tra viên hoàn toàn độc lập với nhóm pháttriển dự án để đảm bảo tính chính xác và khách quan.

Kiểm thử hệ thống thường có các loại kiểm thử sau:

8

Trang 9

- Kiểm thử chức năng (Functional test): Bảo đảm các hành vi của hệ thốngthỏa mãn đúng yêu cầu thiết kế.

- Kiểm thử khả năng vận hành (Performance test): Bảo đảm tối ưu việc phânbổ tài nguyên hệ thống (ví dụ bộ nhớ) nhằm đạt các chỉ tiêu như thời gian xử lý hayđáp ứng câu truy vấn,

- Kiểm thử khả năng chịu tải (Stress test hay Load test): Bảo đảm hệ thốngvận hành đúng dưới áp lực cao (ví dụ nhiều người truy xuất cùng lúc) Stress testtập trung vào các trạng thái tới hạn, các "điểm chết", các tình huống bất thường nhưđang giao dịch thì ngắt kết nối (xuất hiện nhiều trong test thiết bị như POS,ATM),

- Kiểm thử cấu hình (Configuration test): Đảm bảo hệ thống hoạt động tươngthích với các loại phần cứng khác nhau.

- Kiểm thử khả năng bảo mật (Security test): Bảo đảm tính toàn vẹn, bảo mậtcủa dữ liệu và của hệ thống.

- Kiểm thử khả năng phục hồi (Recovery test): Bảo đảm hệ thống có khảnăng khôi phục trạng thái ổn định trước đó trong tình huống mất tài nguyên hoặc dữliệu; đặc biệt quan trọng đối với các hệ thống giao dịch như ngân hàng trực tuyến.

1.2.4 Kiểm thử chấp nhận sản phẩm (Acceptance Test)

Mục đích của kiểm thử chấp nhận là kiểm thử khả năng chấp nhận cuối cùngđể chắc chắn rằng sản phẩm là phù hợp và thỏa mãn các yêu cầu của khách hàng vàkhách hàng chấp nhận sản phẩm.

Trang 10

Trong giai đoạn kiểm thử chấp nhận thì người kiểm tra là khách hàng Kháchhàng sẽ đánh giá phần mềm với mong đợi theo những thao tác sử dụng quen thuộccủa họ Việc kiểm tra ở giai đoạn này có ý nghĩa hết sức quan trọng tránh cho việchiểu sai yêu cầu cũng như sự mong đợi của khách hàng.

Gắn liền với giai đoạn kiểm thử chấp nhận thường là một nhóm những dịchvụ và tài liệu đi kèm, phổ biến như hướng dẫn cài đặt, sử dụng, v.v…Tất cả tài liệuđi kèm phải được cập nhật và kiểm tra chặt chẽ.

1.3 Kỹ thuật kiểm thử phần mềm

Mục tiêu của kiểm thử là phải thiết kế các trường hợp kiểm thử có khả năngcao nhất trong việc phát hiện nhiều lỗi với thời gian và công sức tối thiểu Do đó cóthể chia các kỹ thuật kiểm thử thành hai loại:

- Kỹ thuật kiểm thử hộp đen (Black – box Testing) hay còn gọi là kỹ thuậtkiểm thử chức năng (Functional Testing).

- Kỹ thuật kiểm thử hộp trắng (White – box Testing) hay còn gọi là kỹ thuậtkiểm thử cấu trúc (Structural Testing).

1.3.1 Kỹ thuật kiểm thử hộp đen (Black – box Testing)

Kiểm thử hộp đen còn được gọi là kiểm thử hướng dữ liệu (data - driven) haylà kiểm thử hướng vào/ra (input/output driven).

Trong kỹ thuật này, người kiểm thử xem phần mềm như là một hộp đen.Người kiểm thử hoàn toàn không quan tâm đến cấu trúc và hành vi bên trong củachương trình Người kiểm thử chỉ cần quan tâm đến việc tìm các hiện tượng mà

10

Trang 11

phần mềm không hành xử theo đúng đặc tả của nó Do đó, dữ liệu kiểm thử sẽ xuấtphát từ đặc tả.

Như vậy, cách tiếp cận kiểm thử hộp đen tập trung vào các yêu cầu chứcnăng của phần mềm Kiểm thử hộp đen cho phép người kiểm thử xây dựng cácnhóm giá trị đầu vào sẽ thực thi đầy đủ tất cả các yêu cầu chức năng của chươngtrình Kiểm thử hộp đen không thay thế kỹ thuật kiểm thử hộp trắng, nhưng nó bổsung khả năng phát hiện các lớp lỗi khác với các phương pháp hộp trắng.

Kiểm thử hộp đen cố gắng tìm các loại lỗi sau:

- Các chức năng thiếu hoặc không đúng.

- Các lỗi giao diện.

- Các lỗi cấu trúc dữ liệu trong truy cập cơ sở dữ liệu bên ngoài.

Trang 12

hết lỗi Vì thế, để đạt được mục tiêu kiểm thử, người ta đã áp dụng một số phươngpháp kiểm thử hộp đen như: phân hoạch tương đương, phân tích giá trị biên.

1.3.2 Kỹ thuật kiểm thử hộp trắng (White – box Testing)

Kiểm thử hộp trắng hay còn gọi là kiểm thử hướng logic, cho phép kiểm tracấu trúc bên trong của phần mềm với mục đích bảo đảm rằng tất cả các câu lệnh vàđiều kiện sẽ được thực hiện ít nhất một lần Người kiểm thử truy nhập vào mãnguồn chương trình và có thể kiểm tra nó, lấy đó làm cơ sở để hỗ trợ việc kiểm thử.

1.3.2.1 Kiểm thử đường dẫn cơ sở

Kiểm thử đường dẫn cơ sở là một kỹ thuật kiểm thử hộp trắng do TomMcCabe đề xuất Phương pháp đường dẫn cơ sở cho phép người thiết kế trường hợpkiểm thử thực hiện phép đo độ phức tạp logic của thiết kế thủ tục và sử dụng phépđo này như một chỉ dẫn cho việc thiết kế một tập cơ sở các đường dẫn thực hiện.Những trường hợp kiểm thử được suy diễn để thực hiện tập cơ sở Các trường hợpkiểm thử đó được đảm bảo để thực hiện mỗi lệnh trong chương trình ít nhất một lầntrong quá trình kiểm thử.

12

Trang 13

CHƯƠNG 2: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG2.1 Giới thiệu về Selenium

2.1.1 Đặc điểm của Selenium2.1.1.1 Khái niệm

Selenium là một bộ công cụ chuyên dụng trong kiểm thử tự động opensourcedà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ềntả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#, Rubyhoặc Python

Selenium được sử dụng để có thể automate cho các thao tác với trình duyệt hoặcdễ 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ệttương tự như mộtngười dùng thực thụ Chính vì thế, bạn có thể lập trình để có thể bật tự động các trìnhduyệt, để open một link, input cho dữ liệu, upload, download dữ liệu từ web page hoặcthậm chí get info page.

2.1.1.2 Đặc điểm của Selenium

Mã nguồn mở Phải nói điểm này là điểm mạnh nhất của Selenium khi so sánhvới các test tool khác Vì là mã nguồn mở nên chúng ta có thể sử dụng mà không phảilo lắng về phí bản quyền hay thời hạn sử dụng.

Cộng đồng hỗ trợ Vì là mã nguồn mở nên Selenium có một cộng đồng hỗ trợkhá mạnh mẽ Bên cạnh đó, Google là nơi phát triển Selenium nên chúng ta hoàn toàncó thể yên tâm về sự hổ trợ miễn phí khi có vấn đề về Selenium.Tuy nhiên, đây cũng làmột điểm yếu của Selenium Cơ bản vì là hàng miễn phí, cộng đồng lại đông nên mộtvấn đề có thể nhiều giải pháp, và có thể một số giải pháp là không hữu ích Mặc khác,chúng ta không thể hối thúc hay ra deadlines cho sự hỗ trợ.

Trang 14

Selenium hỗ trợ nhiều ngôn ngữ lập trình.

Selenium hỗ trợ chạy trên nhiều OS khác nhau với mức độ chỉnh sửa script hầunhư là không có Thực sự thì điều này phụ thuộc phần lớn vào khả năng viết script củachúng ta.

Chạy test case ở backround Khi chúng ta thực thi một test scrpit, chúng ta hoàntoàn có thể làm việc khác trên cùng một PC Điều này hỗ trợ chúng ta không cần tốnquá nhiều tài nguyên máy móc khi chạy test script.

Không hỗ trợ Win app Selenium thực sự chỉ hỗ trợ chúng ta tương tác vớiBrowser mà không hỗ trợ chúng ta làm việc với các Win app, kể cả Windialog nhưDownload/Upload – ngoại trừ Browser Alarm Vậy nên, để xử lý các trường hợp cầntương tác với hệ thống hay một app thứ ba, cần một hay nhiều thư viện khác nhưAutoIt hay Coded UI.

2.1.2 Các thành phần của Selenium

Selenium là một trong những khái niệm chung để miêu tả một phần dụng trongautomation Mà ở đó, mỗi loại trong nó sẽ đáp ứng được các yêu cầu testing khác nhau.Còn về cơ bản thì Selenium bao gồm 4 thành phần chính là:

- Selenium IDE (IDE là từ viết tắt của Integrated DeveloperEnvironment): làmột plug-in nằm trên trình duyệt Fire-fox, ta có thể sử dụng để record và play lại cácthao tác đó dựa theo một quy trình hay một test case nào đó

- Selenium RC: Selenium Remote Control, Selenium server sẽ khởi chạy vàtương tác với các trình duyệt web

- WebDriver: Selenium WebDriver có nhiệm vụ gửi lệnh khởi chạy rồi thựchiện tương tác trực tiếp với các trình duyệt mà không cần thông qua bất cứ server nhưSelenium RC

14

Trang 15

- Grid: Selenium Hub được sử dụng để khởi chạy nhiều các test thông qua cácmáy cũng như các trình duyệt khác nhau tại cùng một thời điểm nhất định Seleniumteam đã quyết định gộp Selenium RC và WebDriver lại với nhau để có thể khởi tạo racác Selenium 2 với các tính năng mạnh mẽ hơn và hiện nay thì hầu hết các SeleniumProject đều sử dụng chúng.

2.1.3 Cài đặt Selenium IDE trên trình duyệt Chrome

Bước 1: Ở trình duyệt Chrome truy cập đường dẫn:

Bước 2: Chọn trình duyệt cần add Selenium IDE

Trang 17

Bước 3: Click button Thêm vào Chrome

Trên trình duyệt sẽ hiển thị Popup

Bước 4: Click button Thêm tiện ích

Trang 18

Công cụ Selenium IDE sau khi được add thành công sẽ hiển thị trên thanh tìmkiếm

Giao diện của Selenium IDE

18

Trang 19

2.1.4 Cài đặt Selenium IDE trên trình duyệt Firefox

Bước 1: Ở trình duyệt Firefox truy cập đường dẫn:

Bước 2: Chọn trình duyệt cần add Selenium IDE

Trang 20

Bước 3: Click button Add to Firefox

Trên trình duyệt sẽ hiển thị Popup

Bước 4: Click button Add

20

Trang 21

Click button Okay

Công cụ Selenium IDE sau khi được add thành công sẽ hiển thị trên thanh tìm kiếm

Giao diện của Selenium IDE

Trang 22

- Nút : Chạy tất cả các test case.

- Nút : Chỉ chạy test case được chọn.

- Nút : Tạm dừng một test case đang chạy

- Nút : Bỏ qua một test case khi nó đã bị tạm dừng

- Nút : Nút thu được sử dụng để thu các test case qua những thao tácbạn tác động đến trang web cần kiểm thử.

- Textbox Command : Dòng lệnh

- Text box Target: Kết quả mong đợi của dòng lệnh

- Text box Value: Giá trị đầu vào của dòng lệnh

Bảng Selenium sẽ lưu lại các lệnh, kết quả mong đợi và giá trị đầu vào của các lệnh.

22

Trang 23

- Khu vực phía dưới textbox Value sẽ hiển thị các log của Selenium trong khicác test case chạy Nếu có một test case bị thất bại Selenium IDE sẽ log một lỗi.

- Log: Hiển thị thông báo lỗi và các bước được thực thi trong quá trình chạymột test case tự động Ngay cả khi ta không chọn tab log, các thông tin này vẫn hiểnthị Các thông tin này giúp ích cho nhân viên kiểm thử cũng như nhân viên lập trìnhtrong quá trình tìm ra nguyên nhân lỗi đã phát hiện trong test case (nếu có).

- Reference: Thẻ tham chiếu

- UI-Element và Rollup: Tính năng nâng cao của Selenium IDE

Trang 24

- Đa trình duyệt

Selenium có khả năng kiểm thử trên nhiều trình duyệt khác nhau bao gồmGoogle Chrome, Mozilla Firefox, Microsoft Edge, Internet Explorer, Safari, và Opera.Điều này đảm bảo rằng ứng dụng web của bạn hoạt động nhất quán trên các trình duyệtkhác nhau.

- Hỗ trợ đa nền tảng

Selenium có thể chạy trên nhiều hệ điều hành khác nhau như Windows, macOS,và Linux, giúp dễ dàng tích hợp vào các hệ thống kiểm thử liên tục (CI) và triển khaiđa nền tảng.

- Khả năng tích hợp tốt

Selenium dễ dàng tích hợp với các công cụ kiểm thử khác như TestNG, JUnit,NUnit, và các công cụ CI/CD như Jenkins, GitLab CI/CD, Travis CI, và Bamboo Điềunày giúp tự động hóa quá trình kiểm thử và triển khai phần mềm.

- Hỗ trợ kiểm thử song song

Selenium Grid cho phép thực hiện các kiểm thử song song trên nhiều máy tínhvà trình duyệt khác nhau, giúp tiết kiệm thời gian kiểm thử và tăng hiệu quả kiểm thử.

Trang 25

Selenium IDE là một công cụ tiện ích mở rộng cho trình duyệt giúp ghi lại cáckịch bản kiểm thử và chạy lại chúng Điều này giúp dễ dàng tạo ra các kịch bản kiểmthử mà không cần viết mã, phù hợp cho người mới bắt đầu.

- Cộng đồng hỗ trợ lớn

Selenium có một cộng đồng người dùng và các nhà phát triển lớn, cung cấp tàiliệu phong phú, hỗ trợ qua diễn đàn, và nhiều tài nguyên học tập như blog, videohướng dẫn, và khóa học trực tuyến.

- Hỗ trợ kiểm thử trên thiết bị di động

Selenium có thể được tích hợp với các công cụ kiểm thử di động như Appiumđể kiểm thử các ứng dụng di động trên cả iOS và Android.

- Khả năng Xử lý Nhiều Tình Huống Phức Tạp

Selenium WebDriver cho phép viết mã kiểm thử phức tạp, hỗ trợ đầy đủ cáchành động trên trình duyệt như tương tác với các phần tử DOM, điều hướng, xử lý cửasổ bật lên, và thực hiện các kiểm thử JavaScript.

- Tính linh hoạt cao

Selenium không bị giới hạn bởi các công cụ hoặc môi trường phát triển cụ thể,giúp lập trình viên tùy chỉnh và mở rộng chức năng kiểm thử dễ dàng.

2.1.8 Nhược điểm

- Khó khăn trong việc thiết lập và cấu hình

Phức tạp trong cài đặt: Thiết lập môi trường Selenium có thể phức tạp, đặc biệtkhi cấu hình Selenium Grid cho kiểm thử song song.

Trang 26

Phụ thuộc vào trình điều khiển (drivers): Selenium yêu cầu trình điều khiểnriêng cho mỗi trình duyệt (ChromeDriver, GeckoDriver, v.v.), và việc quản lý và cậpnhật các trình điều khiển này có thể gây rắc rối.

- Hạn Chế trong Kiểm Thử Ứng Dụng Desktop và Mobile

Ứng dụng desktop: Selenium chủ yếu hỗ trợ kiểm thử ứng dụng web, và khônghỗ trợ trực tiếp kiểm thử ứng dụng desktop.

Ứng dụng mobile: Mặc dù có thể tích hợp với Appium để kiểm thử ứng dụng diđộng, nhưng việc cấu hình và thực hiện kiểm thử trên thiết bị di động phức tạp hơn vàđòi hỏi kiến thức bổ sung về Appium.

- Khó Khăn Trong Việc Bảo Trì Kiểm Thử

Độ ổn định của kiểm thử: Các kịch bản kiểm thử Selenium có thể không ổnđịnh, dễ bị phá vỡ nếu giao diện người dùng thay đổi, dẫn đến chi phí bảo trì cao.

Xử lý các phần tử động: Kiểm thử các phần tử động (dynamic elements) hoặcứng dụng web thay đổi thường xuyên có thể khó khăn, và cần phải viết mã tùy chỉnh đểxử lý các trường hợp này.

- Hỗ Trợ Kỹ Thuật Hạn Chế

Không có hỗ trợ chính thức: Là một công cụ mã nguồn mở, Selenium không códịch vụ hỗ trợ chính thức từ nhà phát triển, và người dùng chủ yếu dựa vào cộng đồngđể giải quyết các vấn đề.

- Thiếu Các Công Cụ Kiểm Thử Tích Hợp

26

Ngày đăng: 27/06/2024, 15:55

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w