1. Khái niệm về kiểm thử tự động2. Mục đích3. Phân loại kiểm thử tự động 4. Quy trình kiểm thử tự động5. Giới thiệu công cụ KTTĐ Kiểm thử tự động phần mềm là: Quá trình xử lý một cách tự động các bước thực hiện các test case (trong cả 1 plan) Kiểm thử tự động bằng một công cụ nhằm rút ngắn thời gian kiểm thử 2.1. Tại sao phải kiểm thử tự động? Giảm bớt công và thời gian sức thực hiện Tăng độ tin cây Giảm sự nhàm chán Rèn luyện kỹ năng lập trình cho kiểm thử viên Giảm chi phí cho tổng quá trình kiểm thử. + Không đủ tài nguyên: Khi số lượng TestCase quá nhiều mà KTV không thể hoàn tất trong thời gian cụ thể + Kiểm tra hồi quy: Nâng cấp phần mềm > Kiểm tra lại các tính năng đã chạy tốt và những tính năng đã sửa > Khó khả thi về mặt thời gian VD: Trình duyệt: IE, Netscape, Opera, Fire Fox, Google Chrome + Kiểm tra khả năng vận hành phần mềm trong môi trường đặc biệt: VD Đo tốc độ trung bình xử lý một yêu cầu của Web server Thiết lập tình huống 1000 yêu cầu đồng thời gửi đến Web Server Xác định số yêu cầu tối đa được xử lý bởi Web Server Xác định cấu hình máy thấp nhất mà PM vẫn có thể hoạt động tốt
Trang 1KIỂM THỬ TỰ ĐỘNG & CHIẾN LƯỢC KIỂM THỬ
Chương 3:
Slide 25
đến slide 31
Trang 2Danh sách thành viên nhóm 9
1 Nguyễn Quốc Vượng (N Trưởng)
2 Nguyễn Đức Khánh
3 Trần Anh Tài
4 Lê Thanh Hải (N Phó)
5 Dương Anh Tuấn
6 Nguyễn Thị Mai Hồng
7 Nguyễn Thị Mai Dung (Thư ký)
8 Nguyễn Đức Long
9 Bùi Xuân Hùng
Trang 51 Khái niệm về kiểm thử tự động
Trang 62 Mục đích
2.1 Tại sao phải kiểm thử tự động?
Giảm bớt công và thời gian sức thực hiện
Tăng độ tin cây
Giảm sự nhàm chán
Rèn luyện kỹ năng lập trình cho kiểm thử viên
Giảm chi phí cho tổng quá trình kiểm thử.
Trang 72.2 Khi nào thì kiểm thử tự động
+ Không đủ tài nguyên: Khi số lượng TestCase quá nhiều mà KTV không
thể hoàn tất trong thời gian cụ thể
+ Kiểm tra hồi quy: Nâng cấp phần mềm > Kiểm tra lại các tính năng đã
chạy tốt và những tính năng đã sửa > Khó khả thi về mặt thời gian
VD: Trình duyệt: IE, Netscape, Opera, Fire Fox, Google Chrome
+ Kiểm tra khả năng vận hành phần mềm trong môi trường đặc biệt: VD
-Đo tốc độ trung bình xử lý một yêu cầu của Web server
-Thiết lập tình huống 1000 yêu cầu đồng thời gửi đến Web Server -Xác định số yêu cầu tối đa được xử lý bởi Web Server
-Xác định cấu hình máy thấp nhất mà PM vẫn có thể
Trang 83 Phân loại kiểm thử tự động
- Vì kiểm thử phần mềm thường chiếm tới 40% tất
cả các nổ lực dành cho một dự án xây dựng phần mềm, nên công cụ có thể làm giảm thời gian kiểm thử sẽ rất có giá trị Các nhà nghiên cứu và người thực hành đã phát triển một số thế hệ các công cụ kiểm thử tự động:
Trang 93.1 Công cụ kiểm thử tự động mã trình
Bộ phân tích tĩnh: phân tích cấu trúc và định
dạng chương trình
Bộ kiểm toán mã: xem phần mềm có phù hợp
với các chuẩn mã tối thiểu chưa?
Bộ xử lý khai báo: xem những khai báo ứng
xử của chương trình có phù hợp với sự thực hiện chương trình thực hay không?
9
Trang 103.2 Công cụ kiểm thử tự động dữ liệu
Bộ sinh tệp kiểm thử : cho ra các giá trị tiền xác
định, các tệp vào điển hình cho chương trình chịu kiểm thử
Bộ sinh dữ liệu thử: giúp lựa chọn dữ liệu làm
chương trình ứng xử theo theo một cách đặc biệt?
Bộ xác minh kết quả : đưa ra báo cáo giá trị
trung bình kết quả cho chuyên gia bảo đảm chất lượng PM
Trang 113.3 Công cụ kiểm thử tự động cài đặt
Các trợ giúp cho quá trình kiểm thử: Hỗ trợ việc xử
lý các phép kiểm thử bằng cách làm gần như không khó
khăn để:
Thiết lập một chương trình ứng cử viên trong môi
trường kiểm thử
Nuôi chương trình đó bằng dữ liệu vào
Mô phỏng cho hành vi của các module phụ.
Bộ so sánh đầu ra: Công cụ này giúp ta có thể so
sánh một tập cái ra từ một chương trình này với một tập cái
ra khác để xác định sự khác biệt giữa chúng.
11
Trang 123.3 Công cụ kiểm thử tự động cài đặt
Hệ tiến hành ký hiệu: Dùng cái vào đại số, thay vì giá
trị dữ liệu số, Cái ra là đại số và có thể được so sánh với kết quả trông đợi
Mô phỏng môi trường: Công cụ này là một hệ thống
dựa trên máy tính giúp người kiểm thử mô hình hoá môi trường bên ngoài của phần mềm thời gian thực và rồi mô phỏng các điều kiện vận hành thực tại một cách động
Bộ phân tích dòng dữ liệu: Công cụ này theo dõi dấu
vết luồng dữ liệu đi qua hệ thống
Trang 144.2 Các bước cơ bản của quá trình KTTĐ
Xây dựng yêu cầu: Thu thập các đặc tả yêu cầu hoặc
xây dựng Test Case, lựa chọn những phần cần KTTĐ
Phân tích, thiết kế: Xây dựng mô hình phát triển
KTTĐ
Phát triển TestScript: Tạo TestScript > Chỉnh sửa
TestScript > Chạy TestScript > Test Report
Đánh giá kết quả: Thông qua Test Report
Trang 154.3 Thuận lợi và khó khăn:
15
• KTPM không cần can
thiệp của KTV
• Giảm chi phí khi
thực hiện kiểm tra số
lượng lớn test case
hoặc test case lặp lại
• Tốn chi phí dành cho bảo trì các script
• Đòi hỏi KTV phải có
kỹ năng tạo script KTTĐ
• Không áp dụng được trong việc tìm lỗi mới của PM
Trang 165 Giới thiệu công cụ KTTĐ
Trong lĩnh vực KTTĐ hiện có khá nhiều Test Tool
thương mại nổi tiếng, phổ biến như QuickTest
Professional, WinRunner, Rational Robot, SilkTest,
JTest,
Giới thiệu:
+ QuickTest Professional (QTP): Để kiểm tra chức năng
(Functional Test) và thực hiện kiểm tra hồi quy
(Regression Test) một cách tự động
+ LoadRunner (LR):Kiểm tra Hiệu năng của phần mềm (Performance test)
Trang 175 Giới thiệu công cụ KTTĐ
17
VD: Test Tool ở F-Soft
Trang 185.1 QuickTest Pro: (HP vừa mua lại)
- QTP giúp chúng ta KTPM theo hướng chức năng rất nhiều loại phần mềm khác nhau
Tuy nhiên Mercury chỉ hỗ trợ một số loại chương trình:+ Ứng dụng Windows chuẩn/Win32.
+ Ứng dụng web theo chuẩn HTML, XML chạy trong trình duyệt Internet Explorer, Netscape , Firefox, AOL + Visual Basic.
+ ActiveX.
+ QTP hỗ trợ Unicode (UTF-8, UTF-16).
Trang 195.1.1 Loại phần mềm hỗ trợ:
19
Một số loại chương trình khác đòi hỏi chúng ta phải cài đặt thêm thành phần bổ sung của QTP thì mới thực hiện kiểm tra được:
Trang 20- Thực hiện kiểm thử trên nhiều trình duyệt tốt hơn các phần mềm khác
- Recovery Scenarios xử lý được sự kiện hoặc lỗi không đoán trước có thể làm Script bị dừng khi chạy
Trang 215.1.2 Đặc điểm
21
- Có khả năng hiểu Test Script của WinRunner…
- Có thể xây dựng và chia sẻ các thư viện hàm giữa các nhóm KTV
- Kiểm tra tài nguyên cần thiết trước khi kiểm tra tự động
- Hỗ trợ khả năng kéo thả
- Hỗ trợ Unicode
- Hỗ trợ nhiều môi trường mới
Trang 225.1.2 Đặc điểm
Trang 245.1.4 Ngôn ngữ sử dụng viết Script
- QTP hỗ trợ việc sử dụng các cấu trúc lớp và hàm để quản lý các Test
- Sử dụng RegisterUserFunc để đăng ký hàm với QTP, tạo ra các thư viện hàm để có thể sử dụng lại trong các
Trang 25-5.1.5 Ví dụ
25
- Vấn đề: Thực hiện Test cho cửa sổ Login của phần
mềm “Đặt vé máy bay” (Flight Reservation) có sử dụng test tự động
- Giải quyết:
+ Từ bản đặc tả yêu cầu xây dựng Test Case
+ Chọn các Test Case cần kiểm thử tự động
+ Thực hiện tạo các Test Script
+ Chạy các Script này
+ Đưa ra Test Report
Trang 265.1.5 Ví dụ
Click
Trang 28II Chiến lược kiểm thử
Trang 291 Định nghĩa
2 Một số chiến lược
3 Yêu cầu chiến lược kiểm thử
4 Các đặc trưng chiến lược kiểm thử
5 Sự thích ứng của chiến lược kiểm thử
6 Sự đáp ứng của chiến lược kiểm thử
7 Quy trình kiểm thử
Trang 301 Định nghĩa
- Là sự tích hợp các kỹ thuật thiết kế ca kiểm thử tạo thành một kế hoạch gồm dãy các bước để hướng dẫn quá trình kiểm thử phần mềm thành công
- Nó đưa ra một bản đồ các đường đi để:
- Nhà phát triển tổ chức bảo đảm chất lượng
- Khách hàng: biết các phần việc liên quan đến kiểm thử
+ Một định nghĩa khác ngắn gọn hơn: Chiến lược
kiểm thử (Test Strategy) là trình bày những phương pháp để kiểm thử các ứng dụng phần mềm
Trang 312 Một số chiến lược
31
2.1 Kiểm thử từ dưới lên
(Bottom-up testing – PP Tích hợp)
2.2 Kiểm thử từ trên xuống
(Top down testing – PP Tích hợp)
2.3 Kiểm thử vụ nổ lớn (Big bang –tích hợp)
2.4 Kiểm thử hồi quy
(Regression testing - Quá trình tích hợp)
2.5 Kiểm thử luồn sợi (Hệ thời gian thực – Nhóm 8)
<Những phần này đã được nêu ở các mục trước kiểm thử
tự động – Nhóm 7 & 8>
Trang 323 Yêu cầu chiến lược kiểm thử
32
- Phải tích hợp được việc lập kế hoạch thử nghiệm,thiết kế ca kiểm thử, tiến hành kiểm thử và thu thập và đánh giá các
thông tin kết quả.
- Đủ mềm dẻo để cổ vũ óc sáng tạo, đáp ứng được yêu cầu khách hàng
- Kiểm thử là một tập các hoạt động có thể lập kế hoạch
trước và được tiến hành một cách có hệ thống Chính vì thế
mà cần xác định một khuôn mẫu (template) kiểm thử phần mềm
- Chiến lược kiểm thử phải thích ứng với mức kiểm thử cụ thể.
- Chiến lược kiểm thử phải đáp ứng các đối tượng quan tâm
Trang 334 Các đặc trưng chiến lược kiểm thử
Trang 345 Sự thích ứng của chiến lược kiểm thử
Chiến lược cần thích ứng với từng mức kiểm thử:
+ Kiểm thử mức thấp: xác minh từng khúc mã
nguồn, có tương ứng và thực thi đúng đắn không?
+ Kiểm thử mức cao: xác minh và thẩm định các
chức năng hệ thống chủ yếu có đúng đặc tả và đáp
ứng yêu cầu của khách hàng không?
Trang 356 Sự đáp ứng của chiến lược kiểm thử:
+ Có các cột mốc cho các nhà quản lý kiểm soát
hoạt động đảm bảo chất lượng.
+ Có thước đo để nhận ra các vấn đề càng sớm
càng tốt và khách hàng nhận biết được quá trình
kiểm thử
Trang 367 Quy trình kiểm thử (Test process )
- Là trình tự thực hiện kiểm tra hệ thống phần mềm từ khi có yêu cầu kiểm tra cho đến khi sản phẩm được thông báo
phát hành.
- Các bước thực hiện:
+ Lập kế hoạch kiểm tra
+ Chuẩn bị môi trường kiểm tra + Thiết kế kiểm tra + Thực hiện kiểm tra + Theo dõi và xử lý lỗi+ Thống kê và báo cáo kết quả kiểm tra+ Thông báo phát hành sản phẩm
Trang 37Kết thúc!
37
Cảm ơn các thầy và các bạn đã
quan tâm theo dõi!
KIỂM THỬ TỰ ĐỘNG & CHIẾN LƯỢC KIỂM THỬ
(Test Automation & Testing strategy)
Nhóm 9
Trang 38Hỏi & Đáp
Question / Answer