Nhiều dịch vụ phần mềm và xử lý trong một ứng dụng Web xảy ra ở phía trình chủ hơn là phía trình khách. Phần mềm trình chủ, bị cách ly so với giao diện ngƣời dùng chuẩn, thƣờng ở trên các máy chủ ở các vị trí cách xa. Điều này có nghĩa là phần mềm mà bạn cần kiểm thử (một trình chủ Web, trình chủ ứng dụng, trình chủ cơ sở dữ liệu, hay hệ thống hỗ trợ văn phòng) rất khó thực thi hoàn toàn qua giao diện ngƣời dùng. Giao diện ngƣời dùng có thể ngăn cản bạn thực hiện kiểm thử điều kiện lỗi bởi vì việc kiểm tra lỗi phía trình khách sẽ ngăn cản các dữ liệu sai đi đến trình chủ. Kiểm thử phần mềm phía trình chủ yêu cầu sử dụng sáng tạo giao diện ngƣời dùng, sáng tạo tùy biến các giao diện trình khách để đƣa dữ liệu đến phần mềm phía trình chủ, sử dụng các công cụ tiện ích và các kỹ thuật mới
3.3.1.Kỹ thuật sử dụng các tệp log
Các hệ điều hành và các ứng dụng trên trình chủ cung cấp kỹ thuật log sao cho
các hoạt động giữa các ứng dụng và các thành phần của hệ điều hành có thể đƣợc ghi nhận, phân tích, và kiểm tra. Các lập trình viên có thể tạo ra các tệp log để ghi thông tin trạng thái và triệu chứng. Những tệp log này thƣờng đƣợc sử dụng trong khi gỡ rối chƣơng trình nhằm hỗ trợ cô lập các vấn đề. Sau khi chƣơng trình đã kết thúc phát triển và hoạt động trên máy chủ, nhóm hỗ trợ sử dụng dữ liệu của các tệp log để giám sát hoạt động của chƣơng trình và giải quyết các vấn đề xảy ra. Việc hiểu đƣợc những vấn đề cơ bản khi ghi nhận sự kiện, thông tin gì cần đƣợc ghi vào tệp log, và làm thế nào để có đƣợc các tệp log, sẽ giúp bạn rất nhiều trong kiểm thử và quan trọng hơn là trong việc phân tích các hỏng hóc của trình chủ. Kiểm thử viên có thể sử dụng nhiều tệp log: tệp log của hệ điều hành, các tệp log cơ sở dữ liệu, các tệp log kiểm tra, cũng nhƣ các tệp log mà chƣơng trình tạo ra. Thông tin trong tệp log mà nhóm kiểm thử cần đó là:
Thời gian trình chủ khởi động, kết thúc, hay tạm ngƣng. Tên của máy tính (tên trình chủ).
Số của phiên bản phần mềm. Nếu phần mềm chứa nhiều thành phần độc lập, thì liệt kê mỗi thành phần và số phiên bản của nó.
Nếu bạn thực hiện thẩm định mã nguồn, hãy xem xét các câu lệnh rẽ nhánh.
Khoa Công Nghệ Thông Tin Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Học viên: Nguyễn Thị Ngọc Hƣơng
Việc tạo ra và đồng bộ các tuyến
Những lần thực hiện dọn dẹp các giao tác start và completion.
Nhiều chƣơng trình cung cấp các mức độ khác nhau của dữ liệu đƣợc ghi nhận dựa vào một tham số cấu hình
Thông tin gỡ rối có thể bao gồm ghi nhậ một số sự kiện tại bất kỳ thời điểm nào, nhƣ một di chuyển chuột, hoặc bất kỳ khi nào có một tuyến mới đƣợc tạo ra
Bất kỳ khi nào có một hàm đƣợc gọi đều đƣợc ghi lại trong tệp log
Khi kiểm thử cơ sở dữ liệu, lập trình viên thƣờng ghi chính xác câu lệnh SQL vào trong tệp log
Hình 3.14 Tệp log ví dụ
3.3.2.Kỹ thuật sử dụng các công cụ giám sát
Các tiện ích giám sát là những công cụ hữu ích cho phép bạn nhìn thấy những
gì xảy ra bên trong phần mềm và phần cứng của hệ thống. Thông tin này rất quan trọng đối với kiểm thử hộp xám bởi vì nó mô tả sự trao đổi và các hoạt động đƣợc thực hiện bởi vì nó mô tả sự trao đổi và các hoạt động đƣợc thực hiện bởi các tiến trình ẩn. Các tiến trình này tiêu biểu cho sự trao đổi giữa các ứng dụng và các thành phần của chúng hoặc vơi các thành phần dịch vụ của hệ điều hành. Các loại thông tin mà các tiện ích giám sát mang lại bao gồm:
Thông tin chung về hệ thống
Số lƣợng mỗi loại tài nguyên (bộ nhớ, tuyến, điều khiển…) Số lƣợng hay phần trăm đƣợc sử dụng
Các hoạt động của phần cứng thông qua các thông qua các số liệu về mỗi loại phần cứng.
Có những gì trong hệ thống hiện tại, chẳng hạn nhƣ :
Thông tin về nguồn tài nguyên và cấu hình (card mạng, trình điều khiển…)
Bộ nhớ hiện tại chứa những gì? Gồm những ứng dụng gì? Đƣợc ai phát triển? Phiên bản nao?
Khoa Công Nghệ Thông Tin Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Học viên: Nguyễn Thị Ngọc Hƣơng
Các thành phần nào đang trao đổi với nhau? Có thể là sự giao tiếp giữa các thành phần của ứng dụng, các thành phần của hệ thống qua các sự kiện, hoặc các lệnh gọi hàm
Thông tin cụ thể cho biết ứng dụng, mô-đun, tiến trình hay tuyến nào đang sử dụng thành phần nào của mỗi loại tài nguyên.
Thông tin về sự trao đổi giữa các máy chủ khác nhau và các thiết bị qua mạng.
Hình 3.15 (System Monitor Utility )có thể ghi lại việc sử dụng tài nguyên hệ thống
Hình 3.16 Windows Performance Monitor- ghi nhận các loại hoạt động phần cứng khác nhau
Khoa Công Nghệ Thông Tin Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Học viên: Nguyễn Thị Ngọc Hƣơng
Hình 3.17 Window Event Viewer – Tiện ích ghi nhận thông tin log
Hình 3.18 Windows System Information- cho biết tài nguyên phần cứng và môi trƣờng phần mềm
Khoa Công Nghệ Thông Tin Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Học viên: Nguyễn Thị Ngọc Hƣơng
Hình 3.19 Terminal System Information- cho phép xem thông tin hệ thống
Hình 3.20 Windows Task Manager- Xem ứng dụng hiện tại và tiến trình đang chạy, số liệu đo lƣờng sử dụng CPU và bộ nhớ
3.3.3.Kỹ thuật tạo các giao diện kiểm thử và các trình điều khiển kiểm
thử
Không phải tất cả các việc kiểm thử đều sử dụng cùng giao diện mà ứng dụng cuối cùng sẽ sử dụng. Đối với mục đích của chúng ta, có thể cần tạo ra các giao diện kiểm thử. Ứng dụng cuối cùng chứa các mành hình đƣợc thiết kế hỗ trợ ngƣời dùng, nhƣng những màn hình này không phải là cách dễ nhất hay hoàn chỉnh nhất cho các kiểm thử viên truy cập ứng dụng để kiểm thử các thành phần khác nhau phía trình chủ. Hơn nữa, các màn hình cuối cùng có thể bao gồm kiểm tra lỗi các trƣờng dữ liệu. Việc loại bỏ các kiểm tra này cho phép phạm vi kiểm thử phía trình chủ rộng hơn.
Khoa Công Nghệ Thông Tin Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Học viên: Nguyễn Thị Ngọc Hƣơng
Hình 3.21 Ví dụ giao diện kiểm thử
3.3.4.Kỹ thuật thiết lập lại trình chủ
Trong quá trình kiểm thử, trình chủ có thể sẽ phải đƣợc tạm ngƣng, đƣợc cấu hình lại, và khởi động lại nhiều lần. Bạn sẽ cần phải thực hiện nhiều công việc mà bình thƣờng đƣợc thực hiện bởi một ngƣời quản trị hệ thống
3.3.5.Kỹ thuật sử dụng script trong kiểm thử trình chủ
Do bản chất phức tạp của kiểm thử phía trình chủ, bạn cần biết cách sử dụng các ngôn ngữ script, trở nên quen thuộc với các kỹ thuật script, và biết cách áp dụng chúng trong kiểm thử phần mềm