Thiết kế chi tiết

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống kiểm thử tự động cho các giai đoạn cài đặt phần mềm (Trang 32 - 55)

Chương 4 Thiết kế chương trình

4.3. Thiết kế chức năng

4.3.2. Thiết kế chi tiết

4.3.2.1. File Excel

File Excel được thiết kế để cho phép thực hiện các chức năng sau:

- File Excel chứa thiết lập cho các test cases có thể thực thi một cách tự động. - Cho phép người dùng lựa chọn, thiết lập và thay đổi nội dung của test case. - Cho phép Kiểm thử viên lựa chọn thực hiện kiểm thử theo lô và liên tục.

- Cho phép Kiểm thử viên lựa chọn loại test case là tạo bộ cài đặt, cài đặt hoặc gỡ cài đặt.

- Cho phép thực hiện test case một cách tự động.

4.3.2.2. Control Script

Control script được sử dụng để thực hiện xử lý kiểm thử khi Kiểm thử viên thao tác trên file Excel.

Khi Kiểm thử viên bấm nút “Create Media”, control script sẽ được gọi để thực hiện tạo bộ cài đặt.

Khi Kiểm thử viên bấm nút “Excecute Test”, control script sẽ được gọi để thực hiện cài đặt/gỡ cài đặt.

4.3.2.2.1. Xử lý của Control script

Bên dưới là các nhiệm vụ mà Control script sẽ thực hiện: - Yêu cầu Agent script tạo bộ cài đặt.

- Yêu cầu Agent script thực hiện kiểm thử. - Gửi dữ liệu kiểm thử tới Agent PC.

- Thiết lập tự động đăng nhập cho Client PC.

- Thực hiện điều khiển Agent script trên Agent PC từ Controller PC. - Đợi quá trình kiểm thử ở Agent PC kết thúc.

- Xác nhận quá trình kiểm thử đã hoàn thành.

(a) Yêu cầu tạo bộ cài đặt

Khi nút “Create Media” được bấm trên file Excel, Control script được gọi để tạo bộ cà đặt. Hình 4.6 miêu tả quá trình tạo bộ cài đặt:

Yêu cầu tạo bộ cài đặt

Nhận về file setting của tất cả

test case

Loop đối với tất cả file setting

Gửi setting file tới server

Kết thúc loop Gửi và chạy agent script để tạo bộ cài

đặt Đợi để nhận báo cáo test từ agent Xác nhận xử lý tạo bộ cài đặt đã kết thúc Kết thúc yêu cầu tạo bộ cài đặt Hình 4.6. Xử lý tạo bộ cài đặt

(b) Yêu cầu thực thi kiểm thử

Khi nút “Execute Test” được bấm, Control script sẽ được gọi để thực hiện kiểm thử. Hình 4.7 miêu tả quá trình thực hiện kiểm thử.

Thực hiện kiểm thử

Thực hiện cho đến khi kết thúc

tất cả test case

Gửi dữ liệu kiểm thử tới agent Thiết lập agent tự động đăng nhập Kết thúc kiểm thử Kết thúc loop Chạy Agent script

Đợi test case kết thúc Còn test case không? Yes No Nhận về file setting của tất cả test case

Xác nhận kết thúc kiểm thử

4.3.2.2.2. Thiết kế hàm chức năng

# Tên hàm Đầu vào Đầu ra Miêu tả

1 atct_Main - Loại yêu

cầu(tạo bộ cài đặt hoặc thực hiện test) - IP address của Agent PC

- Kiểm tra loại yêu cầu:

- Nếu yêu cầu là tạo bộ cài đặt thì sẽ thực hiện tạo bộ cài đặt trên máy được chỉ ra bởi IP adress.

- Nếu yêu cầu là kiểm thử thì sẽ thực hiện kiểm thử trên máy được chỉ ra bởi IP address

2 atct_CreateMedia IP Address

của Agent PC dùng để tạo bộ cài đặt

- Gửi tất cả file thông tin

