Với mục đích phát hiện lỗi, kiểm thử phần mềm thường phải trải qua các bước:tạo dữ liệu thử, thực thi phần mềm trên dữ liệu thử và quan sát kết quả nhận được.Trong các bước này, bước tạo
Trang 1ĐẠI HỌC THÀNH ĐÔ KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 3
CHƯƠNG I: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 5
1.1 Khái niệm 5
1.2 Các cấp độ kiểm thử phần mềm 5
1.2.1 Kiểm thử đơn vị (Unit Test) 6
1.2.2 Kiểm thử tích hợp (Integration Test) 6
1.2.3 Kiểm thử hệ thống (System Test) 7
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) 10
1.3.2.1 Kiểm thử đường dẫn cơ sở 10
CHƯƠNG 2: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM 11
2.1 Tổng quan về Selenium 11
2.1.1 Selenium là gì? 11
2.1.2 Các thành phần của Selenium 11
2.2 Selenium IDE 12
2.2.1 Cài đặt Selenium IDE 13
2.2.2 Các icon của Selenium IDE 14
2.2.3 Các thao tác thực hiện kiểm thử tự động với Selenium 16
2.2.3.1 Recording_Thực hiện thu một kịch bản với Selenium IDE 16
2.2.3.2 Thêm các lệnh khẳng định và xác nhận với menu ngữ cảnh 18
2.2.3.3 Các thao tác chỉnh sửa 18
2.2.3.4 Mở và lưu lại một test case 19
2.2.3.5 Chạy các test case 19
1
Trang 3CHƯƠNG 3: KẾT QUẢ KIỂM THỬ 21
3.1 Bài toán thử nghiệm 21
3.2 Sự khác nhau giữa kịch bản kiểm thử tự động và kịch bản kiểm thử thủ công 21 3.3 Kịch bản kiểm thử thủ công 22
3.3.1 Chức năng đăng nhập 22
3.3.2 Chức năng kiểm tra thứ hạng từ khóa 23
3.4 Kịch bản kiểm thử tự động 23
3.5 Kết quả thử nghiệm 28
3.5.1 Chức năng đăng nhập 28
3.5.2 Chức năng check thứ hạng từ khóa 29
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31
Trang 4LỜI MỞ ĐẦU
Kiểm thử phần mềm là một hoạt động giữ vai trò rất quan trọng để bảo đảm chấtlượng phần mềm và là hoạt động mang tính sống còn trong các dự án sản xuất hoặc giacông phần mềm Vì vậy, kiểm thử phần mềm đã trở thành qui trình bắt buộc trong các
dự án phát triển phần mềm trên thế giới Ở Việt Nam, ngành công nghiệp phần mềmđang phát triển thì không thể xem nhẹ việc kiểm thử phần mềm vì xác suất thất bại sẽrất cao, hơn nữa, hầu hết các công ty phần mềm có uy tín đều đặt ra yêu cầu nghiêmngặt là nếu một phần mềm không có tài liệu kiểm thử đi kèm thì sẽ không được chấpnhận
Tuy nhiên, hoạt động kiểm thử thường gặp nhiều khó khăn:
Thứ nhất, kiểm thử các hệ thống phức tạp đòi hỏi rất nhiều nguồn tài nguyên
và chi phí cao
Thứ hai, tiến trình phát triển phần mềm luôn trải qua nhiều hoạt động biếnđổi thông tin, sự mất mát thông tin trong quá trình biến đổi là yếu tố chínhlàm cho hoạt động kiểm thử khó khăn
Thứ ba, kiểm thử chưa được chú trọng trong đào tạo con người
Cuối cùng, không tồn tại kỹ thuật kiểm thử cho phép khẳng định một phầnmềm hoàn toàn đúng đắn hay không chứa lỗi
Với mục đích phát hiện lỗi, kiểm thử phần mềm thường phải trải qua các bước:tạo dữ liệu thử, thực thi phần mềm trên dữ liệu thử và quan sát kết quả nhận được.Trong các bước này, bước tạo dữ liệu đóng vai trò quan trọng nhất, bởi vì chúng takhông thể tạo ra mọi dữ liệu từ miền vào của chương trình, mà chúng ta chỉ có thể tạo
ra các dữ liệu thử có khả năng phát hiện lỗi cao nhất Vấn đề đặt ra là làm thế nào đểđánh giá được khả năng phát hiện lỗi của một bộ dữ liệu thử?
Một kinh nghiệm để giúp giải quyết vấn đề này, đó là sử dụng khái niệm chất
lượng bộ dữ liệu thử như là một phương tiện để đánh giá bộ dữ liệu thử như thế nào là
“tốt” khi kiểm thử chương trình Ở đây, “tốt” được đánh giá liên quan đến tiêu chuẩnchất lượng được định trước, thường là một số dấu hiệu bao phủ chương trình Ví dụ,tiêu chuẩn bao phủ dòng lệnh đòi hỏi bộ dữ liệu thử thực hiện mọi dòng lệnh trongchương trình ít nhất một lần Nếu bộ dữ liệu thử được tìm thấy không chất lượng liênquan đến tiêu chuẩn (tức là không phải tất cả các câu lệnh đều được thực hiện ít nhất
3
Trang 5một lần), thì kiểm thử nữa là bắt buộc Do đó, mục tiêu là tạo ra một tập các kiểm thửthực hiện đầy đủ tiêu chuẩn chất lượng.
Tiêu chuẩn chất lượng tiêu biểu như bao phủ câu lệnh và kiểm thử quyết định(thực hiện tất cả các đường dẫn đúng và sai qua chương trình) dựa vào việc thực hiệnchương trình với số lượng kiểm thử tăng dần để nâng cao độ tin cậy của chương trình
đó Tuy nhiên, chúng không tập trung vào nguyên nhân thất bại của chương trình được gọi là lỗi Kiểm thử đột biến là một tiêu chuẩn như vậy Tiêu chuẩn này tạo ra cácphiên bản của chương trình có chứa các lỗi đơn giản và sau đó tìm ra các kiểm thử đểchỉ ra các dấu hiệu của lỗi Nếu có thể tìm thấy một bộ dữ liệu thử chất lượng làm lộ racác dấu hiệu này ở tất cả các phiên bản bị lỗi, thì sự tin tưởng vào tính đúng đắn củachương trình sẽ tăng Kiểm thử đột biến đã được áp dụng cho nhiều ngôn ngữ lập trìnhnhư là một kỹ thuật kiểm thử hộp trắng
Trang 6-CHƯƠNG I: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM
1.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 địnhxem phần mềm có đúng với đặc tả không và thực hiện trong môi trường như mong đợihay 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ột cáchsớ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ông sức
Ki m th đ chấốp ể ử ể
nh n s n ph m ậ ả ẩ (Acceptance test)
Hình 1.1- Bốốn cấốp đ c b n c a ki m th phấần mềầm ộ ơ ả ủ ể ử
Trang 71.2.1 Kiểm thử đơn vị (Unit Test)
1.1.1 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ác phươngthứ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át triểnphầ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ỏiUnit) 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ủaUnit Điều này thường đòi hỏi tất cả các nhánh bên trong Unit đều phải được kiể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ẩn bịtrước các ca kiểm thử (hay trường hợp kiểm thử) (test case) hoặc kịch bản (test script),trong đó chỉ định rõ dữ liệu vào, các bước thực hiện và dữ liệu mong muốn sẽ 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ự giao tiếpgiữa chúng
Kiểm thử tích hợp có hai mục tiêu chính là:
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(system test)
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ácthành phầ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êntrong
Trang 8 Kiểm thử chức năng (Functional test): Kiểm thử chỉ chú trọng đến chức năngcủ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)
1.1.2 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ác yêucầ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ảo mật.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ích hợpthà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ời gian Trongnhiều trường hợp, việc kiểm thử đòi hỏi một số thiết bị phụ trợ, phần mềm hoặc phầncứng đặc thù, đặc biệt là các ứng dụng thời gian thực, hệ thống phân bố, hoặc hệ thốngnhúng Ở mức độ hệ thống, người kiểm thử cũng tìm kiếm cá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êu cầu khác liên quan đến chấtlượ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ểmthử 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ích hợ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ùng nhau.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ọiUnit và sự tương tác giữa chúng hoạt động chính xác trước khi thực hiện kiể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ống hoànchỉ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ình thà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:
7
Trang 9 Kiểm thử chức năng (Functional test): Bảo đảm các hành vi của hệ thống thỏamã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ân bổ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ống vậnhà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ấtthườ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ật của
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
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ệc hiểusai 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ịch vụ 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èmphải được cập nhật và kiểm tra chặt chẽ
Trang 101.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ăng caonhấ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ật kiểmthử 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) hay là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ườikiểm thử hoàn toàn không quan tâm đến cấu trúc và hành vi bên trong của chươngtrình Người kiểm thử chỉ cần quan tâm đến việc tìm các hiện tượng mà phần mềmkhông hành xử theo đúng đặc tả của nó Do đó, dữ liệu kiểm thử sẽ xuất phá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ức năngcủa phần mềm Kiểm thử hộp đen cho phép người kiểm thử xây dựng các nhó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ương trì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áthiệ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
9
Trang 11mỗi một điều kiện đầu vào có thể có là một trường hợp kiểm thử Bởi vì nếu chỉ kiểmthử một số điều kiện đầu vào thì không đảm bảo được chương trình đã 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ương phá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 tra cấutrú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ềukiệ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ồnchươ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 Tom McCabe
đề xuất Phương pháp đường dẫn cơ sở cho phép người thiết kế trường hợp kiể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ườnghợp kiểm thử được suy diễn để thực hiện tập cơ sở Các trường hợp kiể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ần trong quá trình kiểmthử
Trang 12CHƯƠNG 2: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM 2.1 Tổng quan về Selenium
2.1.1 Selenium là gì?
Selenium (thường được viết tắt là SE) là một phần mềm mã nguồn mở, đượcphát triển bởi Jason Huggins, sau đó được tiếp tục phát triển bởi nhóm ThoughtWorksvào năm 2004
Selenium là một bộ các công cụ hỗ trợ kiểm thử tự động các tính năng của ứngdụng web, bao gồm 4 phần: Selenium IDE, Selenium Remote Control (RC), SeleniumCore và Selenium Grid
Selenium hỗ trợ kiểm thử trên hầu hết các trình duyệt web phổ biến hiện naynhư Firefox, Internet Explorer, Googlechrome và hỗ trợ trên rất nhiều ngôn ngữ lậptrình phổ biến như C#, Java, Python, PHP Không những vậy, Selenium còn có thể kếthợp với một số công cụ kiểm thử khác như Junit, Bromien, Nunit
2.1.2 Các thành phần của Selenium
Selenium gồm 4 thành phần chính, mỗi thành phần đều đóng một vai trò cụ thểtrong việc hỗ trợ kiểm thử các ứng dụng Web Các thành phần đó là:
- Selenium IDE: là môi trường phát triển tích hợp cho việc xây dựng trường hợp
kiểm thử Selenium Nó hoạt động như một add-on của Firefox và cung cấp một giaodiện dễ sử dụng để phát triển và chạy trường hợp kiểm thử Selenium- IDE có tínhnăng thu lại kịch bản kiểm thử để tái sử dụng Nó cũng có một menu ngữ cảnh tíchhợp với trình duyệt Firefox, cho phép người dùng chọn từ một danh sách xác minh(verify) và khẳng định (assert) cho các yếu tố giao diện đã chọn Selenium- IDE cũngcung cấp các chức năng chỉnh sửa các trường hợp kiểm thử chính xác và dễ kiểm soáthơn
Mặc dù Selenium-IDE chỉ là một Firefox add-on, nhưng các test case tạo ra bằngSelenium-IDE vẫn có thể chạy trên các trình duyệt khác bằng cách sử dụng Selenium-RC
- Selenium Core: Công cụ này đã được tích hợp trong Selenium IDE Selenium
Core là một công cụ chạy các test script viết bằng Selenese Thế mạnh của công cụnày là có thể chạy test script trên hần hết các trình duyệt, nhưng lại yêu cầu được càiđặt trên máy chủ của ứng dụng web cần kiểm tra Điều này là không thể khi nhân
11
Trang 13viên kiểm thử không có quyền truy cập đến máy chủ.
- Selenium RC (Remote Control): Selenium- RC cho phép các nhà phát triển tự
động hóa kiểm thử sử dụng một ngôn ngữ lập trình cho tính linh hoạt tối đa và mở rộngtrong việc phát triển logic thử nghiệm Ví dụ, nếu trình ứng dụng trả về một tập kếtquả của việc kiểm thử, và nếu chương trình thử nghiệm tự động cần chạy thử nghiệmtrên mỗi phần tử trong tập hợp kết quả, hỗ trợ lặp đi lặp lại các ngôn ngữ lập trình cóthể được sử dụng để chuyển đổi thông qua việc tập hợp kết quả, kêu gọi lệnhSelenium chạy thử nghiệm trên mỗi mục
Selenium-RC cung cấp một API (Application Programming Interface) và thư việncho mỗi ngôn ngữ được hỗ trợ: HTML, Java, C #, Perl, PHP, Python, và Ruby Khảnăng sử dụng Selenium- RC với một ngôn ngữ lập trình bậc cao để phát triển cáctrường hợp thử nghiệm cũng cho phép thử nghiệm tự động được tích hợp với một dự
án xây dựng môi trường tự động
- Selenium Grid: Thực hiện phương pháp kiểm tra phân bố, phối hợp nhiều kết
quả của Selenium RC để có thể thực thi trên nhiều trình duyệt web khác nhau trongcùng một lúc Cũng cho phép lưu lại kết quả kiểm tra
Báo cáo trình bày cụ thể về hai thành phần của bộ công cụ Selenium là SeleniumIDE và Selenium RC Các hướng dẫn cụ thể về Selenium IDE và Selenium RC sẽđược trình bày chi tiết ở phần sau của báo cáo
Selenium IDE là một add-on của Mozilla Firefox phiên bản 2.0 trở lên, ban đầuđược phát triển bởi Shinya Kasatani theo hướng sử dụng Selenium Core mà không cầncài đặt Selenium vào máy chủ ứng dụng Nó được xây dựng sử dụng JavaScript dovậy mà nó có thể tương tác với DOM (Document Object Model), sử dụng được nhữngcách gọi JavaScript
Selenium cho phép ghi lại những hành động trong luồng công việc cần kiểm trabằng các chức năng Record và Playback
Selenium IDE cũng chứa một menu ngữ cảnh cho phép lựa chọn yếu tố giao diệnngười dùng từ các trình duyệt đang hiển thị trang và sau đó chọn từ một danh sách cáclệnh Selenium và các thông số được xác định theo ngữ cảnh của phần giao diện ngườidùng lựa chọn
Trang 142.2.1 Cài đặt Selenium IDE
- Bước 1: Vào trang http://seleniumhq.org/download để download Selenium IDE
- Bước 2: Click vào link download cho Selenium IDE Bạn sẽ nhận được tin nhắn
" Firefox prevented this site (seleniumhq.org) from asking you to installsoftware on your computer" (Firefox đã chặn phần mềm từ trang web(seleniumhq.org), bạn có chắc chắn muốn cài đặt trên máy tính của bạn không).Nếu thực hiện, click nút Allow
- Bước 3: Một pop up xuất hiện như hình:
Hình 2.1: Pop up cài đặt Selenium
- Bước 4: Firefox thực hiện đếm ngược, nút Cài đặt chuyển sang trạng tháiactive, có thế click được Selenium sẽ bắt đầu được cài đặt trong máy tính giốngnhư 1 add-on của firefox
- Bước 5: Tiến trình cài đặt hoàn thành, hệ thống hỏi bạn có muốn khởi động lạifirefox không Click vào nút Restart Firefox sẽ đóng và mở lại
- Bước 6: K iểm tra lại phần add-on của firefox xem đã có Selenium chưa Hiểnthị như hình thì việc cài Selenium đã thành công
Trang 15Hình 2.2: Kiểm tra cài đặt Selenium thành công
2.2.2.Các icon của Selenium IDE
Phần này giải thích một số ký hiệu và thành phần của Selenium IDE
Hình 2.3: Các icon của Selenium IDE
Trang 16Giải thích một số ký hiệu:
- Base URL: Đây là nơi điền URL của ứng dụng web được tiến hành kiểm thử
- Thanh trượt : Đây là thanh trượt nằm dưới nhãn trên màn hình Dùng để điều chỉnh tốc độ nhanh/chậm khi chạy test case
- 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ác bạ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.Nếu click vào tab Source, ta có thể thấy Selenium IDE lưu trữ các test case có dạng HTML:
Hình 2.4: Test case Selenium IDE
- Khu vực phía dưới textbox Value sẽ hiển thị các log của Selenium trong khi cá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ạy mộ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
Trang 17trình trong 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
- Lưu ý:
Các test case luôn luôn có điểm bắt đầu Trong ngữ cảnh của Selenium, điều này có nghĩa là mở một trang nào đó để bắt đầu luồng công việc
Các test case có thể không cần dựa trên những test case khác để chạy
Một test case chỉ nên dùng để kiểm thử một chức năng nhỏ xác định trong một thời gian xác định
2.2.3 Các thao tác thực hiện kiểm thử tự động với Selenium
2.2.3.1 Recording_Thực hiện thu một kịch bản với Selenium IDE
Các bước để bắt đầu thu lại test case:
-Bước 1: Vào Firefox/công cụ/chọn Selenium IDE hoặc nhấn tổ hợp phím Ctrl+Alt+s
Hình 2.5: Thực hiện thu các trường hợp kiểm thử_1
- Bước 2: Thay đổi mục Based URL thành URL của ứng dụng cần kiểm thử Lấy
ví dụ ứng dụng web cần kiểm thử có url là: http://ranking.helu.vn/