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

KIỂM THỬ GIAO DIỆN, ÁP DỤNG TRÊN CÔNG CỤ SELENIUM

47 1,1K 1

Đ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 47
Dung lượng 2,05 MB

Nội dung

Và chúng em quyết định “Kiểm thử giao diện, áp dụng trên công cụ Selenium”với hi vọng giúpnhà các nhà quản lý, người tiêu dùng sử dụng phần mềm một cách hiệu quả, tiện ích và nhanh chóng

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN

KIỂM THỬ GIAO DIỆN, ÁP DỤNG TRÊN CÔNG CỤ SELENIUM

Hưng Yên, tháng 5 năm 2013

Trang 2

Ngày nay trên thế giới, công nghệ thông tin đã có những bước phát triển vượtbậc Ở nước ta hiện nay, ngành công nghệ thông tin trở thành ngành mũi nhọn, đẩymạnh phát triển công nghiệp hoá, hiện đại hóa đất nước Kiểm thử phần mềm đang lànhu cầu cấp thiết của ngành công nghệ thông tin nhằm tạo ra những sản phẩm đạt chấtlượng, đáp ứng yêu cầu cả mọi cơ quan tổ chức.

Qua khảo sát thực tế công cụ hỗ trợ trong kiểm thử phần mềm Chúng em thấyviệc kiểm thử giao diện các phần mềm vẫn theo cách thủ công là chính Và chúng em

quyết định “Kiểm thử giao diện, áp dụng trên công cụ Seleniumvới hi vọng giúpnhà các nhà quản lý, người tiêu dùng sử dụng phần mềm một cách hiệu quả, tiện ích

và nhanh chóng, chính xác

Chúng em mong sẽ nhận được nhiều ý kiến đóng góp hơn nữa của các thầy cô

và của các bạn để cho phần mềm được hoàn thiện hơn nữa đáp ứng được mọi yêu cầuthực tế trong công việc quản lý bằng phần mềm

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

Hưng Yên, Ngày 20 tháng 04 năm 2010

Nhóm sinh viên thực hiện

Trang 3

LỜI NÓI ĐẦU 2

MỤC LỤC 3

CHƯƠNG I: LÝ THUYẾT KIỂM THỬ GIAO DIỆN 1

1.1 Khái niệm kiểm thử giao diện 1

1.2 Các vấn đề liên quan đến kiểm thử giao diện 1

1.2.1 Kiểm thử thiết kế giao diện người dùng 1

1.2.2 Kiểm thử thực thi giao diện người dùng 7

1.3 Một số chú ý khi kiểm thử giao diện 9

CHƯƠNG II: TÌM HIỂU VỀ CÔNG CỤ SELENIUM 10

2.1 Tổng quan về selenium 10

2.1.1 Selenium là gì? 10

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

3.2 Selenium IDE 11

2.2.1 Cài đặt Selenium IDE 11

2.2.2 Các icon của Selenium IDE 13

3.2.3 Các thao tác thực hiện kiểm thử tự động với Selenium 15

2.2.4 Selenese 19

2.3 Selenium Remote Control (Selenium RC) 21

2.3.1 Các thành phần của Selenium Remote Control 22

2.3.2 Cài đặt Selenium Remote Control 23

2.3.3 Các thao tác với Selenium RC 26

Trang 4

KẾT LUẬN 42 TÀI LIỆU THAM KHẢO 43

Trang 5

CHƯƠNG I: LÝ THUYẾT KIỂM THỬ GIAO DIỆN1.1 Khái niệm kiểm thử giao diện

Kiểm thử giao diện chính là kiểm tra xem giao diện sử dụng có nhất quán, rõràng, có dễ sử dụng và đúng như mong đợi của người sử dụng hay không Đảm bảo sựgiao tiếp giữa người sử dụng và ứng dụng diễn ra ổn thỏa Người dùng có thể giao tiếpvới ứng dụng một cách dễ dàng mà không gặp bất cứ sự khó khăn nào về mặt giaodiện

1.2 Các vấn đề liên quan đến kiểm thử giao diện

1.2.1 Kiểm thử thiết kế giao diện người dùng

Kiểm thử thiết kế giao diện người dùng đánh giá mức độ thiết kế “quan tâm” đếnngười dùng, bởi cung cấp thông tin rõ ràng, phân phát thông tin phản hồi, và duy trìtính nhất quán của ngôn ngữ và phương pháp Ấn tượng chủ quan về tính dễ sử dụng

