Tải bản đầy đủ (.ppt) (38 trang)

Môn học: Công nghệ phần mềm nâng cao: KIỂM THỬ TỰ ĐỘNG CHIẾN LƯỢC KIỂM THỬ (Test Automation Testing strategy)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.14 MB, 38 trang )

Môn học: Công nghệ phần mềm nâng cao
Nội dung

KIỂM THỬ TỰ ĐỘNG & CHIẾN LƯỢC KIỂM THỬ
(Test Automation & Testing strategy)
Giảng viên:
Nguyễn Đức Lưu

Nhóm 9
Chương 3:
Slide 25
đến slide 31
(Ver. 2 )

1-38


Danh sách thành viên nhóm 9

1.
2.
3.
4.
5.
6.
7.
8.
9.

Nguyễn Quốc Vượng (N Trưởng)
Nguyễn Đức Khánh


Trần Anh Tài
Lê Thanh Hải (N Phó)
Dương Anh Tuấn
Nguyễn Thị Mai Hồng
Nguyễn Thị Mai Dung (Thư ký)
Nguyễn Đức Long
Bùi Xuân Hùng

2


Nội dung chính

I. Kiểm thử tự động
(Test Automation)
II. Chiến lược kiểm thử
(Testing Strategy )

3


I. Kiểm thử tự động
1. Khái niệm về kiểm thử tự động
2. Mục đích
3. Phân loại kiểm thử tự động
4. Quy trình kiểm thử tự động
5. Giới thiệu cơng cụ KTTĐ
4



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 (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ử
5


2. 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ử.
6


2.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ể hồ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

7


3. 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:

8


3.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 tố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


3.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
10


3.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ử
 Ni 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



3.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 hố
mơi trường bên ngồ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

12


4. Quy trình kiểm thử tự động
4.1. Khái quát về quy trình:

Cho thấy:
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 tồn bộ 13
chu trình Kiểm thử phần mềm


4.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

14


4.3. Thuận lợi và khó khăn:
Thuận lợi
• 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
nhiều lần.
• Giả lập tình huống
khó có thể thực hiện
bằng tay.

Khó khăn
• Mất chi phí tạo các

script để thực hiện
KTTĐ.
• 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
15
của PM.


5. 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)
16


5. Giới thiệu công cụ KTTĐ
VD: Test Tool ở F-Soft

17


5.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).
18


5.1.1. Loại phần mềm hỗ trợ:
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:
- .Net
- Java
- Oracle
- People Sof
- SAP
- Siebel
- Teminal Emulators
19


5.1.2. Đặc điểm
- 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
đốn trước có thể làm Script bị dừng khi chạy
20


5.1.2. Đặc điểm
- 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
21


5.1.2. Đặc điểm

22


5.1.3. Các thành phần quan trọng của QTP

+ Action
+ Data Table
+ Object Repository (OR)
+ Checkpoint

23


5.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
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
24


5.1.5. 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
25


×