II. Kỹ nghệ phần mềm
2. Kiểm thử phần mềm
2.2.3.4 Kiểm thử hệ thống (System Test)
Phần mềm là một trong những yếu tố của hệ thống dựa trờn mỏy tớnh lớn hơn. Phần mềm được tổ hợp với cỏc yếu tố hệ thống khỏc và một loạt cỏc kiểm thử hợp lệ húa và tớch hợp hệ thống sẽ được tiến hành. Việc kiểm thử hệ thống là một loạt cỏc kiểm thử khỏc nhau cú mục đớch là thử hệ thống dựa trờn mỏy tớnh một cỏch đầy đủ.
a. Kiểm thử phục hồi (Recovery Test)
Kiểm thử phục hồi là kiểm thử hệ thống bắt buộc phần mềm phải hỏng theo nhiều cỏch và kiểm chứng rằng việc phục hồi được thực hiện đỳng. Nếu việc phục hồi là tự động (được thực hiện bởi bản thõn hệ thống) thỡ việc khởi đầu lại, cơ chế điểm kiểm tra, phục hồi dữ liệu và cho chạy lại sẽ được đỏnh giỏ về tớnh đỳng đắn. Nếu việc phục hồi đũi hỏi sự can thiệp của con người thỡ thời gian trung bỡnh để sửa chữa sẽ được ước lượng để định xem liệu nú cú trong giới hạn chấp nhận được khụng.
b. Kiểm thử an toàn (Security Test)
Kiểm thử an toàn cố gắng kiểm chứng rằng cỏc cơ chế bảo vệ được xõy dựng bờn trong hệ thống trong thực tế sẽ bảo vệ cho hệ thống khỏi sự thõm nhập khụng đỳng. Người kiểm thử đúng vai trũ cỏ nhõn muốn thõm nhập vào hệ thống, với nhiều mục đớch vớ dụ: lấy mật khẩu, cụng kớch vào hệ thống bằng một phần mềm làm riờng chuyờn dụng để phỏ vỡ bất kỳ sự phũng vệ nào đó được xõy dựng, gõy tràn hệ thống, do đú hệ thống từ chối việc phục vụ người khỏc…
c. Kiểm thử gay cấn (Stress Test)
Kiểm thử gay cấn thiết kế để làm cho chương trỡnh đương đầu được với cỏc tỡnh huống bất thường. Về bản chất, người kiểm thử thực hiện việc kiểm thử bất thường luụn tự hỏi: Ta cú thể quay ngược lại chương trỡnh bằng cỏch nào trước khi nú hỏng?
Kiểm thử gay cấn cho hệ thống thử chạy theo cỏch thức yờu cầu cỏc tài nguyờn theo tần số hay khối lượng cỏc bất thường. Vớ dụ:
(1) Cỏc kiểm thử đặc biệt cú thể được thiết kế để sinh ra 10 ngắt trong 1 giõy, khi tỷ lệ trung bỡnh chỉ là một hay hai.
(2) Tỷ lệ dữ liệu vào cú thể tăng lờn theo cấp độ nào đú để xỏc định cỏch cỏc chức năng vào sẽ đỏp ứng.
(3) Cỏc trường hợp kiểm thử đũi hỏi bộ nhớ tối đa hay cỏc tài nguyờn khỏc (4) Cỏc trường hợp kiểm thử cú thể gõy ra “đập vỡ” hệ điều hành
(5) Cỏc trường hợp kiểm thử gõy ra việc tiờu tốn dữ liệu thường chỳ trờn đĩa Về bản chất người kiểm thử cố gắng phỏ vỡ chương trỡnh
d. Kiểm thử hiệu năng (Performance Test)
Đối với cỏc hệ thống thời gian thực và nhỳng, phần mềm cung cấp chức năng yờu cầu nhưng khụng tuõn thủ cỏc yờu cầu hiệu năng thỡ khụng thể chấp nhận được. Kiểm thử hiệu năng được thiết kế để kiểm thử khă năng khi chạy của phần mềm bờn trong hoàn cảnh của hệ thống đó tớch hợp. Kiểm thử hiệu năng xuất hiện trong toàn bộ tất cả cỏc bước của tiến trỡnh kiểm thử. Ngay cả ở mức kiểm thử đơn vị, hiệu năng của một modul riờng cũng cú thể được thẩm định. Tuy nhiờn phải đến khi tất cả cỏc phần tử hệ thống đều đó được tớch hợp hết thỡ hiệu năng đỳng của hệ thống mới cú thể chắc chắn được.
Kiểm thử hiệu năng đụi khi cũn đi kốm với kiểm thử gay cấn và thường đũi hỏi cỏc thiết bị phần cứng và phần mềm. Thường phải đo việc sử dụng tài nguyờn (như chu trỡnh bộ nhớ) theo cỏch chinh xỏc. Cỏc thiết bị ngoài cú thể điều phối cỏc khoảng thực hiện, sự kiện ghi lại (như cỏch ngắt) khi chỳng xuất hiện. Bằng việc cung cấp thiết bị cho hệ thống, người kiểm thử cú thể phỏt hiện ra những tỡnh huống dẫn đến việc suy giảm và khả năng sai hỏng hệ thống.