và nhìn và cảm nhận được xem xét cẩn thận trong kiểm thử thiết kế giao diện ngườidùng Các vấn đề liên quan đến giao diện, luồng tự nhiên, các nút lệnh, khả năng sửdụng, khả năng truy cập được khẳng định trong kiểm thử thiết kế giao diện Trongkiểm thử thiết kế giao diện người dùng, bạn nên đặc biệt chú ý đến khả năng phù hợpcủa các mặt thiết kế

Tính thẩm mỹ, khả năng phục hồi và khả năng tương tác nhất quán ảnh hưởngtrực tiếp đến khả năng sử dụng của ứng dụng Khi các gợi ý không rõ ràng, giao tiếpgiữa người dùng và ứng dụng có thể bị phá vỡ

Rất quan trọng để hiểu rõ mục đích của phần mềm cần được kiểm thử trước khibắt đầu kiểm thử giao diện người dùng Hai câu hỏi chính để trả lời là:

1 Ai là người dùng chính của ứng dụng?

2 Phương pháp thiết kế nào đã được sử dụng?

Hãy luôn ghi nhớ rằng giao diện người dùng phục vụ cho người dùng, chứ khôngphải cho người thiết kế hay lập trình viên Với tư cách là kiểm thử viên, chúng ta đạidiện cho người dùng, như thế chúng ta cần phải biết rõ yêu cầu của họ

Kiểm thử giao diện người dùng liên quan đến hai loại người dùng chính: (1)người dùng phía trình chủ, và quan trọng hơn, (2) người dùng phía trình khách Ngườidùng phía trình khách thường tương tác với các ứng dụng Web qua trình duyệt Web

Trang 6

Thông thường, người dùng phía trình khách không có kiến thức về kỹ thuật và kiếntrúc ứng dụng như là người dùng phía trình chủ trên cùng một hệ thống Hơn nữa, cácchức năng của ứng dụng dành cho người dùng phía trình khách thường khác với cácchức năng dành cho người dùng phía trình chủ (thường là những người quản trị hệthống) Vì thế kiểm thử giao diện phía trình chủ và kiểm thử giao diện phía trình kháchnên được đánh giá bởi các chuẩn khác nhau

Khi tạo ra mô tả sơ lược về người dùng, cần xem xét bốn loại tiêu chuẩn sau cho

cả người dùng phía trình chủ và trình khách:

1 Kinh nghiệm về máy tính

2 Kinh nghiệm về Web

3 Hiểu biết về lĩnh vực

4 Kinh nghiệm về ứng dụng cụ thể đó

Xem xét thiết kế

Bước tiếp theo trong chuẩn bị kiểm thử giao diện người dùng là nghiên cứu thiết

kế dùng cho ứng dụng Các loại ứng dụng và người dùng khác nhau yêu cầu các thiết

kế khác nhau

Các chủ đề cần xem xét khi đánh giá một thiết kế

* Phương pháp thiết kế

Khi thiết kế giao diện cho người dùng bạn nên đặt ra các câu hỏi cho chính bạn:

- Liệu rằng thiết kế của ứng dụng cần được kiểm thử có thích hợp với người dùngcuối?

- Giao diện người dùng có trực quan?

- Thiết kế giao diện có nhất quán trong toàn ứng dụng?

- Giao diện có đảm bảo người dùng ở trạng thái kiểm soát được?

- Giao diện có mang lại sự hứng thú?

- Giao diện có đơn giản, dễ hiểu và dễ sử dụng?

Trang 7

- Có trợ giúp cho mọi màn hình?

* Tương tác của người dùng

Người dùng có thể thực thi các dữ liệu khác nhau thao tác bằng tay qua bàn phím

và sự kiện chuột Các cách thao tác dữ liệu bằng tay làm những cách khác nhau trêncác điều khiển của màn hình và công nghệ khách nhau, như là cắt, dán, kéo và xóa

* Biểu diễn dữ liệu (đầu ra dữ liệu)

Trong các ứng dụng web, thông tin có thể được truyền thông đến người dùng quatrạng thái khác nhau của các điều khiển UI (như là các menu, các button, check box,

…) cái mà có thể được tạo ra trong trang HTML (frames, table, dialog box, ) Phântích ứng dụng để sưu tầm việc thiết kế kiến trúc thông tin Một trong hầu hết nhữngcách mà có hiệu quả là làm việc cái này là gặp gỡ nhà phát triển của bạn

