MỤC LỤC LỜI NÓI ĐẦU 4 TÓM TẮT ĐỒ ÁN 5 DANH SÁCH CÁC HÌNH VẼ 8 DANH SÁCH CÁC BẢNG BIỂU 9 DANH SÁCH CÁC TỪ VIẾT TẮT 10 PHẦN MỞ ĐẦU 11 CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 12 1.1.Định nghĩa kiểm thử phần mềm 12 1.2.Mục tiêu của kiểm thử phần mềm 13 1.3.Các nguyên tắc cơ bản của kiểm thử phần mềm 13 1.4 Qui trình kiểm thử phần mềm 14 1.5.Phân loại kiểm thử 15 1.6.Kiểm thử tự động 20 CHƯƠNG 2: SỬ DỤNG CÔNG CỤ HỖ TRỢ SELENIUM ĐỂ 24 KIỂM THƯ ỨNG DỤNG WEB 24 1. Tổng quan về Selenium 25 2. Các tính năng của Selenium. 26 2.1. Giới thiệu về Selenium IDE. 26 2.2. Hướng dẫn cài đặt Selenium IDE. 26 2.3. Các icon của Selenium IDE. 28 2.4. Các thao tác thực hiện kiểm thử tự động với Selenium IDE 30 CHƯƠNG III : DEMO CHƯƠNG TRÌNH 53 I. Tổng quan 53 1.1 .Giới thiệu chương trình áp dụng : 53 1.2. Mục đích : 53 1.3. Phạm vi : 53 1.4. Lập kế hoạch kiểm thử : 53 1.5.Những yêu cầu về tài nguyên : 54 1.6.Môi trường kiểm thử : 55 II. Yêu cầu Người sử dụng 55 2.1. Tổng quan về yêu cầu chức năng của hệ thống : 55 2.2. Tổng quan về yêu cầu phi chức năng của hệ thống : 56 2.3. Yêu cầu chức năng chi tiết của công việc : 57 III. Đặc tả yêu cầu 59 1. Xác định tác nhân của hệ thống : 59 2. Biểu đồ Usecase cho hệ thống. 59 3. Đặc tả Usecase Error Bookmark not defined. IV. Giao diện chương trình 70 4.1. Giao diện “Đăng nhập “ 70 4.2.Giao diện “ Trang chủ “ 70 4.3.Giao diện “Thêm mới dự án “ 70 4.4.Giao diện “Báo cáo các dự án không có giao dịch phát sinh “ 71 4.5.Giao diện “ Báo cáo công việc theo tuần “ 71 V. Thực hiện kiểm thử : 72 KẾT LUẬN 73 TÀI LIỆU THAM KHẢO 74
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài : Kiểm thử ứng dụng Web “ KPIonline” với công cụ
Giáo viên hướng dẫn : ThS.Nguyễn Thị Thanh Huyền.
Thời gian viết đồ án :
Hà Nội: 2016
Trang 2Phiếu giao đề tài
Trang 3NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của GV hướng dẫn)
.
Điểm .(bằng chữ )
(Đồng ý/ không đồng ý cho SV bảo vệ trước hội đồng chấm đồ án tốt nghiệp)
Hà Nội, ngày tháng năm 2016
CÁN B , GI NG VIÊN H Ộ, GIẢNG VIÊN HƯỚNG DÂN ẢNG VIÊN HƯỚNG DÂN ƯỚNG DÂN NG DÂN
Trang 4LỜI NÓI ĐẦU
Lời đầu tiên cho em xin gửi lời cảm ơn chân thành và sâu sắc tới các thầygiáo, cô giáo trong trường Đại Học Công Nghiệp Hà Nội và đặc biệt là thầy giáo, côgiáo trong khoa Công Nghệ Thông Tin, bộ môn Công Nghệ Phần Mềm đã tận tìnhgiảng dạy truyền đạt cho em những kiến thức, kinh nghiệm vô cùng quý báu trongsuốt thời gian qua
Đặc biệt em xin gửi lời cảm ơn tới cô giáo ThS.Nguyễn Thị Thanh Huyền,
cô đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm đồ
án tốt nghiệp Trong thời gian làm việc với cô, em không ngừng tiếp thu đượcnhững kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứunghiêm túc, hiệu quả Đây là những điều rất cần thiết cho em trong suốt quá trìnhhọc tập và công tác sau này
Mặc dù trong quá trình nghiên cứu và làm đồ án em đã rất cố gắng, tuy nhiênkhông thể tránh khỏi những thiếu sót Em hy vọng sẽ nhận được những ý kiến nhậnxét, góp ý của các nhà khoa học, cũng như các thầy cô giáo cùng các bạn về nhữngvấn đề được triển khai trong đồ án tốt nghiệp
Cuối cùng em xin gửi lời cảm ơn chân thành tới công ty cổ phần Proview, đãđóng góp ý kiến và giúp đỡ em trong quá trình học tập, nghiên cứu và hoàn thành
đồ án tốt nghiệp này
Em xin chân thành cảm ơn!
Trang 5TÓM TẮT ĐỒ ÁN
Trong giai đoạn phát triển của công nghệ thông tin, ngành công nghệ phầnmềm đang ngày một chiếm vị trí quan trọng trong xu hướng phát triển kinh tế côngnghiệp hóa, hiện đại hóa của đất nước ta Cùng với sự phát triển của công nghệphần mềm, lỗi phần mềm và chất lượng phần mềm luôn là thách thức lớn với bảnthân ngành phần mềm khi thực tế đã chứng minh, kiểm thử phần mềm là giai đoạnchiếm đến hơn 40% thời gian, kinh phí và nguồn nhân lực phát triển dự án phầnmềm.Tuy nhiên ở Việt Nam hiện nay, việc kiểm thử phần mềm vẫn chưa thực sựđược nhìn nhận đúng với tầm quan trọng của nó Điều này thể hiện ở tỷ lệ kỹ sưkiểm thử phần mềm ở Việt Nam còn khá thấp, cứ 5 lập trình viên thì mới có 1 kỹ sưkiểm thử, trong khi tỷ lệ này theo chuẩn quốc tế là 3:1 Thêm vào đó, mức độ đápứng của kỹ sư kiểm thử phần mềm ở Việt Nam chưa cao Nguyên nhân của việc nàyđến từ sự thiếu hụt các đơn vị đào tạo chuyên sâu về kiểm thử và nguyên nhân sâu
xa vẫn là vấn đề kiểm thử phần mềm ở Việt Nam vẫn chưa được chuyên nghiệp hóa
và đầu tư đúng mức
Ngày nay, tự động hóa đang được nghiên cứu và ứng dụng trong nhiều lĩnhvực trong đó công nghệ phần mềm nói chung và kiểm thử phần mềm nói riêng cũngkhông ngoại lệ Khi mà kiểm thử phần mềm vẫn tiêu tốn một lượng lớn thời gian,kinh phí và nhân lực trong một dự án phần mềm thì song song với kiểm thử truyềnthông thủ công, sự ra đời của các công cụ hỗ trợ kiểm thử tự động như: Quick TestProfessional, Selenium IDE, Nunit…
Selenium là một công cụ kiểm thử ứng dụng Web tiêu biểu Đây là một công cụ mãnguồn mở, mạnh mẽ hỗ trợ trên nền Web, nhiều platform và các trình duyệt phổbiến Công cụ này được phát triển chủ yếu trong Java script và công nghệ trìnhduyệt như DHTML và các khung hình, và do đó hỗ trợ tất cả các trình duyệt chínhtrên tất cả các nền tảng Selenium có lẽ là một trong những công cụ tốt nhất trên thịtrường cho các ứng dụng Web Điều đáng lưu ý là kiểm thử phần mềm nói chung
và kiểm thử ứng dụng web nói riêng đều chưa được phổ biến ở Việt Nam Đây cũng
lý do em chọn đề tài “Kiểm thử ứng dụng Web với công cụ Selenium” với mong
muốn giúp nhiều người hiểu rõ hơn nữa về kiểm thử ứng dụng web, cũng như cách
sử dụng công cụ Selenium vào công việc này
Trang 61.2.Mục tiêu của kiểm thử phần mềm 13
1.3.Các nguyên tắc cơ bản của kiểm thử phần mềm 13
1.4 Qui trình kiểm thử phần mềm 14
1.5.Phân loại kiểm thử 15
1.6.Kiểm thử tự động 20
1 Tổng quan về Selenium 25
2 Các tính năng của Selenium. 26
2.1 Giới thiệu về Selenium IDE 26
2.3 Các icon của Selenium IDE 28
2.4 Các thao tác thực hiện kiểm thử tự động với Selenium IDE 30
CHƯƠNG III : DEMO CHƯƠNG TRÌNH 53
Trang 71.6.Môi trường kiểm thử : 55
II Yêu cầu Người sử dụng 55
2.1 Tổng quan về yêu cầu chức năng của hệ thống : 55
2.2 Tổng quan về yêu cầu phi chức năng của hệ thống : 562.3 Yêu cầu chức năng chi tiết của công việc : 57
III Đặc tả yêu cầu 59
1 Xác định tác nhân của hệ thống : 59
2 Biểu đồ Usecase cho hệ thống 59
3 Đặc tả Usecase Error! Bookmark not defined.
IV Giao diện chương trình 70
4.1 Giao diện “Đăng nhập “ 70
4.2.Giao diện “ Trang chủ “ 70
4.3.Giao diện “Thêm mới dự án “ 70
4.4.Giao diện “Báo cáo các dự án không có giao dịch phát sinh “ 714.5.Giao diện “ Báo cáo công việc theo tuần “ 71
V Thực hiện kiểm thử : 72
KẾT LUẬN 73
TÀI LIỆU THAM KHẢO 74
Trang 8Hình 2.1 : Trang Download tiện ích IDE 27
Hình 2.2: Popup Alow hiển thị khi cài đặt IDE 27
Hình 2.3: Các thành phần được cài đặt trong Selenium IDE 27
Hình 2.4: Thao tác mở IDE trên menu Tools 28
Hình 2.6: Giải thích các thành phần và ký hiệu của Selenium IDE 29
Hình 3.3 :Giao diện đăng nhập 70
Hình 3.4 : Giao diện trang chủ 70
Hình 3.6 : Giao diện báo cáo dự án không có giao dịch phát sinh 71
Hình 3.7: Giao diện báo cáo công việc theo tuần72
Trang 9Bảng 3.9 Mô tả kịch bản chia sẻ quyền 64
Bảng 3.10 Mô tả kịch bản báo cáo 66
Trang 11PHẦN MỞ ĐẦU
M c tiêu nghiên ục tiêu nghiên c u ứu
- Đề tài giới thiệu về phần mềm, các loại kiểm thử phần mềm, các công cụ hỗ trợ kiểm thử tự động
- Đi sâu vào nghiên cứu tính năng của công cụ Selenium, các thành phần của bộ công cụ
- Đưa ra tài liệu, hướng dẫn cài đặt, sử dụng một cách đơn giản và hiệu quả các bộ công cụ đó
- Ứng dụng kiến thức về kiểm thử phần mềm và kiến thức về
Selenium viết kịch bản cho một ứng dụng cụ thể
B c c n i dung c a đ án ố cục nội dung của đồ án ục tiêu nghiên ội dung của đồ án ủa đồ án ồ án
Đồ án tốt nghiệp được tổ chức làm 5 phần như sau :
- Mở đầu: Trình bày rõ lý do chọn đề tài, mục tiêu nghiên cứu đồ án
và bố cục của đồ án
- Chương 1: Tổng quan về kiểm thử : Chương này trình bày các khái
niệm cơ bản về phần mềm, kiểm thử phần mềm, các loại kiểm thử phần mềm
- Chương 2: Sử dụng công cụ test Selenium để test ứng dụng Web:
Giới thiệu chung về Selenium, các cài đặt và sử dụng bộ công cụ, ứng dụngthực tế với Selenium
- Chương 3: Demo chương trình
- Kết luận: Chương này đưa ra những kết quả đồ án đạt được, những
thiếu sót chưa thực hiện được và hướng phát triển đề tài trong tương lai
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM
1.1 Đ nh nghĩa ki m th ph n m m ịnh nghĩa kiểm thử phần mềm ểm thử phần mềm ử phần mềm ần mềm ềm
Kiểm thử phần mềm có nhiều định nghĩa khác nhau đề xuất bởi nhiều tổchức hay cá nhân khác nhau Phần này của đồ án sẽ trình bày một số định nghĩanổi bật:
-Định nghĩa của Myer (1979): "Kiểm thử là quá trình thực thi một chương
trình với mục đích tìm ra lỗi" Theo như định nghĩa này, quá trình kiểm thử baogồm tất cả các hoạt động từ kiểm tra mã nguồn được thực hiện bởi trưởng nhómphát triển, đến việc chạy thử chương trình được tiến hành bởi các đồng nghiệpkhác Tất cả các hoạt động trên đều được coi là các hoạt động kiểm thử
-Hai định nghĩa của IEEE (1990):
Định nghĩa 1: Kiểm thử phần mềm là quá trình vận hành một hệ
thống hoặc một thành phần của hệ thống với các điều kiện xác định, nhận xét vàghi lại các kết quả, tạo ra đánh giá về những khía cạnh của hệ thống hay thànhphần hệ thống
Định nghĩa 2: Kiểm thử phần mềm là quá trình phân tích các yếu tố
phần mềm để phát hiện những khác biệt giữa chương trình với các điều kiện yêucầu và đánh giá các đặc điểm của các yếu tố phần mềm
Theo như định nghĩa 2, việc chạy chương trình như một phần của tiến trìnhkiểm thử phần mềm là không cần thiết
-Định nghĩa của Daniel Galin: "Kiểm thử phần mềm là một quá trình
được tiến hành bởi một nhóm chuyên viên kiểm thử, trong đó một đơn vị phầnmềm, một nhóm các đơn vị được tích hợp, hoặc cả gói phần mềm được kiểm trabằng các chạy các chương trình trên máy tính Tất cả các bước kiểm tra liên đượctiến hành theo các thủ tục kiểm thử và các trường hợp kiểm thử đã được thôngqua"
Trang 13Định nghĩa của Daniel Galin là một định nghĩa khá hoàn thiện về kiểmthử phần mềm Một số thuật ngữ có trong định nghĩa của Daniel Galin:
Nhóm chuyên viên kiểm thử: Một nhóm độc lập hoặc nhóm tư vấn từbên ngoài, những người chuyên kiểm thử được chỉ định để thực hiện các nhiệm
vụ chủ yếu là để phát hiện và loại bỏ sai lệch và để đảm bảo kiểm thử hiệu quả bởicác chuyên gia kiểm thử được đào tạo
Các thủ tục kiểm thử đã được thông qua: Quá trình kiểm thử được thựchiện theo kế hoạch kiểm thử và các thủ tục kiểm thử được thông qua phù hợp vớicác thủ tục đảm bảo chất lượng phần mềm được thông qua bởi tổ chức phát triểnphần mềm
Các trường hợp kiểm thử được thông qua: Các trường hợp kiểm thử đượcđịnh nghĩa đầy đủ trong kế hoạch kiểm thử Không có sự thiếu xót hoặc bổ sungnào được mong đợi xảy ra trong suốt quá trình thực thi kiểm thử
1.2 Mục tiêu của kiểm thử phần mềm
1.2.2 Mục tiêu gián tiếp
-Để biên dịch một tài liệu về các lỗi phần mềm thường gặp nhằm mụcđích ngăn ngừa và sửa chữa lỗi
1.3 Các nguyên t c c b n c a ki m th ph n m m ắc cơ bản của kiểm thử phần mềm ơ bản của kiểm thử phần mềm ản của kiểm thử phần mềm ủa đồ án ểm thử phần mềm ử phần mềm ần mềm ềm
Có bảy nguyên tắc cơ bản cần chú ý khi kiểm thử phần mềm, các nguyên tắc
đó là:
-Kiểm thử để chứng minh sự có mặt của lỗi và không chứng minh điềungược lại
-Không thể kiểm thử vét cạn
Trang 14-Kiểm thử sớm
-Phân cụm lỗi
-Kiểm thử ngược
-Kiểm thử phụ thuộc vào ngữ cảnh
-Sai lầm về việc không có lỗi
1.4 Qui trình ki m th ph n m m ểm thử phần mềm ử phần mềm ần mềm ềm
Mục đích của kiểm thử là thiết kế một chuỗi các trường hợp kiểm thử mà cókhả năng phát hiện lỗi cao Để cho việc kiểm thử đạt được kết quả tốt cần có sựchuẩn bị về kế hoạch kiểm thử, thiết kế các trường hợp kiểm thử và các dữ liệukiểm thử cho các trường hợp Đây chính là đầu vào cho giai đoạn kiểm thử Và sảnphẩm công việc của giai đoạn kiểm thử chính là “báo cáo kiểm thử” mà tài liệu hóatất cả các trường hợp kiểm thử đã chạy, dữ liệu đầu vào, đầu ra mong đợi, đầu rathực tế và mục đích của kiểm thử,…
Hình 1.1: Quy trình phát triển phần mềm
Tùy vào từng tổ chức, hệ thống, ngữ cảnh, mức độ rủi do của phần mềm
mà qui trình kiểm thử phần mềm có thể gồm nhiều bước khác nhau Nhưng nhìnchung mọi qui trình kiểm thử đều có những bước cơ bản như qui trình dưới đây:
Phân tích
Lập kế
hoạch
Bàn giao SP
phẩm
Thiết kế
Mã hóa
KIỂM THỬ
Kế hoạch kiểm thử Các trường hợp kiểm thử
Dữ liệu kiểm thử
Các báo cáo kiểm thử
Trang 15Hình 1.2: Quy trình kiểm thử
Theo đó một qui trình kiểm thử phần mềm cơ bản gồm 4 giai đoạn:
-Lập kế hoạch kiểm thử : Nhiệm vụ quan trọng trong phần lập kế hoạch
kiểm thử là xác định được các yếu tố sau:
Các giai đoạn kiểm thử áp dụng cho dự án
Mốc bàn giao các tài liệu kiểm thử
-Chuẩn bị kiểm thử : Nhiệm vụ chiến lược của giai đoạn này là:
Tìm hiểu nghiệp vụ của hệ thống phải kiểm thử
Xây dựng kịch bản kiểm thử, phát triển các thủ tục và các kịch bản kiểmthử tự động (trong trường hợp kiểm thử tự động)
Chuẩn bị dữ liệu kiểm thử
Xem xét phê duyệt các tài liệu kiểm thử
-Thực thi kiể m thử :
Thực hiện kiểm thử dựa trên các kịch bản kiểm thử,test script, thủ tục, dữliệu có sẵn từ bước chuẩn bị kiểm thử
Tham gia quá trình quản lý lỗi: báo lỗi, sửa lỗi
-Báo cáo và phân tích dữ liệu kiểm thử :
Báo cáo kiểm thử
Phân tích nguyên nhân và đề xuất các hành động khắc phục
1.5 Phân loại kiểm thử
1.5.1 Căn cứ vào kỹ thuật kiểm thử
Trang 16Kiểm thử tĩnh: (Static Testing)
Là phương pháp kiểm thử phần mềm đòi hỏi phải duyệt lại các yêu cầu vàcác đặc tả bằng tay, thông qua việc sử dụng giấy, bút để kiểm tra logic, lần từng chitiết mà không cần chạy chương trình Kiểu kiểm thử này thường được sử dụng bởichuyên viên thiết kế người mà viết mã lệnh một mình
Kiểm thử tĩnh cũng có thể được tự động hóa Nó sẽ thực hiện kiểm tra toàn
bộ bao gồm các chương trình được phân tích bởi một trình thông dịch hoặc biêndịch mà xác nhận tính hợp lệ về cú pháp của chương trình
Kiểm thử động: (Dynamic Testing)
Là phương pháp kiểm thử phần mềm thông qua việc dùng máy chạychương trình để điều tra trạng thái tác động của chương trình Đó là kiểm thửdựa trên các ca kiểm thử xác định bằng sự thực hiện của đối tượng kiểm thử haychạy các chương trình Kiểm thử động kiểm tra cách thức hoạt động của mã lệnh,tức là kiểm tra sự phản ứng vật lý từ hệ thống tới các biến luôn thay đổi theo thờigian
Trong kiểm thử động, phần mềm phải thực sự được biên dịch và chạy.Kiểm thử động thực sự bao gồm làm việc với phần mềm, nhập các giá trị đầu vào
và kiểm tra xem liệu đầu ra có như mong muốn hay không Các phương pháp
kiểm thử động gồm có kiểm thử Unit – Unit Tests, Kiểm thử tích hợp – Intergration Tests, Kiểm thử hệ thống – System Tests, và Kiểm thử chấp nhận sản phẩm – Acceptance Tests.
1.5.2 Căn cứ vào phương pháp kiểm thử
mà chỉ quan tâm tới dữ liệu đầu vào và đầu ra sau khi được xử lý
- Mục đích của chiến lược này là tìm kiếm các trường hợp mà chương trình
Trang 17không thực hiện theo các đặc tả của nó.
- Ưu, nhược điểm: Kiểm thử hộp đen có ưu điểm là có thể đánh giá phầnmềm một cách khách quan, người kiểm thử có thể không hiểu biết về mã lệnh
và có thể tìm ra các lỗi mà nhân viên phát triển không tìm ra Song kiểm thử hộpđen lại có nhược điểm là thăm dò mù, do nhân viên kiểm thử không biết cácchương trình thực sự được xây dựng như thế nào, dẫn đến trường hợp nếu kiểmthử hộp đen phải viết rất nhiều trường hợp kiểm thử trong khi chỉ cần viết một cakiểm thử duy nhất để có thể kiểm tra được
Kiểm thử hộp trắng
Kỹ thuật kiểm thử hộp trắng hay còn gọi là “kiểm thử cấu trúc” là kỹ thuậtkiểm thử cho phép khảo sát kiến trúc bên trong của chương trình Kiểm thử hộptrắng là chiến lược được thực hiện trên ba trong sáu loại kiểm thử cơ bản trongcác giai đoạn kiểm thử phần mềm là: kiểm thử đơn vị, kiểm thử tích hợp và kiểmthử hồi quy Mục tiêu của kiểm thử hộp trắng là kiểm thử bao phủ nhiều nhất cáccâu lệnh, điểm quyết định và các rẽ nhánh trong mã nguồn nếu có thể
Kiểm thử hộp xám
Kiểm thử hộp xám là kỹ thuật kiểm thử có sự kết hợp giữa kiểm thử hộpđen và kiểm thử hộp trắng Trong đó ta cũng quan tâm đến dữ liệu đầu vào và đầu
ra giống như trong kiểm thử hộp đen, song lại đòi hỏi có sự truy cập đến cấu trúc
dữ liệu và giải thuật để thiết kế các trường hợp kiểm thử
1.5.3 Căn cứ vào mức độ giai đoạn
Kiểm thử phần mềm gồm 4 giai đoạn chính:
Trang 18Hình 1.3: Các giai đoạn trong kiểm thử phần mềm
1.5.3.1 Kiểm thử đơn vị
-Đơn vị: Là thành phần nhỏ nhất của phần mềm có thể kiểm thử được Vídụ: Các hàm, lớp, thủ tục, phương thức Đơn vị thường có kích thước nhỏ, chứcnăng hoạt động đơn giản, không gây nhiều khó khăn trong việc kiểm thử, ghinhận và phân tích kết quả do đó nếu phát hiện lỗi việc tìm kiếm nguyên nhân vàsửa lỗi cũng đơn giản và tốn ít chi phí hơn Một nguyên lý đúc kết từ thực tiễn làthời gian dành cho kiểm thử đơn vị sẽ được đền bù bằng việc tiết kiệm được khánhiều thời gian và chi phí cho việc kiểm thử và sửa lỗi ở các mức độ kiểm thử sauđó
-Mục đích: Đảm bảo thông tin được xử lý đúng và có đầu ra chính xáctrong mối tương quan giữa dữ liệu nhập và chức năng của đơn vị
-Người thực hiện: Do việc kiểm thử đơn vị đòi hỏi phải kiểm tra từngnhánh lệnh, nên đòi hỏi người kiểm thử có kiến thức về lập trình cũng như vềthiết kế của hệ thống nên người thực hiện thường là lập trình viên
Trang 19chuẩn bị cho kiểm thử hệ thống.
-Người thực hiện: Thường là lập trình viên
-Lưu ý:
Kiểm thử tích hợp chỉ nên thực hiện trên từng đơn vị đã được kiểm tracẩn thận trước đó bằng kiểm thử đơn vị, và tất cả các lỗi mức đơn vị đã được sửachữa
Nên tích hợp dần từng đơn vị: Một đơn vị nên được tích hợp vào mộtnhóm các đơn vị khác đã được tích hợp và hoàn thành kiểm thử tích hợp trước
đó vì khi đó chỉ cần kiếm tra giao tiếp giữa đơn vị mới được thêm vào với nhómcác đơn vị đã được tích hợp trước đó
Kiểm thử hiệu năng
Kiểm thử hồi quy
-Mục đích: kiểm tra xem hệ thống được làm ra có thỏa mãn yêu cầu haykhông về nhiều khía cạnh: hoạt động, độ tin cậy, hiệu năng của hệ thống
-Người thực hiện: Nhóm nhân viên kiểm thử
-Kiểm thử giao diện người sử dụng
Trang 20Kiểm thử giao diện người sử dụng gọi tắt kiểm thử giao diện là việckiểm tra các tương tác của người dùng với phần mềm Mục tiêu của kiểm thử giaodiện là để đảm bảo rằng giao diện người dùng cung cấp cho người sử dụng cáchtruy cập và sử dụng các chức năng của hệ thống một cách thích hợp Ngoài ra,kiểm thử giao diện còn để đảm bảo rằng các đối tượng trên giao diện giống nhưthiết kế và phù hợp với tổ chức hoặc chuyên ngành
-Kiểm thử luồng nghiệp vụ
Mục đích của kiểm thử luồng nghiệp vụ là kiểm tra các yêu cầu chức năng
và nghiệp vụ của hệ thống bao gồm các hoạt động để kiểm tra tính đúng đắn của
dữ liệu, qui trình, báo cáo và việc thực hiện đúng những qui tắc nghiệp vụ Kiểu kiểm thử này dựa vào kỹ thuật kiểm thử hộp đen, tức là kiểm tra ứng dụng vàcác xử lý bên trong ứng dụng bằng cách tương tác với ứng dụng thông qua giaodiện người sử dụng và phân tích các kết quả hoặc đầu ra
Mục đích của kiểm thử hiệu năng là kiểm tra các yêu cầu về hiệu năng cóđạt được hay không
Kiểm thử hồi qui là một hoạt động cấn thiết để chỉ ra rằng việc thay đổi
mã nguồn không gây ra những ảnh hưởng bất lợi đến hệ thống nói chung
1.5.3.4 Kiểm thử chấp nhận
-Mục đích: Kiểm thử chấp nhận còn gọi là kiểm thử nghiệm thu nhằmmục đích chứng minh phần mềm thỏa mãn tất cả yêu cầu của khách hàng vàkhách hàng đã chấp nhận sản phẩm
-Người thực hiện: Khách hàng
-Có 2 phương pháp kiểm thử chấp nhận: K iểm thử alpha và kiểm thử bêta
-Người dùng kiểm thử phần mềm ngay tại nơi phát triển phần mềm dưới
sự hỗ trợ của nhân viên kiểm thử, nhân viên kiểm thử sẽ ghi nhận các lỗi hoặcphản hồi của khách hàng và báo lại với đơn vị phát triển phần mềm để lên kếhoạch sửa chữa
Trang 21-Phần mềm sẽ được gửi tới cho người dùng để kiểm thử trong môi trườngthực, lỗi hoặc phản hồi cũng sẽ gửi lại cho đơn vị phát triển phần mềm để lên kếhoạch sửa chữa.
1.6 Ki m th t đ ng ểm thử phần mềm ử phần mềm ự động ội dung của đồ án
Qui trình kiểm thử tự động gồm 4 bước:
- Bước 1: Viết kịch bản kiểm thử, dùng công cụ kiểm thử để ghi lại cácthao tác lên phần mềm cần kiểm tra và tự động sinh ra test script
- Bước 2: Chỉnh sửa để kịch bản kiểm thử thực hiện kiểm tra theo đúng yêucầu đặt ra, làm theo trường hợp kiểm thử cần thực hiện
- Bước 3: Chạy kịch bản kiểm thử, giám sát hoạt động kiểm tra phần mềmcủa kịch bản kiểm thử
- Bước 4: Kiểm tra kết quả thông báo sau khi thực hiện kiểm thử tự động.Sau đó bổ sung, chỉnh sửa những sai sót
1.6.3 Ưu điểm và nhược điểm của kiểm thử tự động
-Các ưu điểm có thể kể đến của kiểm thử tự động là:
Kiểm thử chính xác và có thể bao quát thông tin Theo dõi được chính xáckết quả từng giai đoạn và các báo cáo tổng hợp
Cần ít nhân lực trong quá trình kiểm thử
Chu kỳ kiểm thử diễn ra trong thời gian ngắn
Hiệu năng của kiểm thử các lớp vượt xa tầm với của kiểm thử thủ công
-Tuy nhiên không thể không kể đến các nhược điểm của kiểm thử tự động:
Chi phí cao cho việc chuyển giao công nghệ và đào tạo nhân viên
Tốn chi phí đầu tư lớn cho việc phát triển công cụ kiểm thử tự động
Tốn chi phí và thời gian cho việc tạo các kịch bản kiểm thử và bảo trìcác kịch bản kiểm thử
Giai đoạn chuẩn bị kiểm thử yêu cầu nhiều nhân lực
Trang 22 Khu vực kiểm thử tự động có thể không bao quát đầy đủ, không áp dụngđược trong việc tìm lỗi mới của phần mềm.
1.6.3 Các trường hợp nên áp dụng kiểm thử tự động
Không phải lúc nào cũng nên áp dụng kiểm thử tự động trong việc kiểmthử phần mềm, vì nhiều khi chi phí và thời gian cho việc kiểm thử tự động cònlớn hơn nhiều so với kiểm thử thủ công Dưới đây là một số trường hợp nên ápdụng phương pháp kiểm thử tự động để đạt được hiệu quả cao về thời gian, chiphí cũng như chất lượng
-Trường hợp không đủ tài nguyên: Là khi số lượng trường hợp kiểm thử lặp
lại quá nhiều trên nhiều môi trường kiểm thử khác nhau, không có đủ nguồn nhân lực
để kiểm thử thủ công trong một giới hạn thời gian nào đó
-Trường hợp kiể m thử hồi qui: Trong quá trình phát triển phần mềm,
nhóm lập trình thường đưa ra nhiều phiên bản phần mềm liên tiếp để kiểm thử.Thực tế cho thấy việc đưa ra các phiên bản phần mềm có thể là hàng ngày, mỗiphiên bản bao gồm những tính năng mới, hoặc tính năng cũ được sửa lỗi hay nângcấp Việc bổ sung hoặc sửa lỗi mã chương trình cho những tính năng ở phiên bảnmới có thể làm cho những tính năng khác đã kiểm tra tốt chạy sai mặc dù phần
mã chương trình của nó không hề chỉnh sửa Để khắc phục điều này, đối với từngphiên bản, kiểm thử viên không chỉ kiểm tra chức năng mới hoặc được sửa, màphải kiểm tra lại tất cả những tính năng đã kiểm tra tốt trước đó Điều này khókhả thi về mặt thời gian nếu kiểm thử thủ công
-Trường hợp kiểm thử khả năng vận hành phần mềm trong môi trường đặc biệt: Đây là kiểm thử nhằm đánh giá xem vận hành của phần mềm có thỏa mãn
yêu cầu đặt ra hay không Thông qua đó kiểm thử viên có thể xác định được các yếu tố
về phần cứng, phần mềm ảnh hưởng đến khả năng vận hành của hệ thống
1.6.4 So sánh kiểm thử tự động và kiểm thử thủ công
Bảng1.1: Bảng so sánh kiểm thử tự động và kiểm thủ công
hiện việc kiểm thử
- Tốn thời gian Đốivới mỗi lần release,
Trang 23khám phá
- Thích hợp kiểm trasản phẩm lần đầu tiên
- Thích hợp kiểm thửtrong trường hợp cáctest case chỉ phải thựchiện một số ít lần
- Giảm được chi phíngắn hạn
người kiểm thử vẫnphải thực hiện lại mộttập hợp các test case
đã chạy dẫn đến sựmệt mỏi và lãng phíeffort
hợp phải test nhiều lầncho một case, có tínhổng định và tin cậycao hơn so với kiểmthử thủ công
- Có thể thực hiện cácthao tác lặp đi lặp lại(nhập dữ liệu, click,check kết quả ) giúptester không phải làmnhững việc gây nhàmchán và dễ nhầm lẫn
- Giảm chi phí đầu tưdài hạn
- Tốn kém hơn kiểmthử thủ công, chi phíđầu tư ban đầu lớn
- Kiểm thử thủ công làkhông thể thay thế vìngười ta không thể tựđộng hóa mọi thứ
Trang 24- Firebug: Ứng dụng an ninh Web cho trình duyệt firefox.
- Jmeter: Kiểm thử hiệu năng, hiệu suất cho website
- Selenium: Kiểm thử chức năng cho website.
…
Công cụ dùng trong kiểm thử di dộng:
- Appium: Kiểm tra chức năng cho các ứng dụng trên thiết bị di động
- Monkey Talk: được sử dụng kiểm thử các chức năng cho các ứngdụng trên thiết bị di động hệ điều hành android và Ios
CHƯƠNG 2: SỬ DỤNG CÔNG CỤ HỖ TRỢ SELENIUM ĐỂ KIỂM THƯ ỨNG DỤNG WEB
Tại chương này, đồ án muốn tập trung nghiên cứu về bộ công cụSelenium, là một trong những công cụ hỗ trợ kiểm thử ứng dụng web Đi sâu tìmhiểu về công cụ Selenium IDE, và Selenium RC với những hướng dẫn cài đặt,tìm hiểu các thao tác sử dụng chương trình kèm theo một số lệnh thông dụngvới những ví dụ minh họa
- Tổng quan về công cụ Selenium.
- Các tính năng của Selenium.
- Phạm vi áp dụng.
Trang 251 Tổng quan về Selenium
Selenium (thường được viết là SE) là một phần mềm mã nguồn mở, được pháttriển bởi Jason Huggins, sau được phát triển bởi nhóm Thought Work vào năm2004
Selenium là một bộ các công cụ hỗ trợ kiểm thử tự động các tính năngcủa ứng dụng Web, bao gồm 4 phần: Selenium IDE, Selenium Remote Control(RC), Selenium Core và Selenium Grid.[11]
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ợp với trình duyệt Firefox, cho phép người dùngchọ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ũng cung cấp các chức năng chỉnh sửa cáctrườ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 ra bằ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ụ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 viên kiểm thử không có quyền truy cập đếnmá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ạttối đa và mở rộng trong việc phát triển logic thử nghiệm Ví dụ, nếu trình ứngdụng trả về một tập kết quả 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ệm trê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 quaviệc tập hợp kết quả, kêu gọi lệnh Selenium chạy thử nghiệm trên mỗi mục
Selenium - RC cung cấp một API (Application Programming Interface)
Trang 26và
Trang 27thư 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 một ngôn ngữ lập trình bậc cao để pháttriển các trường hợp thử nghiệm cũng cho phép thử nghiệm tự động được tích hợpvới một dự án xây dựng môi trường tự động.
Do thời gian nghiên cứu còn hạn chế, nên đồ án chỉ trình bày cụ thể về bộ
công cụ Selenium là Selenium IDE ( ngoài ra phát triển thêm )Selenium RC.
Selenium IDE.
2 Các tính năng c a ủa đồ án Selenium.
2.1 Gi i thi u v Selenium ới thiệu về Selenium ệu về Selenium ềm 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ần cài đặt Selenium vào máy chủ ứng dụng Nó được xây dựng sử dụngJavaScript do vậy mà nó có thể tương tác với DOM (Document Object Model), sửdụng được những cách gọi Java Script
Selenium cho phép ghi lại những hành động trong luồng công việc cần kiểmtra bằ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ố giaodiện người dùng từ các trình duyệt đang hiển thị trang và sau đó chọn từ một danhsách các lệnh Selenium và các thông số được xác định theo ngữ cảnh của phần giaodiện người dùng lựa chọn
2.2 H ưới thiệu về Selenium ng d n cài đ t Selenium ẫn cài đặt Selenium ặt Selenium IDE .
Để kiểm tra xem trên trình duyệt Firefox đã được cài selenium IDE Ngườidùng có thể vào bật trình duyệt này và nhấp vào Tools trên menu Bar Quan sát trênmenu đổ xuống có mục selenium IDE không? Nếu chưa có thì thực hiện nhữngbước sau để cài tiện ích này của Firefox
- Bước 1 : Vào trang http://docs.seleniumhq.org/download/ tại thẻ
“Download” click vào phiên bản IDE.
Trang 28Hình 2.1 : Trang Download tiện ích IDE
- Bước 2 : Popup như phía dưới hiện lên Click “Alow” để cho phép cài đặt
phần mềm trên máy tính
Hình 2.2: Popup Alow hiển thị khi cài đặt IDE
- Bước 3 : Màn hình tiếp theo hiển thị Click “Install Now”
Hình 2.3: Các thành phần được cài đặt trong Selenium IDE
- Bước 4 : Khởi động lại trình duyệt Firefox.
- Bước 5: Lần đầu khởi động Selenium của bạn
Trang 29Click vào Tool trên Menu Bar, di chuyển chuột và click lên mục Selenium IDE
Hình 2.4: Thao tác mở IDE trên menu Tools
Một cửa sổ mới bật ra như hình vẽ dưới đây:
Hình 2.5: Giao diện Selenium IDE 2.3 Các icon c a Selenium ủa đồ án IDE.
Phần này sẽ giải thích một số thành phần và ký hiệu của Selenium IDE
Trang 30Hình 2.6: Giải thích các thành phần và ký hiệu của Selenium IDE
- Giải thích 1 số ký hiệu :
o Base URL: Đây là URL của ứng dụng web được kiểm thử
o Nút : Chạy tất cả các testcase
o Nút : Chạy từng testcase một
o Nút : Cho phép dừng thử nghiệm tại bất kỳ một điểm nào bạn muốn
o Nút : Sau khi click vào biểu tượng Pause, nó sẽ chuyển sang biểu tượngResume Với nút này cho phép bạn có thể tiếp tục chạy thử nghiệm của bạn tạiđoạn bạn đã dừng
o Nút : Bỏ qua một testcase khi nó đã bị tạm dừng
o Nút : Được sử dụng để thu các testcase qua những thao tác bạn tác động đếntrang web cần kiểm thử
o Textbox Command: dòng lệnh
o Textbox Target: Kết quả mong đợi của dòng lệnh
o Textbox 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 testcase có dạng
Trang 31- 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ộtlỗ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àyvẫ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 trong quá trình tìm ra nguyên nhân lỗi đã phát hiện trongtest 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.
2.4 Các thao tác th c hi n ki m th t đ ng v i Selenium ự động ệu về Selenium ểm thử phần mềm ử phần mềm ự động ội dung của đồ án ới thiệu về Selenium IDE
2.4.1 Kh i đ ng ch đ ởi động chế độ ội dung của đồ án ế độ ội dung của đồ án ghi.
Theo mặc định sau khi bật Selenium IDE lên thì chế độ Record đã được bật Đểtắt/bật chế độ này chỉ cần click vào nút Record màu đỏ Xem hình dưới đây:
Trang 32Truy cập vào trang http://www.google.com.vn
Gõ từ khóa tìm kiếm là: vietid.
Truy cập vào trang chủ của Selenium trong bảng kết quả trả về bởi Google Kiểm tra xem title của trang chủ của selenium có phải là: “Trang chủ - VietID”.Bật trình duyệt và làm việc bình thường như công việc chúng ta vẫn làm hàng ngày bằng tay và kết quả chúng ta có được một cái nhìn toàn diện như sau:
Hình 2.8: Ví dụ thực hành cách ghi 1 script
Trang 33 M / L u m t testcase ởi động chế độ ư ội dung của đồ án đã có s n ẵn
Chọn File /Open, chọn 1 testcase tại thư mục chứa để mở nó
Có một sự khác biệt giữa testcase và testsuite Testsuite là tập các testcase, đểlưu lại các bước kiểm thử người dùng có thể lưu lại một test case riêng lẻ, hoặc
có thể lưu nhiều test case dưới dạng một test suite Chương trình sẽ nhắc nhở talưu chúng trước khi các testcase của test suite chưa đươc lưu lại
Ch y các ạy các testcase
Selenium có nhiều lựa chọn để chạy và dừng, chạy tiếp một dòng lệnh riêng lẻ, hay chạy một test suite
- Chạy 1 test case: Chọn 1 test case và click vào nút Run để chạy testcase đó
- Stop and Start: Nút Pause được dùng để tạm dừng một testcase khi nó đangchạy Để tiếp tục chạy test case bị tạm dừng, click nút Resume
- Hoặc chúng ta có thể thiết lập các điểm ngắt, điểm dừng ở giữa dựa vào: breakpoint và start point
Break point
Selenium – IDE hỗ trợ thiết lập các điểm ngắt, điểm dừng các hoạt động của 1testcase từ bất kỳ điểm nào trong trường hợp thử nghiệm Người ta có thể chạymột lệnh cụ thể giữa các testcase và kiểm tra các testcase hoạt động tại điểm đó
Để làm điều này, thiết lập 1 lệnh breakpoint ngay trước khi lệnh mà bạn muốnkiểm tra
Để thiết lập một breakpoint, chọn một lệnh, nhấp chuột phải, từ trình đơn ngữcảnh chọn Toggle Breakpoint Sau đó nhấp vào nút Run để chạy các testcase củabạn từ đầu đến điểm dừng
Start points
Trang 34Việc đặt 1 Start point hữu ích để chạy 1 testcase từ một nơi nào đó ở giữa cáctestcase hoặc đặt nó sau một Breakpoint để tiếp tục ví trí đó.
Để thiết lập một StartPoint, chọn một lệnh, nhấp chuột phải, và từ trình đơn ngữcảnh, chọn Set/ Clear Start Point Sau đó nhấp vào nút Run để thực hiện đầuTestcase tại StartPoint đó
sử dụng các lệnh chỉnh sửa văn bản để nhập lệnh mới của bạn và các thông sốcủa nó
Hình 2.9: Chèn câu lệnh ở dạng bảng
• Chèn ở trong mã nguồn:
Trang 35Chọn điểm trong Testcase của bạn nơi bạn muốn chèn lệnh Để làm điều này, nhập vào các thẻ HML cần thiết để tạo ra bảng có chứa 1 dòng và 3 cột.
Cột đầu tiên ứng với tham số command (tên câu lệnh)
Cột thứ hai ứng với ham số Target (vị trí phần tử trang web)
Cột thứ ba là ứng với tham số Value (giá trị)
Trang 36Hình 2.11: Chèn nhận xét ở dạng bảng
• Chèn dạng mã nguồn:
Chọn điểm trong testcase của bạn, nơi bạn muốn chèn.Thêm một bình luận kiểu
HTML, tức là <- Điền dòng comment ở đây->
Trang 37Hình 2.12: Chèn nhận xét trong mã nguồn
2.4.2 Các câu l nh trong ệu về Selenium Selenium
Selenium cung cấp một tập đầy đủ các lệnh để kiểm thử các ứng dụng Web, có thểkiểm thử tình trạng của các yếu tố giao diện người dùng dựa vào các thẻ HTML,kiểm thử nội dung xác định, kiểm thử link hỏng lỗi, các trường đầu vào, lựa chọndanh 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à thao tác chung trên ứng dụng Ví dụ: “Click this link”, “Selectthat option” Nếu như thao tác thất bại sẽ có một lỗi, việc thực thi kiểm thử sẽ bịtạm dừng Một vài hành động sử dụng hậu tố “AndWait”, ví dụ: “ClickAndWait”.Selenium sử dụng hậu tố này trong trường hợp chờ một trang web được tải
Trang 38- Accessor: Kiểm tra trạng thái của ứng dụng và lưu trữ kết quả vào các biến.
Ví dụ: “storeTitle” Chúng có thể được sử dụng để sinh tự động các Assertion
- Assertion: Giống như Accessor, nhưng nó xác định trạng thái của ứngdụng thích nghi với kết quả mong đợi
Assertion của Selenium có thể được chia thành ba dạng: “assert”, “verify”,
“waitFor” Khi “assert” thất bại việc kiểm thử sẽ dừng lại, khi “verify” thất bạiviệc kiểm thử vẫn tiếp tục nhưng sẽ hiển thị một lỗi Lệnh “waitFor” chờ một vàiđiều kiện được thực thi, nó sẽ thành công nếu điều kiện đúng, nhưng sẽ thất bại vàtạm dừng nếu các điều kiện không đúng
• M t s l nh th ội dung của đồ án ố cục nội dung của đồ án ệu về Selenium ường sử dụng trong ng s d ng trong ử phần mềm ục tiêu nghiên Selenium:
- Open: Mở một ứng dụng web sử dụng URL
- Click/ clickAndWait: Thực thi click và đợi tải một trang web mới
- VerifyTitle/assertTitle: Xác nhận một tiêu đề trang mong đợi
- VerifyTextPresent: Xác nhận văn bản được mong đợi tại một vị trí nào
- VerifyTable: xác nhận các nội dung mong đợi của một bảng
- waitForPageToLoad: Tạm dừng thực thi lệnh cho đến khi trang webmong đợi được tải thành công, được gọi là tự động khi sử dụng lệnhclickAndWait
-waitForElementPresent: Tạm dừng thực thi cho tới khi các yếu tố giao diện người dùng xuất hiện trên trang web
1 XPATHS và cài đặt firebug add-on
Xpath là ngôn ngữ truy vấn để lựa chọn nodes và trích chọn thông tin nodes trên các tài liệu HTML/XML