Professional Documents
Culture Documents
Kiểm Thử Tự Động Phần Mềm (Software Test Automation)
Kiểm Thử Tự Động Phần Mềm (Software Test Automation)
Kiểm Thử Tự Động Phần Mềm (Software Test Automation)
1
Nội dung chính
2
Nội dung chính
3
1. KHÁI NIỆM VỀ KIỂM THỬ TỰ ĐỘNG
4
Nội dung chính
5
2. TẠI SAO PHẢI KIỂM THỬ TỰ ĐỘNG
6
2. TẠI SAO PHẢI KIỂM THỬ TỰ ĐỘNG
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
Kiểm tra khả năng vận hành phần mềm trong môi trường đặc biệt:
Đ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
7
Nội dung chính
8
3.KHÁI QUÁT VỀ KIỂM THỬ TỰ ĐỘNG
Cập nhật khi KTPM chưa thảo mãn mức độ bao phủ yêu cầu PM
- Mối tương quan giữa Kiểm thử tự động với toàn bộ chu trình Kiểm thử phần mềm
9
3.KHÁI QUÁT VỀ KIỂM THỬ TỰ ĐỘNG
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 xây dựng TestCase Lựa chọn những
phần cần KTTĐ
Phân tích, thiết kế:
11
Nội dung chính
12
4. GIỚI THIỆU CÔNG CỤ KTTĐ
Công cụ KTTĐ (Tool Test):
Để 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) (Load Test
và Stress Test) 13
4.1. QuickTest Pro
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 trên
trình duyệt IE, Netscape, AOL, Firefox
Visual Basic
ActiveX 14
a) Loại phần mềm hỗ trợ QTP
Một số loại chương trình khác đòi hỏi phải cài đặt
thêm thành phần bổ xung:
.Net
Java
Oracle
People Soft
SAP
Siebel
Teminal Emulators
15
b) Đặc điểm QTP
Dễ sử dụng bảo trì, tạo Test Script nhanh. Cung cấp dữ liệu
kiểm tra rõ ràng và dễ hiểu
Để kiểm tra các phiên bản sau của ứng dụng chỉ cần cập
nhật lại Object Repository, mà không cần thay đổi Test
Script
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
16
b) Đặc điểm của QTP
17
c) Các thành phần quan trọng của QTP
a. Action
b. Data Table
c. Object Repository (OR)
d. Checkpoint
18
d) Ngôn ngữ sử dụng viết Script
QTP sử dụng VBScript để viết TestScript
Chế độ Expert View của QTP để soạn thảo VBScript
Chế độ Keyword View để quản lý các đối tượng
19
d) 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
Case
Class NameClass
----------------------
Public sub Run()
End sub
---------------------- Constructor
Private Sub Class_Initialize
End sub
---------------------- Constructor
Private Sub Class_Terminate
End sub
----------------------
End class
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 dự án khác
20
e) Ví dụ
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
21
4.2. LoadRunner
Tại sao phải Performance:
Xác định thời gian đáp ứng khi có nhiều người
người dùng
Xác định biểu đồ chiếm giữa tài nguyên của phần
mềm khi có nhiều người dùng
Xác định khả năng phân tải, khả năng phục hồi
của PM khi gặp sự cố
Kiểm tra việc thực hiện giao dịch có bị sai lệch khi
có nhiều người cùng làm giống thao tác
22
a) Thành phần cơ bản của LR
Virtual User Generator
Controller
Load Generator
Analysis
Launcher
23
b) Ngôn ngữ viết Script
Script của LR tự động sinh ngôn ngữ C
Hỗ trợ thêm: Java, Visual Basic
Ngoài ra còn hỗ trợ: API
24
b) Ngôn ngữ viết Script
Hàm web_url(...):
Hàm web_submit_form(...):
Hàm web_image(...):
25
c) Các bước thực hiện PT trên LR
27