Hình 1.1: Sơ đồ biểu diễn dữ liệu

Dưới đây là liệt kê các danh sách check về GUI

GUI CHECK LIST

AESTHETIC CHECK (Kiểm tra về giao diện)

1 Kiểm tra màu nền chung của toàn bộ màn hình có được set đúng theo yêu cầukhông?

Trang 8

2 Kiểm tra màu chữ, font, font size của tất cả các textbox có set đúng theo yêu cầukhông?

3 Kiểm tra background (màu nền) của tất cả các textbox có set đúng theo yêu cầukhông?

4 Kiểm tra màu chữ, font, font size của tất cả các label có set đúng theo yêu cầukhông?

5 Kiểm tra background (màu nền) của tất cả các label có set đúng theo yêu cầukhông?

6 Kiểm tra màu chữ và màu nền của các textbox trong chế độ read-only có đượcset đúng theo yêu cầu hay không?

7 Kiểm tra tất cả các control trên màn hình có được canh đều hay không? (Label,textbox, checkbox, list , …)

8 Kiểm tra mặc định tất cả các ký tự chữ và ký tự số đều canh trái Ngọai trừtrường hợp có yêu cầu cụ thể

9 Kiểm tra mặc định tất cả các số đều canh phải Ngọai trừ trường hợp có yêu cầu

12 Kiểm tra tất cả các textbox có yêu cầu set border hay không?

13 Kiểm tra độ phân giải của màn hình có được set theo đúng chuẩn yêu cầu haykhông?VD độ phân giải tối thiểu là 800x600

VALIDATION CHECK (Kiểm tra tính hợp lệ)

Datatype varchar, nvarchar, ntex

1 Kiểm tra maxlength

Trang 9

2 Phân biệt chữ hoa / chữ thường

3 Phân biệt 全角/半角 (toàn giác/bán giác: chỉ áp dụng với Tiếng Nhật, toàn giácthì chữ mập, tròn hơn 2-3bytes; bán giác: chữ ốm 1byte)

4 Phân biệt ký tự unicode

5 Cho phép null hay không

6 Cho phép nhập ký tự đặc biệt hay không?

Datatype (int, tinyint, float)

1 Kiểm tra maxlength

2 Kiểm tra giá trị max, min

3 Có cho phép nhập ký tự chữ hay không?

4 Cho phép nhập ký tự đặc biệt hay không?

5 Có cho phép nhập ký tự số 2 byte hay không?

6 Cho phép null hay không?

7 Không được phép nhập blank ở vị trí đầu tiên của field số

9 Không được phép nhập blank ở vị trí cuối cùng của field số

11 Kiểm tra lỗi chia cho 0

12 Kiểm tra giá trị 0 cho tất cả các tính tóan

13 Kiểm tra giá trị trong giới hạn max,min

14 Kiểm tra giá trị = giá trị max, min

15 Kiểm tra giá trị vượt giới hạn giá trị max, min

Datatype (datetime)

1 Kiểm tra maxlength

Trang 10

2 Kiểm tra ngày hợp lệ

3 Có cho phép nhập chữ hay không?

4 Có cho phép nhập ký tự đặc biệt hay không?

5 Có cho phép nhập ký tự số 2 byte hay không?

6 Kiểm tra format theo kiểu nào?

7 Kiểm tra đối với trường hợp năm nhuần có được tính đúng không?

8 Kiểm tra giá trị 00 và 13 đối với tháng

9 Kiểm tra giá trị 00 và 32 đối với ngày

10 Kiểm tra giá trị 28 , 29, 30 -Feb có được tính đúng không?

Datatype(bit)

1 Chỉ được phép nhập 0 hoặc 1

2 Có cho phép null hay không?

3 Kiểm tra nhập ký tự số 2 byte 0 hoặc 1

NAVIGATION CHECK (Kiểm tra phương pháp di chuyển/duyệt web)

1 Tất cả các trang web/cửa sổ đều có thể truy cập từ menu

2 Tất cả các cửa sổ đều có thể truy cập từ toolbar

3 Kiểm tra tất cả các màn hình được gọi từ button có được hiển thị đúng haykhông?

