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”