kiểm thử của test case tới Agent PC và chạy Agent scrip 3 atct_ExecuteTest IP Address của Agent PC dùng để thực hiện kiểm thử

- - Gửi file thông tin kiểm

thử tới Agent PC và chạy Agent script.

- Đợi test case kết thúc và thực hiện test case tiếp theo.

4 atct_GetCurrentPath - Đường

dẫn của control script file

Lấy về đường dẫn của file control script.

5 atct_WriteLog - Tên hàm

- Trạng thái - Thông tin

- Ghi log tới file

6 atct_SetIPStatus - Trạng thái của địa chỉ IP ( đang được sử dụng hoặc không) - địa chỉ IP

- Ghi trạng thái của địa chỉ

IP tới file

7 atct_GetIPStatus Địa chỉ IP Trạng

thái của IP

Lấy về trạng thái của địa chỉ IP trong file

# Tên hàm Đầu vào Đầu ra Miêu tả

8 atct_InformFinish - Thư mục

chứa báo cáo kết quả kiểm thử. - Loại yêu cầu ( tạo bộ cài đặt hoặc test)

- Hiển thị hộp thoại thông

báo xử lý đã kết thúc. Cho phép Kiểm thử viên xem kết quả kiểm thử.

9 atct_GeneralCheck Tên thư mục -True:

nếu file và thư mục tồn tại -False: ngược lại

Kiểm tra thư mục hoặc file có tồn tại hay không.

Bảng 4.1. Danh sách hàm chức năng của Control script

4.3.2.3. Agent Script

Để có thể thực hiện được kịch bản kiểm thử, chương trình cần phải chạy Agent script ở Agent PC.

4.3.2.3.1. Các xử lý của Agent script

Đăng ký key Run trong Registry với giá trị là AgentScripts.vbs

File StateStatus.txt tồn tại?

Key có giá trị là AgentScripts.vbs tồn tại? False

True

Tạo file StateStatus.txt

Thiết lập StateStatus = 0

Nhận về giá trị State Status Nhận về giá trị Running Status

False

Loop

Thực hiện Main Process

StateStatus = 50? False

Làm sạch môi trường True Bắt đầu

Kết thúc TestType = Installation &

StateStatus = 10 ? Copy bộ cài đặt True False File RunningStatus.txt tồn tại?

Tạo file RunningStatus.txt

Thiết lập Running Status = 0 False True True RunningState = 0 True False

(a) Luồng xử lý chính (Main Process)

- Kiểm tra loại test case. Có bốn loại test case, mỗi loại test case được thực hiện bởi thủ tục con (sub process) tương ứng:

 Create Media: loại test case liên quan đến việc tạo bộ cài đặt.

 Installation: loại test case liên quan đến việc cài đặt hệ thống.

 Client Operation: loại test case liên quan đến thao tác của chương trình

 Un-Installation: loại test case liên quan đến việc gỡ cài đặt.

- Thực hiện test case: gọi đến các thủ tục con tương ứng với mỗi loại test case:

 Sub Create media: thủ tục thực hiện tương ứng với loại test case tạo bộ

cài đặt.

 Sub Installation: thủ tục thực hiện tương ứng với loại test case cài đặt.

 Sub Operation: thủ tục thực hiện tương ứng với loại test case thao tác.

 Sub Un-Installation: thủ tục thực hiện tương ứng với loại test case gỡ cài

Thực hiện Sub process (Auto Create Media)

Test Type = Install? Test Type = Create Media?

True

False

Thực hiện Sub process (Installation)

True

False Bắt đầu

Lấy về loại test case (Test Type)

Test Type = Operation?

Thực hiện Sub process (Operation)

True

Test Type = Un-install?

False

Thực hiện Sub process (Un-installation)

True

Báo cáo loại test case không hợp lệ False

Kết thúc

Hình 4.9. Luồng xử lý chính

(b) Xử lý tạo bộ cài đặt

- Kiểm tra trạng thái.