4 Khi chuyển page trên menu có hiển thị msg xác nhận chuyển trang hay không?

5 Khi chuyển page trên menu có hiển thị msg xác nhận chuyển trang hay không?

USABILITY CHECK: (Kiểm tra tính thân thiện của chương trình)

1 Tất cả các danh sách có được sort hay không? Mặc định là sort theo alphabel.Ngoại trừ trường hợp có yêu cầu sort cụ thể

Trang 11

2 Tất cả các giá trị ngày tháng có được format theo đúng yêu cầu hay không?

3 Tất cả các button trên màn hình có được gán với phím tắt tương ứng hay không?

4 Tất cả các phím tắt được gán có họat động đúng hay không?

5 Thứ tự Tab có theo đúng trình tự Top left bottom right hay không? Ngọai trừtrường hợp có yêu cầu set thứ tự riêng biệt

6 Kiểm tra tất cả các field read-only đều không có thứ tự tab

7 Kiểm tra tất cả các field disable đều không có thứ tự tab

8 Kiểm tra vị trí focus có được đặt ngay field đầu tiên hay control đầu tiên khi loadmàn hình hay không? Ngọai trừ có trường hợp yêu cầu set vị trí focus cụ thể

9 Trong trường hợp lỗi input, Khi hiển thị msg lỗi , có focus về vị trí lỗi sau khiđóng cửa sổ thông báo hay không?

10 Trong trường hợp lỗi thao tác, khi hiển thị msg lỗi, có focus về vị trí trước đósau khi đóng cửa sổ popup hay không?

11 Trong trường hợp gọi cửa sổ popup , sau khi đóng của sổ có focus về vị trítrước đó hay không

12 Trong trường hợp chưa đóng cửa sổ popup, thì không được phép focus xuốngtrang đang xử lý data

DATA INTEGRITY CONDITIONS (Kiểm tra tính ràng buộc dữ liệu)

1 Data có được lưu khi đóng cửa sổ hay không?

2 Kiểm tra chiều dài tối đa của tất cả các field, và đảm bảo các ký tự đều không bịcắt

3 Kiểm tra giá trị max/min đối với ký tự số

1.2.2 Kiểm thử thực thi giao diện người dùng

Kiểm thử thực thi giao diện người dùng xem xét ứng dụng về hoạt động của nó.Đánh giá xem các chức năng giao diện người dùng có hoạt động đúng đắn Nếu mộtđiều khiển giao diện không hoạt động như được thiết kế, nó có thể sẽ thất bại trong

Trang 12

việc cho phép truy cập đến các chức năng ở bên trong, trong khi tồn tại độc lập cácchức năng đó có thể hoạt động đúng đắn Kiểm thử chức năng thường được thực hiệnđồng thời với kiểm thử thiết kế giao diện người dùng, tuy nhiên nên xem xét hai loạikiểm thử này

Ranh giới giữa tính nhất quán của thiết kế và chức năng của thiết kế không phảiluôn luôn rõ ràng Ví dụ, một liên kết siêu văn bản có một màu sắc nào đó được duy trìnhất quán từ màn hình này sang màn hình khác, trong khi nền mà trên đó liên kết vănbản được hiển thị thay đổi Bởi vì nền thay đổi, liên kết văn bản trở nên rất khó đọctrên một số màn hình Mặc dù liên kết văn bản là nhất quán trong ví dụ này, màu củaliên kết văn bản nên được điều chỉnh để cải thiện khả năng dễ đọc

Các phần tử giao diện người dùng

Bảng dưới đây liệt kê một số phần tử giao diện người dùng cần được kiểm thử

Kiểu chữ (fonts)

- Sự nhất quán của hình thức thể hiện

- Tính dễ đọc của chữ

- Khó đọc kiểu chữ nghiêng và có chân

- Hiển thị lộn xộn do nhiều kiểu chữ

Màu sắc (color)

- Khả năng thích hợp của màu nền sau

- Khả năng thích hợp của màu nền trước(foreground)

- Khả năng thích hợp của màu kiểu chữ

- Sử dụng màu lộn xộn

Đường viền (border)

- Hiệu ứng ba chiều trên các nút lệnh cóthể là những gợi ý trực quan hiệu quả đốivới người dùng

- Sử dụng hiệu ứng ba chiều trên cácphần tử không tương tác có thể dẫn đến

