Giới thiệu Đặt vấn đề: Một phần mềm được gọi là thành công không chỉ dựa vào các chức năng được cung cấp và hiệu quả khi thực thi mà còn phải dựa vào tính tiện dụng và thẩm mỹ của gia
Trang 11 23/04/2009
Topic:
GVHDLT: thầy Lâm Quang Vũ GVHDTH: thầy Trần Duy Hoàng Nhóm thuyết trình: Nhóm A Ngày thuyết trình: 23/04/2009
Trường Đại Học Khoa Học Tự Nhiên TP HCM
Khoa Công Nghệ Thông Tin Lớp : Nhập Môn Kiểm Chứng Phần Mềm TH2005/02
Trang 223/04/2009
1 Nguyễn Kim Trọng (TL)
2 Đỗ Minh Doãn
3 Đoàn Bảo Điền
4 Thái Văn Minh Tuấn
4 Nguyễn Huy Hoàng
5 Đinh Duy Long
Trang 323/04/2009
Nội dung thuyết trình
I Giới thiệu
II Gui testing và một số khái niệm cơ bản
III Gui testing với Desktop Application ,demo1
IV Gui testing với Web Application, demo2
V Kết luận
VI Tài liệu tham khảo
Trang 423/04/2009
Nội dung thuyết trình
I Giới thiệu
II Gui testing và một số khái niệm cơ bản
III Gui testing với Desktop Application ,demo1
IV Gui testing với Web Application, demo2
V Kết luận
VI Tài liệu tham khảo
Trang 55 Sao sử dụng ta???
Trang 6Sao đơn giản vậy ta???
Trang 723/04/2009
I Giới thiệu
Đặt vấn đề: Một phần mềm được gọi là thành công không chỉ dựa vào
các chức năng được cung cấp và hiệu quả khi thực thi mà còn phải dựa vào tính tiện dụng và thẩm mỹ của giao diện chương trình đó.
Câu hỏi đặt ra : Vậy làm thế nào để biết một phần mềm có giao diện
tiện dụng,đẹp và đúng các chuẩn thiết kế được đặt ra?
Đi tìm lời giải : Đó chính là lý do các kỹ thuật GUI Testing ra
đời và hôm nay chúng tôi sẽ giới thiệu cho các bạn cơ bản về các kỹ thuật trên.
Mục tiêu : Đưa ra cái nhìn khái quát vấn đề và giới thiệu
sử dụng một số chức năng cơ bản của một số tool
Trang 823/04/2009
Nội dung thuyết trình
I Giới thiệu
II Gui testing và một số khái niệm cơ bản
III Gui testing với Desktop Application ,demo1
IV Gui testing với Web Application, demo2
V Kết luận
VI Tài liệu tham khảo
Trang 923/04/2009
II GUI Testing và một số khái niệm cơ bản
1 ) GUI Testing là gì ?
Là một tập hợp các kỹ thuật kiểm chứng giao diện của một phần
mềm nhằm đảm bảo phần mềm đó có giao diện tiện dụng và thoả
các chuẩn đặt ra
2) Một số loại GUI Testing:
Checklist testing ( kiểm tra danh sách)
Navigation testing( kiểm tra sự điều hướng)
Application testing( kiểm tra ứng dụng)
Desktop Intergration Testing ( kiểm tra màn hình tích hợp)
Client/Server Communication Testing ( kiểm tra sự liên hệ
giữa client/server )
Synchronisation Testing ( kiểm tra sự đồng bộ )
Non-Functional Testing ( kiểm tra phi chức năng )
Trang 1023/04/2009
II GUI Testing và một số khái niệm cơ bản
1 ) GUI Testing là gì ?
Là một tập hợp các kỹ thuật kiểm chứng giao diện của một phần
mềm nhằm đảm bảo phần mềm đó có giao diện tiện dụng và thoả
các chuẩn đặt ra
2) Một số loại GUI Testing:
Checklist testing ( kiểm tra danh sách)
Navigation testing( kiểm tra sự điều hướng)
Application testing( kiểm tra ứng dụng)
Desktop Intergration Testing ( kiểm tra màn hình tích hợp)
Client/Server Communication Testing ( kiểm tra sự liên hệ
giữa client/server )
Synchronisation Testing ( kiểm tra sự đồng bộ )
Non-Functional Testing ( kiểm tra phi chức năng )
Trang 11 Button, dialog box , hourglass icon , command button ,
option button , Frame control , check box, Msg Box ,List box , Combobox , Menu,…
Hight light một đối tượng, enable và disable một đối tượng
Trang 1223/04/2009
b) Non-Functional Testing ( kiểm tra phi chức năng )
- Kiểm tra tính tiện dụng
- Kiểm tra hiệu năng,khả năng tương thích….
Trang 1323/04/2009
3) Bốn giai đoạn của GUI Testing:
- Navigation
tương đương)
- Boundary Value (Giới hạn giá trị)
- Decision Tables (Bảng quyết định)
- Stage TransitionTesting (kiểm tra chuyển đổi trạng thái)
- Client/Server Communications ( Giao tiếp giữa client/server)
- Synchronisation (Sự đồng bộ hóa)
- Compatibility (Khả năng tương thích testing)
- Platform Enviroment (Nền tảng /Môi trường )
Trang 1423/04/2009
4) Một số chiến lượt GUI Testing:
Tập trung vào các lỗi để giảm bớt phạm vi kiểm chứng
Chia các vấn đề quan tâm
Thiết kế kỹ thuật kiểm chứng ở nơi thích hợp
Phân lớp và các giai đoạn kiểm chứng
Kiểm chứng tự đông hóa có thể ở bất cứ nơi nào thích hợp
Trang 1523/04/2009
Nội dung thuyết trình
I Giới thiệu
II Gui testing và một số khái niệm cơ bản
III Gui testing với Desktop Application ,demo1
IV Gui testing với Web Application, demo2
V Kết luận
VI Tài liệu tham khảo
Trang 1623/04/2009
III GUI Testing với Desktop Application , demo1
Phần demo1
Trang 17Ranorex ver 2.0
Nhóm trình bày: A2
Trang 20Demo
• Test phần mềm Unikey 4 RC 1.
Trang 21Testcase 1:Radio button
Một trong hai radio button này có được check khi khởi động chương trình hay không?
Có thể check cả 2 radio button này không?
Trang 22Testcase2:Command button
Button Add có thể được thực thi bằng phím
tắt Alt + A hay không?
Button Delete có thể được thực thi bằng
phím tắt Alt + D hay không?
Trong Macro Table của Unikey:
Trang 23Testcase3: List box
Trong Macro Table của Unikey:
Hiển thị đúng giá trị trên Replace - With hay không?
Trang 2423/04/2009
Nội dung thuyết trình
I Giới thiệu
II Gui testing và một số khái niệm cơ bản
III Gui testing với Desktop Application ,demo1
IV Gui testing với Web Application, demo2
V Kết luận
VI Tài liệu tham khảo
Trang 2523/04/2009Phần demo2
IV GUI Testing với Web Application , demo2
Trang 26 Mô tả cho testplan
Tạo test frame.
Tạo test script, testcase
Trang 27April 23, 2009
Tiện ích
• Giảm thời gian test
• Tăng năng suất làm việc của con người
• Tăng khả năng tái sử dụng của quá trình test
• Cung cấp bản ghi chép chi tiết quá trình test
Trang 30SilkTest Agent: tác động đến giao diện người dùng
Chuyển đổi những lệnh trong kịch bản test thành từng lệnh cụ thể tác động đến giao diện
Điều khiển và giám sát ứng dụng được test
Trang 32• 3 đặc trưng nổi bật cơ bản:
– Thư viện mạnh mẽ hỗ trợ cho các lớp và phương thức.
– Một tập các lệnh, toán tử, loại dữ liệu dùng để khai báo cấu trúc và chuỗi lý luận của testcase.
– Thư viện các chức năng.
Trang 33 Test chức năng, khả năng, hồi quy
Sử dụng trình soạn thảo testplan (testplan
editor) để lên kế hoạch, quản lý quá trình test.
Kiểm tra tính hợp lệ của dữ liệu nhờ vào
DBTester.
Trang 34• Basic Workflow hướng dẫn tạo một testcase.
• Data Driven Workflow: hướng dẫn tạo data được điều khiển bởi testcase.
Trang 35– Test cơ sở dữ liệu
Trang 36– SilkTest cho phép view và test ứng dụng web theo 2 cách:
• Dựa trên Browser đang được sử dụng và những yêu cầu
test của bạn
• Sử dụng DOM truy vấn trình duyệt web, lấy thông tin một
cách trực tiếp về đối tượng từ trang web
Trang 37động của nhiều kịch bản test .s
Trang 38DEMO SILKTEST PROGRAM
• Cài đặt : http://mega.1280.com/file/ARLNNXH7/
• Tạo dự án : http://mega.1280.com/file/C0ZK78C8/
• Tạo testplan : http://mega.1280.com/file/UAQ4OEGI/
• Mô tả cho testplan : http://mega.1280.com/file/TRX1OE3Y/
• Tạo test frame : http://mega.1280.com/file/TG3DDGE7/
• Tạo test
script,testcase:http://mega.1280.com/file/6G9ZHM64/
April 23, 2009
Trang 39mềm ngày càng cao.Trong các yêu cầu khắc khe đó thì sự đòi hỏi
có một giao diện đẹp thân thiện, dễ học dễ sử dụng là không thể thiếu.Vì vậy , ở “tuyến phòng thủ cuối cùng” quyết định chất lượng của phần mềm thì Gui Testing đóng vai trò to lớn
Các kỹ thuật software testing khác ngày càng nâng cao khả năng
tự động hoá và GUI Testing cũng không ngoại lệ
Cần phát triển thêm và bổ sung các kỹ thuật GUI Testing để phù hợp với các công nghệ mới như Silverlight,Web 2.0…
Bạn không cần nghiên cứu nhiều kỹ thuật test chỉ cần nghiên
cứu tốt GUI Testing thì bạn cũng trở thành một tester xuất sắc
Trang 4023/04/2009
VI Tài liệu tham khảo
-Tài liệu về Gui testing do thầy Vũ cung cấp.
+ Summary_Usability_Testing.doc (nhóm A4)
+ Các file hướng dẫn sử dụng và film demo các tool trình bày của
nhóm A2 và A6
Trang 4123/04/2009
Trang 4223/04/2009
Trang 4323/04/2009Usability Testing
Trang 441 Thế nào là một giao diện mang lại hiệu quả ?
a Công việc có thể được thực hiện với các họat động bàn phím?
b Hiện lên các trang web liên quan đến công việc người sử dụng đang làm?
c Thời gian đáp ứng đủ nhanh?
d Các cửa sổ có thích hợp với màn hình không?
e Từ ngữ có phù hợp với cửa sổ không?
f Tiêu đề của cửa sổ, cửa sổ của chức năng có phù hợp không?
g Có thể thay đổi kích cỡ các cửa sổ không?
h Làm tất cả các nút chức năng?
Trang 45• j Refresh màn hình làm sau khi một cửa sổ được thu nhỏ hoặc đóng?
• k Có thể được nhập vào bao nhiêu lần một lĩnh vực trước khi nó ảnh hưởng trở lại?
• l Hiện màn hình phù hợp với các tác động trên màn hình ?
• m Có nút "X" (đóng) ở góc trên bên phải nơi làm việc không?
• n Có nút "-" (tối thiểu) làm việc không?
• o “Đóng băng” GUI khi một cửa sổ được điều chỉnh?
• p Các cửa sổ hiển thị một cách chính xác theo chế độ font chữ lớn hay nhỏ?
• q Có các lệnh menu làm việc không?
• r Có phải tất cả nút chức năng không dùng đến chuyển sang màu xám?
• s Có làm phím tắt để làm việc không?
• t Có phải tất cả các lĩnh vực dữ liệu chỉ đọc đều bị khóa?
Trang 462 Giao diện có trực quan không?
• a Có khai thác các kiểu người dùng?
• b Có nhất quán không?
• c Có trực quan không?
• d ………
Trang 473 Giao diện hỗ trợ?
a Không cho phép sai lầm để được hiển thị và dễ dàng trở lại?
b Có cung cấp lời khuyên, công cụ, các tài liệu tham khảo không?
c ………
4 Giao diện có hấp dẫn người dùng không?
a Người dùng có dễ chịu trong kiểm soát không?
b Người sử dụng có thích thú với kinh nghiệm của họ không?
c ………
Trang 485) Đối với tính tiện dụng của một trang web
1 Mỗi trang cập nhật lại trong vòng 8 giây?
2 Trang web thông báo cho người sử dụng mà chúng đã đến?
3 Có phải trang web luôn biết nơi của chúng không?
8 Các thao tác gõ phím phải nhất quán?
9 Bố trí màn hình nhất quán thông qua các tác vụ?
10 Những thuật ngữ được sử dụng thường xuyên thông qua các tác vụ?
Trang 49• 11 Một người sử dụng có thể dừng lại một quá trình bất cứ lúc nào và trở về trạng thái trước? Nếu không, những gì trong khoảng thời gian này nó có thể được thực hiện?
• 12 Một người sử dụng có thể quay trở lại bước trước một hành động khác.
• 13 Các cảnh báo rõ ràng và đầy đủ đến người sử dụng cho trước khi không thể thu hồi bước?
• 14 Giao hiện như thế nào đối với mọi trình duyệt web khác nhau?
• 15 Người sử dụng có thể thay đổi các mặc định?
• 16 Người sử dụng có tập tin trợ giúp có sẵn tại mỗi bước công việc nào?
• 17 Người sử dụng có thể thực hiện thường xuyên các hoạt động một cách
nhanh chóng?
• 18 Có các phím tắt không? Người mới chưa có kinh nghiệm học điều này khó như thế nào?
Trang 517) Hight light một đối tượng, enable và disable một đối tượng, Hourglass Icon
Một số nhóm mà kỹ thuật check list quan tâm trên giao diện cần kiểm chứng
Trang 521) Cách bố trí,bố cục giao diện.
Các câu hỏi cần đặt ra :
Các thành phần quan trọng có đặt ở gần phía góc trái trên hay không?
Các control trong cũng một group có được bố trí hợp lí hay không ?
( ví dụ như: có ngăn cách với nhau không? Có quy tắc sắp xếp hay không ? )
Các đối tượng dùng để thực hiện một chức năng có được đặt gần nhau hay không ?
Có bao nhiêu command button trên một màn hình và vị trí của chúng ?
( thường là không quá 6 command button trên cùng một giao diện và chúng
được đặt phía bên trái hoặc ở trên cùng )
Trang 5353
Trang 602) Không gian và kích thước của các thành phần.
Các câu hỏi cần đặt ra :
Kích thước của các thành phần ngang cấp như thế nào ?
Kích thước của các thành phần so với màn hình chứa nó có hợp lý không ?
Thành phần graphic trong màn hình có phục vụ cho mục đích thẩm mỹ hay không ? Không gian mà thành phần đó chiếm giữ
Trang 6161
Trang 673) Chọn font và kích thước chữ.
Các câu hỏi cần đặt ra :
Font của giao diện là font gì ? Có thông dụng không ?
Kích thước của các text trong màn hình có hợp lý không ? Có nằm trong các kích thước :8,10,12 ?
Một màn hình có tối đa là 2 font size hay không ?
Màn hình có sử dụng bao nhiêu loại font ? ( khuyến khích là 1 font thôi )
Tránh việc sử dụng in nghiêng và gạch dưới trong giao diện vì chúng sẽ làm cho người dùng khó đọc ?
Trang 6868
Trang 764) Màu sắc
Các câu hỏi cần đặt ra :
Các phối màu có phù hợp không ?
Khuyến khích sử dụng mà đen ,trắng ,và xám trước.Chỉ sử dụng các màu khác khi thật cần thiết và cho tác dụng tốt
Màu nền là màu nào ? ( thường là trắng hoặc xám ) Không dùng màu tối làm nền và màu sáng cho text ,giao diện đó có thoã tiêu chí đó không ?
Số lượng màu sử dụng trên giao diện có nhiều hơn 3 màu hay không ?
Khi nhập liệu cho textbox,combobox,listbox…chỉ sử dụng nền trắng và text màu đen mà thôi
Trang 7777
Trang 845) Hot key
Các câu hỏi cần đặt ra :
Các giao diên có được gọi từ các phím hot key hay không?
Khi hiện một giao diện bằng hot key có khác gì khi không dùng hot key ?
Các tên hot key được sử dụng có được thể hiện cùng với các thành phần tương ứng trên giao diện hay không ?
Trang 856) Button
a) Radio button b) Check box c) Text box d) Combo box e) List box
f) Message box g) Menu
h) …….
Trang 86 Trong một nhóm thì chỉ cho phép 1 button lựa chọn được set hay không ?
Khi vừa bật màn hình lên thì xem nhóm button lựa chọn có cái nào được set chưa ?
Trang 8787
Trang 91Message box
Các câu hỏi cần đặt ra :
Đưa vào tin nhắn dialog box chỉ với từ đầu tiên được viết hoa hay không ?
Hiển thi tên ứng dụng trong thanh tiêu đề của dialog box ?
Hiển thị icon Critical Message khi bạn muốn báo động người dụng một vấn đề quan trọng phải được sửa trước khi ứng dụng có thể tiếp tục.?
Thông điệp trong message box có cô động dễ hiểu hay không ?
Trang 9292
Trang 967 )Hight light một đối tượng, enable và disable một đối
tượng, Hourglass Icon
Trang 9797 Tiếp tục phần thuyết trình