Triển khai thực hiện

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu kiểm thử Webservice và xây dựng công cụ hỗ trợ (Trang 67 - 73)

Chương 3. XÂY DỰNG CÔNG CỤ HỖ TRỢ KIỂM THỬ DỊCH VỤ WEB

3.2. Phân tích và đánh giá hệ thống

3.2.4. Phân tích kết quả

3.2.4.3. Triển khai thực hiện

3.2.4.3.1. Xây dựng Web service.

Trước tiên ta cần xây dựng Web service lấy thông tin thuê bao để thực hiện kiểm thử trên Web service này.

Thiết kế cơ sở dữ liệu của database CM (thông tin thuê bao): gồm database trả trước, database trả sau, database lưu thông tin đăng nhập. Cấu trúc hai database trả trước và

trả sau giống nhau, gồm hai bảng SUB_MB và SUB_HP. Database lưu thông tin đăng nhập gồm bảng WS_USER.

Bảng 3.3. Bảng thiết kế CSDL cho WS

Bảng lưu thông tin thuê bao di động - Tên bảng: SUB_MB

STT Tên cột Kiểu Mô tả

1 Sub_id Number(18,0) Mã thuê bao

2 Msisdn Nvarchar(50) Bắt buộc, lưu số thuê bao 3 Product_code Narchar(50) Mã gói cước của thuê bao 4 Status Number(2,0) Trạng thái thuê bao

5 Act_status Nvarchar(50) Trạng thái hoạt động của thuê bao 6 Fullname Nvarchar(50) Tên đầy đủ của thuê bao

7 Address Nvarchar(50) Địa chỉ của thuê bao Bảng lưu thông tin thuê bao homephone- Tên bảng: SUB_HP

STT Tên cột Kiểu Mô tả

1 Sub_id Number(18,0) Mã thuê bao

2 Msisdn Nvarchar(50) Bắt buộc, lưu số thuê bao 3 Product_code Narchar(50) Mã gói cước của thuê bao 4 Status Number(2,0) Trạng thái thuê bao

5 Act_status Nvarchar(50) Trạng thái hoạt động của thuê bao 6 Fullname Nvarchar(50) Tên đầy đủ của thuê bao

7 Address Nvarchar(50) Địa chỉ của thuê bao Bảng lưu thông tin đăng nhập - Tên bảng: WS_USER

STT Tên cột Kiểu Mô tả

1 Id Number(10,0) Khóa chính của bảng, tăng tự động

2 user Nvarchar(50) Tên đăng nhập

3 pass Nvarchar(50) Mật khẩu đăng nhập

Xây dựng Web service lấy thông tin thuê bao:

Bước 1: kiểm tra thông tin đăng nhập trong bảng WS_USER:

Câu lệnh:

SELECT * FROM ws_user where [user] = @user and [pass] = @pass

Nếu có dữ liệu  Bước 2

Nếu không: trả về error_code = -1, description = Loi dang nhap  kết thúc Bước 2: kiểm tra thông tin lần lượt trong sub_mb trả trước. Câu lệnh:

SELECT sub_id,msisdn,product_code,status,act_status FROM sub_mb where msisdn = @msisdn

Nếu có dữ liệu  trả về thông tin:

- error_code = 0 - sub_id

- msisdn - product_code - status

- act_status - sub_type = 1

- description = Tra truoc

 kết thúc

Nếu không  Bước 3

Bước 3: kiểm tra thông tin lần lượt trong sub_hp trả trước. Câu lệnh:

SELECT sub_id,msisdn,product_code,status,act_status FROM sub_hp where msisdn = @msisdn

Nếu có dữ liệu  trả về thông tin:

- error_code = 0 - sub_id

- msisdn - product_code - status

- act_status

- sub_type = 0

- description = homephone

 kết thúc Nếu không  Bước 4

Bước 4: kiểm tra thông tin lần lượt trong sub_mb trả sau. Câu lệnh:

SELECT sub_id,msisdn,product_code,status,act_status FROM sub_mb where msisdn = @msisdn

Nếu có dữ liệu  trả về thông tin:

- error_code = 0 - sub_id

- msisdn - product_code - status

- act_status - sub_type = 2

- description = Tra sau

 kết thúc Nếu không  Bước5

Bước 5: kiểm tra thông tin lần lượt trong sub_hp trả sau. Câu lệnh:

SELECT sub_id,msisdn,product_code,status,act_status FROM sub_hp where msisdn = @msisdn

Nếu có dữ liệu  trả về thông tin:

- error_code = 0 - sub_id

- msisdn - product_code - status

- act_status - sub_type = 0

- description = homephone

 kết thúc

Nếu không  trả về thông tin:

- Description = So khong ton tai - Error_code = -2

 kết thúc Request:

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<getSubInfo xmlns="http://tempuri.org/">

<msisdn>string</msisdn>

<user>string</user>

<pass>string</pass>

</getSubInfo>

</soap:Body>

</soap:Envelope>

Response:

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<getSubInfoResponse xmlns="http://tempuri.org/">

<getSubInfoResult>

<error_code>string</error_code>

<status>string</status>

<act_status>string</act_status>

<product_code>string</product_code>

<sub_type>string</sub_type>

<description>string</description>

<msisdn>string</msisdn>

<sub_id>string</sub_id>

</getSubInfoResult>

</getSubInfoResponse>

</soap:Body>

</soap:Envelope>

3.2.4.3.2. Lập kịch bản test

Sử dụng công cụ và mô tả yêu cầu webservice, ta tạo testcase tự động như sau:

- Msisdn: định dạng đúng là chuỗi số 10 hặc 11 ký tự, bắt đầu bằng 84. Như vậy mẫu (regular expression) có dạng 84\d{9,10}, các giá trị gán lần lượt: giá trị mặc định (là số điện thoại hợp lệ, ví dụ 84979348036), giá trị thiếu độ dài (tạo ngẫu nhiên và cắt đi số ký tự min_value - 1), giá trị thừa độ dài (tạo ngẫu nhiên, ghép thêm ký tự ngẫu nhiên đến khi độ dài bằng max_value + 1), giá trị sai định dạng (chứa ký tự không phải số, ví dụ 84979348xxx), và các giá trị ngẫu nhiên đúng định dạng để test từng số thuê bao thuộc mỗi loại.

- User: định dạng đúng là kiểu chuỗi ký tự bất kỳ, độ dài lớn hơn 0, không có ký tự đặc biệt, mẫu regular expression có dạng [A-Za-z0-9!@#$]+, chỉ nhận giá trị trong default_value (ví dụ: nhung) và một giá trị ngẫu nhiên

- Pass: định dạng đúng là chuỗi gồm chữ cái hoa và thường, chữ số, ký tự đặc biệt, độ dài tối thiểu 8 ký tự. Tuy nhiên ta lấy mẫu regular expression đơn giản là [A-Za-z][A-Za-z0-9]+, chỉ nhận giá trị trong default_value (ví dụ:

123456a@) và một giá trị ngẫu nhiên

Sau khi loại bỏ các testcase dư thừa, ta xây dựng được kịch bản test như sau:

I D

ME TH OD

INPUT OUTPUT_

RESULTS OUTPUT_DESIRABLE

RES UL TS

LE VE L 1.

getS ubIn fo

user=dfW2y|pass=

123456a@|msisdn

=84979348036

Error_code=-1|Description=loi xac thuc

Imp orta nt

2.

getS ubIn fo

user=nhung|pass=fr e5#$c2|msisdn=84 979348036

Error_code=-1|Description=loi xac thuc

Imp orta nt 3.

getS ubIn fo

user=s3DS5|pass=e w#c!@|msisdn=97 9348036

Error_code=-1|Description=loi xac thuc

Imp orta nt 4.

getS ubIn fo

user=nhung|pass=1 23456a@|msisdn=

8456972553

Error_code=-2|Description=So khong ton tai

Imp orta nt 5.

getS ubIn fo

user=nhung|pass=1 23456a@|msisdn=

8456972553238

Error_code=-2|Description=So khong ton tai

Imp orta nt 6.

getS ubIn fo

user=nhung|pass=1 23456a@|msisdn=

84979348036s

Error_code=-2|Description=So khong ton tai

Imp orta nt

7.

getS ubIn fo

user=nhung|pass=1 23456a@|msisdn=

84979348035

Error_code=0|Status=1|Act_status=00|

Product_code=ECO50|Sub_type=1|Des cription=la tra truoc

Imp orta nt

8.

getS ubIn fo

user=nhung|pass=1 23456a@|msisdn=

84979348037

Error_code=0|Status=1|Act_status=00|

Product_code=POBAS|Sub_type=2|De scription=la tra sau

Imp orta nt

9.

getS ubIn fo

user=nhung|pass=1 23456a@|msisdn=

84979348038

Error_code=0|Status=1|Act_status=00|

Product_code=POBAS|Sub_type=0|De scription=la homephone

Imp orta nt

Bảng 3.4. Bảng thiết kế các trường hợp kiểm thử 3.2.4.3.3. Thực hiện test

Import file kịch bản vào công cụ và thực hiện test. Kết quả test sẽ hiển thị lên màn hình.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu kiểm thử Webservice và xây dựng công cụ hỗ trợ (Trang 67 - 73)

Tải bản đầy đủ (PDF)

(80 trang)