sự khó hiểu

Hình ảnh (imager) - Các hình ảnh lớn có thể làm tăng thời

Trang 13

- Sử dụng các nút quay lui thường dẫnđến những kết quả không mong muốn.

Bảng 1.1 Các phần tử giao diện người dùng.

1.3 Một số chú ý khi kiểm thử giao diện

1 Kiểm thử giao diện nên kiểm thử trên nhiều trình duyệt để đảm bảo sự tin cậy

2 Kiểm thử giao diện cần và quan trọng nhất là dựa trên bản đặc tả

3 Quan tâm đến yêu cầu mong muốn của khách hàng

Trang 14

CHƯƠNG II: TÌM HIỂU VỀ CÔNG CỤ 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ở, được pháttriển bởi Jason Huggins, sau đó được tiếp tục phát triển bởi nhóm Thought work năm2004

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 các trình duyệt web phổ biến hiện nay nhưFirefox, Internet Explorer, Google Chrome, và hỗ trợ trên rất nhiều ngôn ngữ lập trìnhphổ biến như C#, Java, Python, PHP Không những vậy, selenium còn có thể kết hợpvới một số công cu kiểm thử như Junit, Bromiem, 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 phần đóng một vai trò cụ thể trong việckiểm thử các ứng dụng Web Các ứng dụng đó 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 giao

diện dễ sử dụng để phát triển và chạy trường hợp kiểm thử Selenium IDE có tính

nă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ích hợpvới trình duyệt Firefox, cho phép người dùng chọn một danh sách xác minh (veryfy)

và khẳng định (assert) cho các yếu tố giao diện đã chọn selenium cũng cung cấp cáctính năng chỉnh sửa các trường hợp kiểm thử chính xác và dễ kiểm soát hơn

Mặc dù Selenium IDE chỉ là một Firefox add-on, nhưng các test case đã tạo rabằng Selenium IDE vẫn có thể chạy trên các trình duyệt khác bằng cách sử dụngSelenium RC

Selenium core (Remote control): Selenium RC cho phép các nhà phát triển tự

động hóa kiểm thử sử dụng ngôn ngữ lập trình cho tính linh hoạt tối đa và mở rộngtrong việc mở rộng logic thử nghiệm ví dụ, trình ứng dụng trả về một tập kết quả củaviệc kiểm thử và nếu chương trình thử nghiệm tự động cần chạy thử trên mỗi phần tửtrong tậ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ệnh Selenium chạy thử trên mỗimục

Trang 15

Selenium RC: cung cấp một API (Application Programming Interfac) và thư

viện cho 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 ngôn ngữ lập trình bậc cao để phát triển cáctrường hợp thử ngiệm cũng cho phép thử nghiệm tự động được tích hợp với một dự ánmối trường được 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

Ðồ án 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 huớ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 đồ án

3.2 Selenium IDE

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 do vậ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

2.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 install software on yourcomputer" (Firefox đã chặn phần mềm từ trang web (seleniumhq.org), bạn có chắcchắ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

Trang 16

- Bước 3: Một pop up xuất hiện như hình:

- Bước 4: Firefox thực hiện đếm ngược, nút Cài đặt chuyển sang trạng thái active,

có thế click được Selenium sẽ bắt đầu được cài đặt trong máy tính giống như 1 add-oncủ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: Kiểm tra lại phần add-on của firefox xem đã có Selenium chưa Hiển thịnhư hình thì việc cài Selenium đã thành công

Trang 17

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

Trang 18

Giải thích một số ký hiệu:

- Base URL: Đây là nơi điền URL của ứng dụng eb đượ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ềuchỉ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áclệ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

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

Trang 19

- 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ộttest case tự động Ngay cả khi ta không chọn tab log, các thông tin này vẫn hiển thị.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ình trongquá 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ộtthời gian xác định

3.2.3 Các thao tác thực hiện kiểm thử tự động với Selenium

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 như hình dưới

Trang 20

- 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à: https://mail.viettel.com.vn/

+ Nút thu mặc định ở trạng thái "now recording, click to stop recording"

- Bước 3: Tiến hành các thao tác cần kiểm thử trên link

Ví dụ: Ta thực hiện kiểm thử tự động trường hợp đăng nhập vào trang web thànhcông với username/password hợp lệ