- Tạo file log của quá trình tạo bộ cài đặt:

 Kiểm tra log: trong quá trình tạo bộ cài đặt, file log kiểm thử sẽ được

 Gửi log kiểm thử: sau khi hoàn thành việc tạo bộ cài đặt, log kiểm thử sẽ được gửi tới Controller PC.

Thực hiện AutoCreateMediaScenario StateStatus = 0 & Running status = 0 True Bắt đầu Nhận về StateStatus Kết thúc Tạo log kiểm thử

False

Hình 4.10. Luồng xử lý tạo bộ cài đặt.

(c) Luồng xử lý cài đặt

- Kiểm tra trạng thái.

- Kiểm tra tiến độ cài đặt: kiểm tra tiến độ xử lý cài đặt trước và sau khi khởi động lại OS hoặc các thao tác nếu không cần phải khởi động OS.

- Kiểm tra lỗi và kết thúc test case: nếu có lỗi, quá trình cài đặt sẽ thất bại hoặc test case kết thúc, file kết quả kiểm thử sẽ được tạo và gửi tới Controller PC.

- Kiểm tra log và gửi tới Controller PC:

 Sau khi test case cài đặt kết thúc, log của chương trình (SEC) sẽ được

ghi lại nhằm xác định test case thành công hay thất bại. Chương trình sẽ so sánh kết quả của log và nội dung xác nhận trong file thông tin kiểm thử của test case. Kết quả của mỗi test case sẽ được ghi lại trong báo cáo kết quả kiểm thử.

 Gửi báo cáo kết quả kiểm thử: tất cả log kiểm thử và kết quả kiểm thử sẽ được gửi tới Controller PC. Việc gửi kết quả kiểm thử sẽ được thực hiện sau khi gỡ cài đặt chương trình.

Thực hiện kịch bản cài đặt StateStatus = 10 & Running Status = 0? True Bắt đầu Lấy về StateStatus StateStatus = 20 Kết thúc P2 False

Hình 4.11. Luồng xử lý cho việc cài đặt (phần 1)

Khi trạng thái là 10, Agent script sẽ bắt đầu cài đặt, trong xử lý này, OS sẽ phải khởi động lại. Ngay trước khi khởi động OS, kịch bản gỡ cài đặt sẽ được thiết lập trạng thái là 20.

Thực hiện kịch bản thao tác (Hiển thị hộp thoại) StateStatus = 20 & Running Status = 0? Bắt đầu Nhận về StateStatus Làm sạch môi trường End P3 False

Kiểm tra log chương trình và tạo báo cáo test

Người dùng lựa chọn thao tác

tiếp theo False

Hiển thị hộp thoại thông báo

Người dùng dừng và gỡ cài đặt

Người dùng lựa chọn Stop

False

Thết lập StateStatus = 30 True

Thiết lập StateStatus = 50

False

Hình 4.12. Luồng xử lý cho việc cài đặt (phần 2)

Khi trạng thái là 20, Agent script sẽ tạo báo cáo sau đó thực thi thao tác. Hộp thoại sẽ được hiển thị để xác nhận với người dùng lựa chọn để dừng quá trình kiểm

thử tự động, gỡ cài đặt hoặc thực hiện thao tác khác. Nếu người dùng lựa chọn dừng quá trình kiểm thử tự động, trạng thái sẽ được thiết lập là 50. Nếu người dùng lựa chọn gỡ cài đặt, trạng thái sẽ là 30. Thực hiện kịch bản gỡ cài đặt StateStatus = 30 & Running Status = 0? True Bắt đầu Nhận về StateStatus Kết thúc P4 False

Hình 4.13. Luồng xử lý cho việc cài đặt (phần 3)

Thực hiện kịch bản gỡ cài đặt StateStatus = 40 & Running Status = 0? True Bắt đầu Nhận về StateStatus Kết thúc

Loại test case là = “Un-Install”

Làm sạch môi trường Kiểm tra log chương trình

Và tạo báo cáo kiểm thử False

True

False

