Tìm hiểu bề BITE project
Trang 1Mục lục
Mục lục 1
Trang 2Chủ đêề: Tìm hiêểu vêề bitê projêct
I GIỚI THIỆU TỔNG QUAN
1 Lời giới thiê ̣u
Ngày nay viê ̣c viê ̣c tiến hành kiểm tra, thử nghiê ̣m kĩ thuâ ̣t phần mềm nói chung, các website nói riêng đòi hỏi rất nhiều thời gian và chi phí cao, làm giảm năng suất lợi nhuâ ̣n, và hơn nữa nó mang đến nhiều rủi ro trong sản phẩm cung cấp cho khách hàng Google cung cấp cho chúng ta những công cu ̣ mã nguồn mở rất ma ̣nh mẽ giúp kiểm tra hướng dẫn sử du ̣ng bằng cách loa ̣i bỏ những công viê ̣c khó khăn, tâ ̣p trung vào công viê ̣c thử nghiê ̣m, giúp ho ̣ nâng cao chất lượng sản phẩm Đứng đầu trong số những sản phẩm này có thể kể đến BITE, Quality Bots1, Test Analytics2 và Script
Cover3
Khi sử du ̣ng trình duyê ̣t, người dùng không tránh khỏi lỗi phát sinh từ các trang web Người dùng sẽ phải gửi các bản báo cáo lỗi cho nhà phát triển Đây là công viê ̣c rất khó đối với người dùng BITE project ra đời nhằm giúp người dùng thực hiê ̣n điều đó dễ dàng và hơn thế nữa
BITE viết tắt của cu ̣m từ Browser Integrated Testing Environment (Môi trường thử nghiê ̣m tích hợp trên trình duyê ̣t) BITE project: là bô ̣ công cu ̣ mã nguồn mở được phát triển bởi google nhằm mu ̣c đích đẩy ma ̣nh viê ̣c kiểm tra, báo cáo lỗi thủ công, đươ ̣c tích hợp trên trình duyê ̣t Ngày nay có nó sẵn như là mô ̣t phần mở rô ̣ng cho trình duyê ̣t Chrome
Nhóm các kĩ sư nghiên cứu và phát triển BITE bao gồm Jason Stredwick, Julie Ralph, Po Hu và Richard Bustamante Chúng ta có thể trực tiếp theo dõi và tham gia phát triển BITE ta ̣i https://code.google.com/p/bite-project Mo ̣i thông tin phản hồi về BITE qua Email bite-feedback@google.com
2 Các chức năng chính
BITE- Project ra đời gồm 3 chức năng chính:
1 Công cụ tạo ra các trang web để so sánh
2 Công cụ phân ti ́ch xu hướng truy cập trang web của người sử dụng
Trang 3• Lấy và báo cáo các lỗi của trình duyê ̣t web
• Hiê ̣n thi ̣ các lỗi đã chống la ̣i trang web
• Lưuvà phát la ̣i các hành đô ̣ng của người dùng trên mô ̣t trang web
Lưu ý: Để sử du ̣ng được tiê ̣n ích mở rô ̣ng BITE Project, nó phải được kết nối tới
mô ̣t máy chủ để lấy thông tin về lỗi, kiểm tra và thu thâ ̣p lỗi mới Google cung cấp cho chúng ta mô ̣t server miễn phí để làm các công viê ̣c trên là google test server
II CÁCH CÀI ĐẶT
1.Người sử du ̣ng thông thường
Thuâ ̣t ngữ người sử du ̣ng thông thường ở đây được hiểu là những người sử du ̣ng website thông thường Muốn cài đă ̣t và xem các chức năng của BITE ở mức cơ bản hoă ̣c những người được developer của website cho ̣n làm người kiểm thử
Đối với mức người sử du ̣ng thông thường viê ̣c cài đă ̣t BITE vào tiê ̣n ích của Google chrome tương đối đơn giản Các bước cài đă ̣t cu ̣ thể như sau:
• Trỏ trình duyê ̣t Google chrome đến chrome://extension -> Cho ̣n tiê ̣n ích mở
rô ̣ng khác
• Gõ cu ̣m từ “BITE” vào ô tìm kiếm Chúng ta sẽ thấy tiê ̣n ích BITE nằm ở ngay dòng đầu tiên Cho ̣n tiếp thêm vào chrome và viê ̣c cài đă ̣t sẽ diễn ra tự
đô ̣ng Các bước cài đă ̣t được mô tả cu ̣ thể ở Hình 1 và Hình 2.
Trang 4Chủ đêề: Tìm hiêểu vêề bitê projêct
Hình 1: Tìm tên BITE project.
Trang 5Hình 2: Chọn công cụ tìm thấy đầu tiên.
• Sau khi cài đă ̣t thành công BITE Playground sẽ có biểu tượng dấu tích màu
xanh như trên Hình 3.
Trang 6Chủ đêề: Tìm hiêểu vêề bitê projêct
Hình 3: Biểu tượng sau khi cài xong BITE.
• Cài đă ̣t xong BITE chưa được sẵn sàng sử du ̣ng mà nó cần được lựa cho ̣n kết nối đến sever Ở đây server mă ̣c đi ̣nh là Test BITE server do Google cung cấp Để sử du ̣ng server này, chúng ta cần kick vào biểu tượng sign in và đăng nhâ ̣p bằng tài khoản Google Sau khi đăng nhâ ̣p bằng tài khoản Google,
người sử du ̣ng cần cấp phép tài khoản Cho ̣n “Cho phép” như trên Hình 4.
Trang 7Hình 4: Cấp phép cho tài khoản google với server Test BITE.
• Sau khi các bước trên hoàn thành hết Chúng ta đã có thể sử du ̣ng BITE Phần sử du ̣ng cu ̣ thể sẽ được đề câ ̣p đến sau
2.Dành cho người phát triển (Developer)
Cách cài đă ̣t này giúp người phát triển hiểu sâu hơn về cơ chế làm viê ̣c của BITE Các bước cần chuẩn bi ̣ trước khi đi vào cài đă ̣t:
• Download và cài đă ̣t máy ảo JAVA theo hướng dẫn ta ̣i trang chủ của java http://www.oracle.com/technetwork/java/javase/downloads/index.html
• Download và cài đă ̣t Python ta ̣i trang chủ http://www.python.org/ Hiê ̣n ta ̣i bản mới nhất của Python là Python 3.3.0 released
• Download bô ̣ source code mã nguồn mở của BITE ta ̣i trang chủ http://code.google.com/p/bite-project/downloads/list
Trang 8Chủ đêề: Tìm hiêểu vêề bitê projêct
Hình 5: Chọn gói source code tương ứng.
Hình 5 cho chúng ta thấy có 4 lựa cho ̣n gói source code để cài đă ̣t Các gói có
tên mở đầu là ‘v1’ là phiên bản đầu tiên của BITE Ở phiên bản này BITE chưa có phần cài đă ̣t của server mà chỉ có phần cài đă ̣t của client Phần cài đă ̣t của client chính là phần cài vào tiê ̣n ích mở rô ̣ng của trình duyê ̣t Chrome Ngược la ̣i hai gói mở đầu bằng ‘v2’ là phiên bản thứ hai của BITE đã chia ra client và server riêng biê ̣t Ở mỗi phiên bản la ̣i có tùy cho ̣n ‘deps’ và ‘no deps’, ở gói có tùy cho ̣n ‘deps’ bao gồm cả các công cu ̣ liên quan đến quá trình cài đă ̣t BITE Do vâ ̣y để đảm bảo cho quá trình
cài đă ̣t là thành công, chúng ta lựa cho ̣n gói trên cùng ở Hình 5.
Sau khi có đầy đủ các công cu ̣ cần thiết chúng ta tiến hành các bước cài đă ̣t BITE như sau:
• Giải nén source code thu được ta đc 1 thư mu ̣c có tên bite-project Chúng ta tiến hành biên di ̣ch source code Từ command dos trỏ đến thư mu ̣c
bite-project vừa nhâ ̣n được gõ >python build.py (lưu ý biến môi trường của
Python đã được cài đă ̣t) Quá trình download cài đă ̣t sẽ diễn ra tự đô ̣ng Sau
đó chúng ta sẽ được 1 thư mu ̣c tên là output.
Trang 9• Trong thư mu ̣c extension này sẽ có hai thư mu ̣c con là server và extension, là
các phần tương ứng để cài đă ̣t server và client (client ở đây là trình duyê ̣t Chrome) Để cài đă ̣t phần mở rô ̣ng vào trình duyê ̣t chrome, trỏ trình duyê ̣t
đến chrome://extension -> lựa cho ̣n load unpacked extension và trỏ đến thư
mu ̣c output/extension vừa có ở bước trên (Hình 6).
Hình 6: Chọn thư mục output/extension.
• Cài đă ̣t server: Cài đă ̣t server là công viê ̣c khó và phức ta ̣p hơn Hiê ̣n ta ̣i nhóm phát triển BITE chưa đưa ra đầy đủ thông tin cũng như các công cu ̣ cần thiết để chúng ta có thể cài đă ̣t server Nên phần cài đă ̣t server chúng ta sẽ chưa giải quyết trong tài liê ̣u này
• Ngoài ra nếu quá trình cài đă ̣t có ngoa ̣i lê ̣ và không diễn ra như trên chúng ta có thể thực hiê ̣n theo các hướng dẫn của nhà phát triển Xem ta ̣i đi ̣a chỉ https://code.google.com/p/bite-project/wiki/building
Trang 10Chủ đêề: Tìm hiêểu vêề bitê projêct
Hình 7: Các chức năng của BITE.
BITE hoa ̣t đô ̣ng dựa trên 3 cơ chế chính:
• Khi lấy mô ̣t lỗi từ trang web, BITE tự đô ̣ng lấy ảnh chu ̣p màn hình, liên kết và các yếu tố giao diê ̣n người dùng có vấn đề để gắn chúng vào lỗi này Các nhà phát triển xem xét, sữa chữa các lỗi dựa trên các thông tin về lỗi đã được thu thâ ̣p này để xác đi ̣nh nguyên nhân và thông báo cho người dùng
• Để ta ̣o dựng la ̣i mô ̣t lỗi, thông thường người sử du ̣ng (tester) sẽ phải ghi
nhâ ̣n các bước chính xác đã làm Nhưng với BITE, mo ̣i hành vi trên trang web đã được ghi la ̣i trong JavaScrip, và có thể xem la ̣i sau Điều này cho phép các kĩ sư nhanh chóng xác đi ̣nh các bước gây ra lỗi hay mô ̣t thay đổi code để giải quyết vấn đề
• BITE cũng bao gồm mô ̣t giao diê ̣n điều khiển Record/ Playback ( RPF) để tự
đô ̣ng hóa các hành đô ̣ng của người sử du ̣ng trong mô ̣t bài test thủ công Cũng như viê ̣c ghi la ̣i hành vi trên trang web của người sử du ̣ng, giao diê ̣n RPF sẽ tự đô ̣ng ta ̣o ki ̣ch bản JavaScrip để có thể tái hiê ̣n la ̣i hành vi của ba ̣n vào thời điểm sau đó Khi BITE playback bi ̣ lỗi, tester có thể sửa các bản ghi của ho ̣ theo thời gian thực bằng cách lâ ̣p đi lâ ̣p la ̣i các hành vi trên trang web
Trang 112 Bugs
Là chức năng dò tìm (mô tả) bug hiện có trên các component của website mà bạn muốn test hoă ̣c đang sử du ̣ng Những bugs này do người sử du ̣ng hoă ̣c test trang web này trước đó đã ta ̣o ra, gửi lên sever và lưu la ̣i
Chúng ta có thể sử du ̣ng chức năng này của BITE bằng cách click vào biểu
tươ ̣ng của BITE-> sau đó chon Bugs (là biểu tượng thứ 3 từ trên xuống trên Hình 8).
Hình 8: Chức năng Bugs.
Sai khi lựa cho ̣n chức năng Bugs, nếu trên trang web có bug, chúng ta có thể
xem chi tiết về bug này Trên Hình 9 ta thấy các thông tin về bug tương đối rõ ràng và
đầy đủ như tên người phát hiê ̣n ra lỗi, mã lỗi, mô ̣t số mô tả về lỗi
Để xem chi tiết từng bug đó, click vào bug muốn xem Chúng ta cũng có thể chỉnh sửa bug, thêm mô tả về bug hoă ̣c xóa bỏ chúng
Trang 12Chủ đêề: Tìm hiêểu vêề bitê projêct
Hình 9: Hiển thi ̣ các bugs trên trang web hiê ̣n tại.
3 Report Bug
Là chức năng giúp người sử du ̣ng, tester báo cáo về lỗi của mô ̣t trang web hoă ̣c
mô ̣t component của nó Để thực hiê ̣n chức năng này người dùng có thể lựa cho ̣n dòng
thứ hai trong menu lựa cho ̣n của BITE trên Hình 8.
Sau khi lựa cho ̣n report bug, người dùng sẽ phải cho ̣n tiếp thành phần gây ra bug, cũng như các thông tin về bug đó như tên bug, mô tả Bug sẽ được gửi lên sever với mô ̣t mã số riêng và thông tin như người dùng đã khai báo
4 Record/ Playback
Hay còn go ̣i là RPF, là chức năng ghi la ̣i các hành đô ̣ng của người dùng trên mô ̣t trang web RPF sẽ tự đô ̣ng ta ̣o ki ̣ch bản JavaScrip để có thể tái hiê ̣n la ̣i các hành vi của ba ̣n vào thời điểm sau đó Dùng RPF người dùng sẽ dễ dàng phát hiê ̣n nguyên nhân gây ra lỗi của chuỗi thao tác trên trang web
Trang 13Để sử du ̣ng chức năng này, người sử du ̣ng click vào menu lựa cho ̣n thứ nhất
Record/ Playback của BITE trên Hình 8.
Sau khi lựa cho ̣n chức năng RPF trên, giao diê ̣n RPF sẽ hiê ̣n ra như Hình 10.
Hình 10: Giao diê ̣n Record/ Playback.
Trên Hình 10 chúng ta có thể thấy các phím thực hiê ̣n chức năng của RPF như
bắt đầu ghi la ̣i, stop, lưu trữ (ở đây là lưu javascrip lên server), các phím cài đă ̣t… Sau khi tiến hành ghi các hành vi trên trang web, RPF sẽ lưu la ̣i bất cứ hành vi
nào người dùng thực hiê ̣n Như ví du ̣ sau, trên Hình 11 là kết quả khi người sử du ̣ng
click 2 lần vào 2 link liên kết có vi ̣ trí khác nhau trên trang web:
Trang 14Chủ đêề: Tìm hiêểu vêề bitê projêct
Hình 11: Javascrip lưu lại hành động của người sử dụng
Người dùng xem la ̣i các hành vi đã ghi la ̣i của mình bằng click lên nút playback
như trên Hình 12.
Hình 12: Chạy lại JavaScrip sau khi tạo ra.
Javascrip ta ̣o ra có thể được người sử du ̣ng dễ dàng chỉnh sửa theo ý muốn, như xóa, thêm các hành vi mới
Trang 155 Lưu ý:
Trong các trường hợp trên người dùng đang sử du ̣ng sever của Test google server Do thông tin về BITE chưa đươ ̣c nhóm những người phát triển cung cấp thêm nên trong tài liê ̣u này chưa mô tả viê ̣c cài đă ̣t server riêng
IV TỔNG KẾT
BITE- PROJECT đã và đang tiếp tu ̣c phát triển bởi team của những người sáng
lâ ̣p Thông tin tham khảo và thông tin chi tiết có thể tìm thấy ta ̣i http://googletesting.blogspot.com/2011/10/take-bite-out-of-bugs-and-redundant.html