Trong quá trình thu, Selenium IDE sẽ tự động chèn thêm các lệnh vào test casedựa trên hành động của người thực hiện Các command được tự động thêm phổ biến:

- Click a link- click or clickAndWait commands

- Nhập các giá trị- type command

- Chọn các giá trị từ một select box - select command

- Click vào các checkboxe hoặc các radio button - click command

Trang 21

- Bước 4: Click vào nút thu Nút thu ở trạng thái "Click to record"

- Bước 5: Save as test case

- Một số lưu ý: Sau một liên kết thường ghi lại một lệnh nhấp chuột, phải thay đổi

tốc độ chạy của test case để đảm bảo test case tạm dừng cho đến khi trang mới đượctải xong Nếu không, test case sẽ tiếp tục chạy trước khi các trang đã được nạp tất cảcác yếu tố của nó Điều này sẽ gây ra test case bị thất bại

Thêm các lệnh khẳng định và xác nhận với menu ngữ cảnh

Các trường hợp kiểm kiểm thử các thuộc tính của một trang web sẽ đòi hỏi cáclệnh xác minh (verify) và khẳng định (assert) các yếu tố trên giao diện Phần dưới đây

sẽ trình bày cách thêm các lệnh này vào test case của chúng ta

Khi thu một test case với Selenium IDE, vào trình duyệt hiển thị website ta muốnthực hiện kiểm thử, trỏ truột phải vào bất cứ vị trí nào trên trang, ta sẽ thấy các lệnhxác minh và khẳng định như hình dưới Để sử dụng các lệnh này ta chỉ việc chọn lệnhxác minh hoặc khẳng định mong muốn Các lệnh này sẽ tự động hiển thị trong testcase Selenium sẽ dự đoán các lệnh, các thông số cần có trên giao diện để bổ xung cáclệnh xác minh Khi chọn thông báo Show All Avaiable Commands, sẽ có nhiều lệnhxác minh được gợi ý hơn như hình dưới:

Trang 22

Các thao tác chỉnh sửa

- Chèn lệnh:

+ Chèn vào bảng: Trong ô test case, click chuột trái tại vị trí muốn chèn lệnh Chuộtphải và chọn Insert command Selenium IDE sẽ thêm một dòng trắng phía trước dòngđược chọn Nhập lệnh vào ô command, kết quả mong muốn vào ô target, giá trị đầuvào vào ô value

+ Chèn vào mã nguồn: Chọn vị trí trong test case mà bạn muốn chèn lệnh Trong ôtest case, chuột trái vào vị trí muốn chèn lệnh Vào tag HTML, cần tạo 3 dòng chứalệnh bao gồm tham số đầu tiên (nếu lệnh yêu cầu có tham số), tham số thứ hai (nếucó) Lưu test case trước khi chọn lại table view

- Chèn comment: Các comment có thể được thêm vào cho test case dễ hiểu hơn.

Những comment được bỏ qua khi chạy test case Comment có thể được sử dụng đểthêm vào các khoảng trống dọc (một hoặc nhiều dòng trắng) vào các test case củachúng ta, khi chúng ta tạo ra các comment trắng Một lệnh trắng sẽ tạo ra 1 lỗi khi thựcthi còn một comment trắng thì không tạo ra lỗi khi thực thi

+ Chèn vào bảng: Chọn vị trí trong test case muốn comment Click chuột phải vàchọn Insert Comment Sử dụng trường Command để nhập comment

+ Chèn vào mã nguồn: Chọn vị trí trong test case muốn chèn comment Thêm mộtcomment có dạng HTML Ví dụ: <! Enter your comment here >

- Chỉnh sửa comment hay lệnh:

+ Chỉnh sửa qua giao diện: Chọn dòng cần chỉnh sửa và chỉnh sửa nó bằng cáctrường Command, Target, và Value

+ Chỉnh sửa qua mã nguồn: Vào mã nguồn, chỉnh sửa trực tiếp vào dòng commenthay lệnh muốn chỉnh sửa

Mở và lưu lại một test case

- Chọn tập tin/ Open hoặc Save Tuy nhiên Selenium có sự khác biệt giữa các testcase và test suite Để lưu lại các bước kiểm thử trên Selenium-IDE sau khi sử dụng,bạn có thể lưu lại một test case riêng lẻ, hay lưu nhiều test case dưới dạng một testsuite Nếu các test case của test suite không được lưu Chương trình sẽ nhắc nhở ta lưu