Hình 4.14. Luồng xử lý cho việc cài đặt (phần 4)

Khi trạng thái là 30 hoặc 40, Agent script sẽ thực hiện gỡ cài đặt và làm sạch môi trường.

(d) Luồng xử lý gỡ cài đặt

- Kiểm tra tiến độ cài đặt: kiểm tra tiến độ của xử lý trước và sau khi khởi động OS để kết thúc gỡ cài đặt.

- Kiểm tra lỗi khi kết thúc test case: nếu có lỗi xảy ra, quá trình gỡ cài đặt sẽ thất bại hoặc test case kết thúc, file kết quả kiểm thử sẽ được tạo vào gửi tới Controller PC.

- Kiểm tra log và gửi log tới server.

Thực hiện kịch bản gỡ cài đặt StateStatus = 30 & Running Status = 0 True Bắt đầu Nhận về StateStatus P2 False Kết thúc Khởi động OS

Hình 4.15. Luồng xử lý quá trình gỡ cài đặt (phần 1)

Khi trạng thái là 30, Agent script sẽ thực hiện gỡ cài đặt. Trong xử lý này, OS cần phải được khởi động lại, trước khi khởi động lại, trạng thái sẽ được thiết lập là 40.

Thực hiện kịch bản gỡ cài đặt StateStatus = 40 & Running Status = 0 True Bắt đầu Nhận về StateStatus Kết thúc Loại test case = “Un-Install”

Làm sạch môi trường Kiểm tra log chương trình

Và tạo báo cáo kiểm thử False

True

False

Sau khi khởi động OS, Agent script sẽ kiểm tra thấy trạng thái là 40 và tiếp tục thực hiện gỡ cài đặt để kết thúc. Sau khi hoàn thành gỡ cài đặt, trạng thái sẽ được thiết lập là 50.

4.3.2.3.2. Thiết kế hàm

# Tên hàm Đầu vào Đầu ra Miêu tả

1 atag_MainProc

ess()

- - Hàm xử lý chính.

2 atag_ExecuteS

cenario()

Kịch bản test. - Thực hiện kịch bản kiểm

thử.

3 atag_GetStatus

()

File trạng thái. strStatusValu e

Trả về trạng thái thực hiện của agent script.

4 atag_SetStatus

()

File trạng thái. - Thiết lập trạng thái.

5 atag_CheckTes tLog() Tên file cần kiểm tra. -blnResult (Boolean)

Kiểm tra log của chương trình:

- Nếu thành công : blnResult = 1

- Nếu thất bại : blnResult = 0

6 Atag_FillRepo

rt()

- Tên file report.

N/A Ghi lại kết quả thực hiện

kiểm thử. Bảng 4.2. Danh sách hàm chức năng của Agent script.

4.3.2.4. Kịch bản kiểm thử

Bắt đầu Nhận về status Nhần về đường dẫn của setuptool.exe. Status = 0?

Lấy thông tin từ file setting

Ghi thời gian băt đầu tới

log file Thực hiện

" Setuptool . exe "

Điều khiển các màn hình tiếp theo ... Điều khiển loop splash

Điều khiển màn hình Welcome

Điều khiển màn hình kết thúc Điều khiển xử lý xuất bộ

cài đặt tới thư mục Ghi thời gian kết thúc tới

log

Set status = 50

Kết thúc

Hình 4.17. Sơ đồ hoạt động kịch bản tạo bộ cài đặt.

4.3.2.4.2. Kịch bản cài đặt

Dưới đây là các bước xử lý chính của kịch bản cài đặt - Lấy dữ liệu để thực hiện cài đặt

- Điều khiển thao tác trên mỗi màn hình: tại mỗi màn hình, sẽ thực hiện kiểm tra các nội dung sau:

 Điều khiển “Loop splash”: khi thực hiện cài đặt, hộp thoại splash sẽ

