Kiểm Thử Tự Động Phần Mềm (Software Test Automation)

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 27

KIỂM THỬ TỰ ĐỘNG PHẦN MỀM

(Software Test Automation)

Nguyễn Thị Thu Hiền


Lê Thị Thu Hương

1
Nội dung chính

1) Kiểm thử tự động là gì?

2) Tại sao phải kiểm thử tự động?

3) Quy trình kiểm thử tự động?

4) Dùng công cụ nào để kiểm thử tự động?

2
Nội dung chính

1) Kiểm thử tự động là gì?

2) Tại sao phải kiểm thử tự động?

3) Quy trình kiểm thử tự động?

4) Dùng công cụ nào để kiểm thử tự động?

3
1. KHÁI NIỆM VỀ KIỂM THỬ TỰ ĐỘNG

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
 bằng một công cụ nhằm rút ngắn thời gian
kiểm thử

4
Nội dung chính

1) Kiểm thử tự động là gì?

2) Tại sao phải kiểm thử tự động?

3) Quy trình kiểm thử tự động?

4) Dùng công cụ nào để kiểm thử tự động?

5
2. TẠI SAO PHẢI KIỂM THỬ TỰ ĐỘNG

 Giảm bớt công 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 (KTV)

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

1) Kiểm thử tự động là gì?

2) Tại sao phải kiểm thử tự động?

3) Quy trình kiểm thử tự động?

4) Dùng công cụ nào để kiểm thử tự động?

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

Cập nhật khi gặp lỗi thiết kế sai yêu cầu

Cập nhật khi gặp lỗi do phát triển TestScript

Test Plan Test Case Test Script Running Test Report

- Kiểm thử tự động (KTTĐ) giống như là phát triển một dự án

- 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ế:

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


10
3.KHÁI QUÁT VỀ KIỂM THỬ TỰ ĐỘNG

Thuận lợi và khó khăn:

THUẬN LỢI: KHÓ KHĂN:

 Quá trình thực thi KTTĐ không cần


 Mất chi phí tạo các Script để thực hiện
can thiệp của KTV
KTTĐ
 Giảm chi phí khi thực hiện kiểm tra số
 Tốn chi phí cho bảo trì các Script
lượng lớn TestCase hoặc TestCase lặp lại
 Đòi hỏi KTV phải có kỹ năng tạo Script
nhiều lần
 Không áp dụng được trong việc tìm lỗi
 Giả lập được tình huống khó có thể
mới
thực hiện bằng tay

11
Nội dung chính

1) Kiểm thử tự động là gì?

2) Tại sao phải kiểm thử tự động?

3) Quy trình kiểm thử tự động?

4) Dùng công cụ nào để kiểm thử tự động?

12
4. GIỚI THIỆU CÔNG CỤ KTTĐ
 Công cụ KTTĐ (Tool Test):

QuickTest Professional, LoadRunner, WinRunner, Rational Robot,


SilkTest, JUnit, Nunit…
 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) (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

 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

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

1. Recording (Ghi nhận):

2. Replay (Phát lại):

3. Enhancements (Nâng cao):

4. Prepare For Load (Chuẩn bị thực thi):

5. Finish (Kết thúc):


26
KIỂM THỬ TỰ ĐỘNG PHẦN MỀM
(Software Test Automation)

Cảm ơn các thầy cô và các bạn sinh


viên đã quan tâm theo dõi!

27

You might also like