Kiểm định phần mềm

KIỂM THỬ TỰ ĐỘNG

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 1

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Đ

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 2

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.

 Kiểm thử tự động bằng một công cụ nhằm

rút ngắn thời gian kiểm thử

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 3

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

 Giảm chi phí cho tổng quá trình kiểm thử.

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 4

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ể 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

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 5

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:

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 6

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 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 việc thực

hiện chương trình thực tế hay không?

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 7

3.2. Công cụ kiểm thử tự động dữ liệu

 Bộ sinh tập tin kiểm thử : cho ra các giá trị tiền xác định, các tập tin đầu 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 để chương trình xử lý 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

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 8

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 viên trong môi

trường kiểm thử

 Chạy chương trình với các dữ liệu đầ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 đầu ra từ một chương trình này với một tập đầu ra khác để xác định sự khác biệt giữa chúng.

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 9

3.3. Công cụ kiểm thử tự động cài đặt

Hệ tiến hành ký hiệu: Dùng đầu vào đại số, thay vì giá trị dữ liệu số, đầu ra là đại số và có thể được so sánh với kết quả mong chờ.

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 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

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 10

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 toàn bộ

Kiểm định phần mềm - ĐH Sài Gòn 11

04/07/16 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

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 12

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

Thuận lợi

Khó khăn

ặ ạ  l p tình hu ng khó  ệ ể ự

• KTPM không c n can  ủ thi p c a KTV. ự • Gi m chi phí khi th c  ố ượ ng  hi n ki m tra s  l ặ ớ l n test case ho c test  ề ầ i nhi u l n. case l p l ố ả ậ • Gi có th  th c hi n b ng  tay.

• 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 c a  PM.

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 13

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)

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 14

5. Giới thiệu công cụ KTTĐ

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 15

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

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 16

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 Soft - SAP - Siebel - Teminal Emulators

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 17

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 đoán trước có thể làm Script bị dừng khi chạy

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 18

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

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 19

5.1.2. Đặc điểm

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 20

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

+ Action

+ Data Table

+ Object Repository (OR)

+ Checkpoint

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 21

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

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 22

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

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 23

5.1.5. Ví dụ

04/07/16 Kiểm định phần mềm - ĐH Sài Gòn 24