được hiển thị. Câu lệnh lặp sẽ được thực hiện để kiểm tra thời điểm hộp thoại splash kết thúc.

 Điều khiển “Break Point”: điều khiển hộp thoại kết thúc chương trình.

 Điều khiển các đối tượng (control) trên mỗi màn hình.

 Ghi log.

 Điều khiển lỗi: kiểm tra xem có sảy ra lỗi hay không và xử lý nếu có lỗi.

- Chụp hình ảnh lỗi: trong quá trình cài đặt, nếu xảy ra lỗi, chương trình sẽ chụp màn hình xảy ra lỗi và nội dung lỗi để làm chứng cứ cho việc kiểm tra kết quả kiểm thử về sau.

Kết thúc Loop Splash

Kiểm tra và điều khiển màn hình “Welcome”

“Confirmation Installation” “Installation Password Authentication”

“Register User” “Check Settings”

“ Register Owner User” Loop Splash

“Select Drives to Be Encrypted”

Loop Splash “Finish Installation” StateStatus = 10? True Lấy về stateStatus False

Lấy thông tin của file setting và media Thực hiện command cài đặt

Bắt đầu

Loop Splash

Thiết lập StateStatus = 20 Thiết lập Running Status = 10

Thiết lập Running Status = 0 Kiểm tra và điều khiển màn hình Kiểm tra và điều khiển màn hình Kiểm tra và điều khiển màn hình Kiểm tra và điều khiển màn hình

Kiểm tra và điều khiển màn hình

Kiểm tra và điều khiển màn hình

Kiểm tra và điều khiển màn hình

Điều khiển error message box Điều khiển control trên mành hình A

Bấm nút “Next” ,

Hiển thị error message box? True (BreakPoint) màn hình A = 0?

True

True

False

Tester chọn “Yes” để tiếp tục test Hiển thị hộp thoại Yes/No để tester xác nhận Hiển thị màn hình A?

False

False True

Thực hiện test case cuối cùng

Ghi log xử lý cho màn hình A

Ghi error log

Ghi log xử lý cho test case cuối cùng

False Tester xác nhận màn hình A Kết thúc ……… (Xử lý màn của màn hình trước) … ( Màn hình tiếp theo ) Bắt đầu

Thiết lập State Status = 50 Thiết lập Running Status = 0

Thiết lập State Status = 50 Thiết lập Running Status = 0

Chụp ảnh error

Hình 4.19. Điều khiển tại mỗi màn hình

4.3.2.4.3. Kịch bản gỡ cài đặt

Dưới đây là các bước xử lý chính của kịch bản gỡ cài đặt - Lấy về đường dẫn thư mục cài đặt chương trình.

- Kiểm tra trạng thái.

 Nếu trạng thái là 30: thực hiện gỡ cài đặt sau đó khởi động lại OS.

 Nếu trạng thái là 40: thực hiện gỡ cài đặt sau khi khởi động OS.

- Hiển thị màn hình

- Điều khiển thao tác trên mỗi màn hình: thực hiện kiểm tra các item sau tại mỗi màn hình:

 Điều khiển “Loop splash”: khi thực hiện cài đặt, hộp thoại splash sẽ được hiển thị. Câu lệnh lặp sẽ được thực hiện để kiểm tra thời điểm hộp thoại splash kết thúc.

 Điều khiển “Break Point”: điều khiển hộp thoại kết thúc chương trình.

 Điều khiển các đối tượng (control) trên mỗi màn hình.

 Ghi log.

 Điều khiển lỗi: kiểm tra xem có sảy ra lỗi hay không và xử lý nếu có lỗi.

Chụp hình ảnh lỗi: trong quá trình cài đặt, nếu xảy ra lỗi, chương trình sẽ chụp màn hình xảy ra lỗi và nội dung lỗi để làm chứng cứ cho việc kiểm tra kết quả kiểm thử về sau.

Kết thúc Loop Splash

Kiểm tra và điều khiển mành hình “Welcome”

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống kiểm thử tự động cho các giai đoạn cài đặt phần mềm (Trang 32 - 55)

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

(65 trang)