1.01k likes | 1.31k Views
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. Topic:. GUI TESTING. 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. Nguyễn Kim Trọng (TL) Đỗ Minh Doãn
E N D
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 Topic: GUI TESTING 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 23/04/2009
Nguyễn Kim Trọng (TL) • Đỗ Minh Doãn • Đoàn Bảo Điền • Thái Văn Minh Tuấn • Trần Phước Nguyên (TL) • Bùi Hành Quân • Lê Thành Việt • Lê Tiến Phát • Trương Thạch Thảo Nhóm A1 : Nhóm A4 : • Trần Quốc Tự (TL) • Lâm Ngọc Anh Thư • Nguyễn Hoàng Vũ • Nguyễn Thị Hoàng Yến • Trần Hải Đăng • Trần Nguyễn Hướng (TL) • Trương Hoàng Linh • Tô Long Thịnh • Nguyễn Quốc Long • Võ Đại Vũ Nhóm A2 : Nhóm A5 : • Trịnh Thị Hồng (TL) • Ninh Thị Thu Hằng • Phạm Thị Minh Nhật • Nguyễn Huy Hoàng • Đinh Duy Long • Dương Huỳnh Nghĩa (TL) • Trần Quang Long • Nguyễn Văn Năm • Hà An Phong • Nguyễn Thành Long Nhóm A3 : Nhóm A6 : 23/04/2009
Nội dung thuyết trình • Giới thiệu • Gui testing và một số khái niệm cơ bản • Gui testing với Desktop Application ,demo1 • Gui testing với Web Application, demo2 • Kết luận • Tài liệu tham khảo 23/04/2009
Nội dung thuyết trình • Giới thiệu • Gui testing và một số khái niệm cơ bản • Gui testing với Desktop Application ,demo1 • Gui testing với Web Application, demo2 • Kết luận • Tài liệu tham khảo 23/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 23/04/2009
Nội dung thuyết trình • Giới thiệu • Gui testing và một số khái niệm cơ bản • Gui testing với Desktop Application ,demo1 • Gui testing với Web Application, demo2 • Kết luận • Tài liệu tham khảo 23/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 ) 23/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 ) 23/04/2009
a) Checklist testing • - Dựa vào các chuẩn thiết kế màn hình để lập ra một danh sách các vấn đề cần kiểm tra đối với giao diện của phần mềm. • - Các chuẩn thiết kế màn hình thường đề cập đến: • Cách bố trí,bố cục giao diện. • Không gian và kích thước của các thành phần. • Chọn font và kích thước chữ. • Màu sắc • Hot key • 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. 23/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…. 23/04/2009
3) Bốn giai đoạn của GUI Testing: 23/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 23/04/2009
Nội dung thuyết trình • Giới thiệu • Gui testing và một số khái niệm cơ bản • Gui testing với Desktop Application ,demo1 • Gui testing với Web Application, demo2 • Kết luận • Tài liệu tham khảo 23/04/2009
III. GUI Testing với Desktop Application , demo1 Phần demo1 23/04/2009
Ranorex ver 2.0 Nhóm trình bày: A2
Giới thiệu • Ranorex là một công ty chuyên cung cấp các giải pháp kiểm thử phần mềm cho hàng trăm công ty và cơ sở giáo dục trên khắp thế giới. • Trụ sở chính đặt tại Graz, Austria
Chức năng: • Cho phép viết testscript bằng C#, VB, Python. • Có công cụ spy hỗ trợ cho việc lập trình. • Tích hợp được với visual 2003, 2005, 2008. • Chức năng record (giống Quick Test Pro).
Demo • Test phần mềm Unikey 4 RC 1.
Testcase 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?
Testcase2:Command button Trong Macro Table của Unikey: 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?
Testcase3: List box Trong Macro Table của Unikey: Hiển thị đúng giá trị trên Replace - With hay không?
Nội dung thuyết trình • Giới thiệu • Gui testing và một số khái niệm cơ bản • Gui testing với Desktop Application ,demo1 • Gui testing với Web Application, demo2 • Kết luận • Tài liệu tham khảo 23/04/2009
Phần demo2 IV. GUI Testing với Web Application , demo2 23/04/2009
SILKTEST Giới thiệu Tiện ích Các loại test Đặc trưng cơ bản Chức năng Loại file test • Demo SilkTest • Cài đặt • Tạo dự án • Tạo testplan • Mô tả cho testplan • Tạo test frame. • Tạo test script, testcase April 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 April 23, 2009
Các loại test Layered Approach Test khả năng Test chức năng Test hệ thống Các loại test khác Test hồi quy Test lỗi Test quá tải Test hộp trắng, và hộp đen April 23, 2009
Đặc trưng cơ bản Cách SilkTest làm việc? SilkTest xác định đối tượng thuộc lớp nào, có thuộc tính và phương thức gì. Giả lập các hành động của người dùng tác động đến ứng dụng. Ghi nhận kết quả SilkTest gồm 2 phần riêng biệt: SilkTest Host SilkTest Agent April 23, 2009
Đặc trưng cơ bản (tt) • SilkTest Host: phát triển, sửa chữa, biên dịch, debug, thực thi kịch bản test và kế hoạch test. • SilkTest 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. April 23, 2009
Đặc trưng cơ bản (tt) Cách SilkTest ghi lại hành động của người dùng: Trước khi tạo và chạy kịch bạn test, tạo một nơi để chứa thông tin của ứng dụng được test. Mô tả những đối tượng GUI (menu, button, …) Dựa và thuộc tính, phương thức liên kết với mỗi đối tượng, SilkTest sẽ ghi lại các hành động bằng ngôn ngữ 4Test. April 23, 2009
Đặc trưng cơ bản (tt) April 23, 2009 • Ngôn ngữ 4Test là ngôn ngữ hướng đối tượng thứ 4, được thiết kế đặc biệt dành cho các chuyên gia QA. • 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.
Chức năng • Test ứng dụng web, hoặc ứng dụng client/server: • 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. April 23, 2009
Chức năng(tt) April 23, 2009 • Test ứng dụng: • Thanh WorkFlow: • 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.
Chức năng (tt) AutoComplete giúp giảm thời gian công đoạn soạn thảo thủ công file 4Test. Ghi lại quá trình test. Nhận dạng đối tượng. SilkTest tự động xử lý lỗi, và trả về cho ứng dụng trạng thái yêu cầu trước khi chạy bước test kế tiếp. Tạo và lưu trữ testplan. Test cơ sở dữ liệu April 23, 2009
Chức năng (tt) Test ứng dụng web Độc lập đối với Browser và nền tảng (hệ điều hành) SilkTest làm việc với tất cả các công nghệ để phát triển ứng dụng Web. 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. April 23, 2009
Loại File April 23, 2009
DEMO SILKTEST PROGRAM April 23, 2009 • 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/
V. Kết luận • Với xu hướng ngày càng phát triển của công nghệ phần mềm và các yêu cầu của khách hàng đối với chất lượng của một phần mề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. 23/04/2009
VI. Tài liệu tham khảo • Tài liệu về Gui testing do thầy Vũ cung cấp. • link: http://members.tripod.com/~bazman/checklist.html • http://www.scribd.com/doc/4543515/Web-Application-Testing-Check-List • Auerbach.Manage.Software.Testing.Mar.2008.pdf • Ngoài ra các bạn có thể tham khảo các file tổng hợp của nhóm mình: + checklist.doc ( nhóm A3) + Web_application_Gui_testing.doc( nhóm A1) + 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 23/04/2009
Group A Thanh you for Attention 23/04/2009
Q & A ? ? ? 23/04/2009
Usability Testing 23/04/2009
Thế nào là một giao diện mang lại hiệu quả ? • 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?
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?
2. 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. ………
3. 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. ………………………………..
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? • 4. Người dùng muốn làm gì? • 5. Bao nhiêu người sử dụng hiện có để tìm hiểu và ghi nhớ? • 6. Chúng có thể hồi đáp trở lại? • 7. Các kiểu tác động của người sử dụng phải áp dụng khác nhau thông qua các nhiệm vụ. • 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ụ? 5) Đối với tính tiện dụng của một trang web
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?
Game ShowCheck list testing 23/04/2009