Trang 23

chúng trước khi lưu một test suite Khi mở một test case hoặc một test suite đã có,Selenium-IDE hiển thị các câu lệnh trong ô test case

Chạy các test case

Selenium IDE có nhiều lựa chọn để chạy test case Bạn có thể chạy một test case,dừng và chạy tiếp, chạy một dòng lệnh riêng lẻ, hay chạy một test suite

- Chạy một test case: Chọn một test case sau đó click vào nút Run để chạy một testcase

- Stop and Start: Nút Pause được dùng để tạm dừng một test case khi nó đang chạy

Để tiếp tục chạy test case bị tạm dừng, click nút Resume

- Tạm dừng ở giữa: Bạn có thể chọn một điểm ở giữa test case để tạm dừng nó tạimột câu lệnh đặc biệt Điều này có ích trong việc gỡ lỗi trong test case Để chọn mộtđiểm dừng cho test case, chọn câu lệnh, chuột phải, chọn Set/Clear Start Point

- Bắt đầu từ giữa: Chúng ta cũng có thể bắt đầu chạy một test case từ một điểm xácđịnh ở giữa test case, thao tác này cũng được sử dụng trong gỡ lỗi Để gán điểm bắtđầu, ta chọn câu lệnh làm điểm bắt đầu, chuột phải, chọn Set/Clear Start Point

- Chạy một câu lệnh đơn lẻ bất kỳ: Double-Click câu lệnh muốn chạy Việc này cóích khi viết một câu lệnh đơn lẻ

2.2.4 Selenese

Tập lệnh Selenium gọi là Selenese là một tập các lệnh để chạy kịch bản kiểm thử.Một chuỗi các lệnh được gọi là một kịch bản kiểm thử Phần dưới của đồ án sẽ trìnhbày chi tiết các lệnh thường được sử dụng trong Selenium

Selenium cung cấp một tập đầy đủ các lệnh để kiểm thử các ứng dụng web.Trong selenese có thể kiểm thử tình trạng của các yếu tố giao diện người dùng dựatrên các thẻ HTML, kiểm thử nội dung xác định, kiểm thử các link hỏng, lỗi, cáctrường đầu vào, lựa chọn danh sách

Một lệnh mô tả thao tác phải làm Lệnh Selenium bao gồm ba yếu tố: Actions,accessors, assertion

- Action: là các thao tác chung trên ứng dụng, ví dụ: “Click this link”, “Select thatoption” Nếu như thao tác thất bại sẽ có 1 lỗi, việc thực thi kiểm thử sẽ bị tạm dừng

Ngày đăng: 30/12/2015, 18:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Xuân Huy, Công nghệ phần mềm, Đại học Tổng hợp Tp. Hồ Chí Minh, 1994 Sách, tạp chí
Tiêu đề: Công nghệ phần mềm
[3]. Pressman R, Introduction to Software Engineering, Ngô Trung Việt dịch, Nhà xuất bản Giáo dục, 1997 Sách, tạp chí
Tiêu đề: Introduction to Software Engineering
Nhà XB: Nhàxuất bản Giáo dục
[4]. Beizer, B., Black- box Testing, Wiley, 1995 Sách, tạp chí
Tiêu đề: Black- box Testing
[5]. Boehm. B. W., Software Engineering, IEEE Transactions on Computers, 1976 Sách, tạp chí
Tiêu đề: Software Engineering
[6]. British Standard, BS 7925- 1 - Standard for Software Component Vocabulary, British Computer Society, 1998 Sách, tạp chí
Tiêu đề: Vocabulary
[7]. British Standard, BS 7925- 2 - Standard for Software Component Testing, British Computer Society, p. 1- 15, 1998 Sách, tạp chí
Tiêu đề: BS 7925- 2 - Standard for Software Component Testing
[8]. Cem Kaner, Jack Falk, Hung Quoc Nguyen, Testing Computer Software, John Wiley &amp; Sons, Inc., p. 27- 141, 1999 Sách, tạp chí
Tiêu đề: Testing Computer Software
[2]. Nguyễn Quốc Toản, Bài giảng nhập môn Công trình học phần mềm, Khoa Công nghệ - Đại học Quốc gia Hà Nội, 2000 Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w