Kiểm thử an ninh

Một phần của tài liệu báo cáo kiểm thử hệ thống (Trang 25)

Là kiểm tra mọi cơ chế bảo vệ đựợc xây dựng trong hệ thống xem có đạt hiệu quả đề ra trước khi đột nhập hay không? Khi xét tất cả các loại đột nhập có thể “ trước mặt , ngang sườn , sau lưng “

Khi kiểm thử an ninh thì người kiểm thử sẽ đóng vai trò của kẻ đột nhập.

Về nguyên tắc :Mọi đột nhập là có thể nếu đủ thời gian và nguồn lực.Vì vậy bài toán thiết kế an ninh đặt ra là : Làm cho việc đột nhập tốn chi phí nhiều hơn giá trị thu đựợc do đột nhập.Công sức bỏ ra xây dựng công cụ bảo vệ phải ít hơn giá trị mất đi nếu bị đột nhập . Chi phí công cụ bảo vệ < lợi ích do bảo vệ khỏi đột nhập

Chi phí để đột nhập > lợi ích thu đựợc do đột nhập.

Có lẽ tiêu chuẩn xác định phổ biến nhất cho ứng dụng mạng là sự an toàn. Nhu cầu để điều chỉnh truy nhập tới thông tin, để kiểm chứng sự đồng nhất người dùng, và mã hóa thông tin là quan trọng hơn. Thông tin thẻ tín dụng, thông tin y học, thông tin tài chính và thông tin đoàn thể cần được bảo vệ tránh những kẻ trộm cắp từ những người ghé thăm đến những tinh tặc. Có nhiều lớp bảo vệ, từ sự bảo mật bằng mật khẩu đến những chứng chỉ số, mỗi một lớp đều có sự tán thành và phản đối nó.

Chúng ta có thể tạo ra những trường hợp kiểm thử an ninh theo các bước:

• Máy chủ mạng nên được cài đặt để những người dùng trái phép không thể truy tìm những danh mục và những bản ghi mà trong đó tất cả dữ liệu từ trang web lưu trữ. • Dự án sớm, khuyến khích những người phát triển sử dụng lệnh gửi ở bất kỳ chỗ nào

• Khi kiểm thử, kiểm tra các địa chỉ tài nguyên để đảm bảo rằng không có thông tin dò dỉ vì thông tin chính xác được đặt trong địa chỉ tài nguyên trong khi sử dụng câu lệnh GET.

• 1 cookie là 1 file văn bản được đặt trong 1 hệ thống trang web của những người ghé thăm cái được đồng nhất với người sử dụng. Cookie được khôi phục khi người dùng lại ghé thăm tại 1 địa điểm ở thời gian sau. Cookie có thể được quản lý bởi người sử dụng, dù họ có muốn cho phép chúng hay không. Nếu người sử dụng không chấp nhận cookie, địa điểm này vẫn sẽ làm việc không?

• Thông tin chính xác có thể được lưu trữ trong cookie không? Nếu đa người sử dụng 1 trạm, người thứ 2 có khả năng đọc chính xác thông tin lưu từ người ghé thăm đầu tiên. Thông tin trong cookie nên được mã hoá hoặc được mã hoá.

d. Kiểm thử chịu tải :

Kiểm thử chịu tải là vận hành hệ thống khi sử dụng nguồn lực với số lượng tần suất và cường độ dị thường. Một loại khác của thử nghiệm áp lực là kiểm thử độ nhạy : Cố gắng làm bộc lộ các tổ hợp dữ liệu hay sự kiện mà có thể gây ra việc xử lí không ổn định hoặc không chính xác. Kiểm thử tải là quá trình tạo ra yêu cầu trên 1 hệ thống hoặc thiết bị và đo lường trách nhiệm của nó.

Trong kỹ nghệ phần mềm, nó là 1 thời kỳ che phủ mà được sử dụng theo nhiều cách khác nhau qua nhóm người kiểm thử phần mềm chuyên nghiệp. Kiểm thử tải nói chúng hướng tới việc thực hành của mô hình mong đợi cách dùng của 1 chương trình phần mềm bởi sự mô phỏng đa người sử dụng truy nhập vào những dịch vụ trùng nhau của chương trình. Kiểm thử này có liên quan nhiều tới hệ thống đa người sử dụng, thường xây dựng cho mô hình khách/ chủ như máy chủ web. Tuy nhiên, các hệ thống phần mềm khác cũng có thể được kiểm thử tải. Ví dụ, 1 bộ xử lý từ hoặc bộ soạn thảo đồ hoạ có thể bị bắt buộc đọc 1 tài liệu lớn, hoặc 1 gói tài chính có thể bị bắt buộc phát sinh 1 báo cáo dựa trên độ rộng của vài năm dữ liệu. Sự kiểm thử tải chính xác nhất xuất hiện trên thực tế, hơn lý thuyết và các kết quả. Khi sự tải đặt trên hệ thống được phát triển ngoài những cách dùng bình thường, để kiểm tra sự đáp lại của hệ thống ở mức cao khác thường hoặc đỉnh tải, nó được biết như kiểm thử áp lực. Tải thông thường là lớn mà điều kiện lỗi là kết quả được mong đợi, mặc dù không có ranh giới rõ ràng nào tồn tại khi 1 hoạt động dừng kiểm thử tải và trở thành kiểm thử áp lực.

Giới hạn thường được sử dụng tương đương với kiểm thử vận hành, kiểm thử tin cậy và kiểm thử dung lượng.

e. Kiểm thử vận hành:

Với việc nhúng và hệ thời gian thực phần mềm cung cấp chức năng nhưng không phù hợp với các yêu cầu thi hành đều là không chấp nhận được.

Kiểm thử thi hành được thiết kế để kiểm thử việc vận hành của phần mềm khi hệ thống đựợc tích hợp.

Kiểm thử thi hành xuất hiện trong tất cả các bước của quá trình kiểm thử tuy nhiên chỉ khi tất cả các phần tử của hệ thống đã được tích hợp thì kiểm thử mới được chắc chắn.Việc thi hành đúng bao gồm cả số lượng và chất lượng.

Kiểm thử thi hành thường gắn liền với kiểm thử áp lực vì cả 2 thường đòi hỏi các dụng cụ phần cứng và phần mềm chuyên dụng.Vì cần đo sự tổng hợp nguồn lực và nhờ dụng cụ ngoại lai để giám sát các khoảng vận hành các sự kiên ngắt khi nó xuất hiện có thể lấy mẫu các trạng thái máy .

Có thể làm bộc lộ các tình thế dẫn đến sự suy giảm hiệu năng hoặc thất bại hệ thống tiềm ẩn.

Tại sao kiểm thử vận hành là quan trọng ? Lý do chính là :

- Vận hành đã trở thành chỉ tiêu quan trọng của chất lượng sản phẩm và chấp nhận sự nghiên cứu trong thị trường năng động và cạnh tranh ngày nay. - Khách hàng đang trở nên cực kỳ phụ thuộc vào chất lượng của bề ngoài và

có cái nhìn rõ ràng về vận hành khách quan

- Ngày nay, mỗi khách hàng đang tìm kiếm 1 tốc độ lớn hơn, tính biến đổi được, sự tin cậy, hiệu quả và sự chịu đựng của tất cả các ứng dụng – có thể nó là đa lớp ứng dụng, ứng dụng web căn bản hoặc ứng dụng khách chủ. Mục tiêu của kiểm thử vận hành:

- Để tiến hành giải thích những nguyên nhân cốt lõi của vận hành liên quan tới những vấn đề thường thấy, hiếm có và nghĩ ra kế hoạch để giải quyết chúng. - Để giảm bớt thời gian đáp ứng của ứng dụng với sự đầu tư nhỏ của phần

- Để xác định nguyên nhân của các vấn đề gây ra trục trặc hệ thống và chỉnh sửa chúng trước khi sản phẩm đưa vào hoạt động. Sửa chữa những lỗi trong suốt các giai đoạn sau của phần mềm

- Những ứng dụng tiêu chuẩn, với 1 dạng để lọc chiến lược của công ty theo hướng thu thập phần mềm lần sau.

- Đảm bảo rằng hệ thống mới phù hợp với các tiêu chuẩn vận hành theo lý thuyết.

- Để rút ra sự so sánh giữa sự vận hành của 2 hay nhiều hệ thống.

Cấu trúc điển hình của mô hình kiểm thử vận hành :

- B1: Tập hợp các nhu cầu – Bước chính và quan trọng nhất của mô hình kiểm thử vận hành. (adsbygoogle = window.adsbygoogle || []).push({});

- B2: Sự nghiên cứu hệ thống

- B3: Thiết kế chiến lược kiểm thử - có thể bao gồm như sau

 Sự chuẩn bị của những tài liệu nhánh ngang

 Bản thảo công việc

 Cài đặt môi trường kiểm thử

 Sự triển khai kiểm tra

- B4: Sự vận hành thử có thể bao gồm:

 Đường gốc vận hành thử

 Sự cải tiến vận hành thử

 Chẩn đóan vận hành thử

- B5: Giải thích và chuẩn bị báo cáo sơ bộ - B6: Thực thi lời giới thiệu từ bước 5 - B7: Chuẩn bị hoàn thành báo cáo

Những thuộc tính của sự thiết lập kiểm thử vận hành tốt

a) Tính khả dụng của tài liệu cơ sở trình bày chi tiết sự vận hành của hệ thống và tác dụng như 1 đường cơ sở hữu hiệu. Tài liệu cơ sở này có thể thuận tiện cho việc so sánh những dự tính khi điều kiện hệ thống xảy ra thay đổi.

b) Nền tảng của kiểm thử vận hành và môi trường kiểm thử nên được chia ra và sao chép lại ở môi trường sản xuất xa nhất có thể.

c) Môi trường kiểm thử vận hành không nên liên kết với môi trường phát triển. d) Tài nguyên dẫn tới lấp đầy mục tiêu như:

 Sự triển khai biên chế với những hiểu biết âm thanh

 Lập kế hoạch thận trọng và có hệ thống

 Nghiên cứu cấu trúc hạ tầng hiện thời

 Sự chuẩn bị chính xác

 Giải thích khoa học

 Báo cáo hiệu quả

Tuy nhiên, ngày nay có nhiều công ty đang bắt đầu làm việc với phần kiểm thử dưới môi trường thực, điều này giúp họ thiết lập các kinh nghiệm khác nhau trong suốt hệ thống kiểm thử và hệ thống thực.

Làm sao để tăng tốc cho kiểm thử vận hành :

a) Xác định điều kiện vận hành: Điều đầu tiên chúng ta cấn xác định điều kiện vận hành liên quan tới yêu cầu chức năng như tốc độ, độ chính xác và nhu cầu nguồn dự trữ. Nguồn dự trữ có thể là yêu cầu về bộ nhớ, yêu cầu nơi lưu trữ và hệ thống giao tiếp băng thông.

b) Nghiên cứu về lược tả các thao tác : Lược tả thao tác bao gồm chi tiết kiểu dáng sử dụng và môi trường hệ thống thực. Nó bao gồm sự mô tả phương pháp vận hành, môi trường vận hành, phần tải, kỳ vọng giao dịch … Khi dữ liệu đòi hỏi là không thể, dữ liệu từ đặc tả kiểm thử có thể là gần đúng nếu kiểm thử không được thực hiện dưới môi trường thật.

c) Chuẩn bị những trường hợp kiểm thử vận hành tốt: Trong khi thiết kế các trường hợp kiểm thử vận hành, sự cố gắng của chúng ta cần phải để :

Hiểu được các mức trình bày vận hành và sử dụng thông tin cho đánh giá tính năng về sau

Chỉ rõ hệ thống nhập vào và chờ đợi đầu ra, khi hệ thống được đưa ra để xác định điều kiện tải như hình dạng của kiểm thử, môi trường kiểm thử và thời gian kiểm thử …

Những cách kiểm thử vận hành:

Có 2 phương pháp để kiểm thử vận hành đó là: (adsbygoogle = window.adsbygoogle || []).push({});

1) Kiểm thử vận hành bằng tay:

Để phát triển sự tin cậy thích hợp, thời gian đáp ứng là 1 chỉ tiêu tốt của sự thực hiện giao tác có thể được đo bằng vài phút trong suốt quá trình kiểm thử. Sử dụng đồng hồ bấm giờ theo dõi bởi nhiều người là cách cũ nhất và có hiệu quả để đo lường kiểm thử vận hành. Tuỳ thuộc vào cơ sở hạ tầng sẵn có, các phương tiện khác cũng có thể được đưa ra.

2) Kiểm thử vận hành tự động: Nhiều cách tiếp cận có thể được thực hành ở đây. Chúng ta có thể sử dụng phần mềm tự động cái có thể bắt chước hoạt động của người sử dụng và có thể đồng thời ghi lại thời gian đáp ứng và nhiều hệ thống tham số khác nhau như sự truy nhập của các đĩa lưu trữ, cách sử dụng của bộ nhớ và độ dài hàng đợi cho nhiều thông điệp khác nhau.

Chúng ta có thể cung cấp dữ liệu tải bổ sung qua hệ thống, thông qua nhiều chương trình hữu ích, chương trình tạo bản sao thông báo, lô dữ liệu và nhiều công cụ giao thức phân tích.

Những quan tâm quan trọng để thiết kế các trường hợp kiểm thử tốt:

 Ứng lực: để bảo dưỡng khả năng của 1 hệ thống hoặc các thành phần của nó để di chuyển bên ngoài những giới hạn xác định của yêu cầu vận hành.

 Khả năng: Để bao trùm số lượng lớn nhất có thể chứa đựng, hoặc tạo ra, hoặc hoàn toàn chiếm giữ thực thể.

 Hiệu quả: để chú ý tới hiệu quả đo lường mong muốn như tỷ lệ dung tích của dữ liệu xử lý và số lượng tài nguyên tiêu thụ cho xử lý đặc biệt .

 Thời gian đáp ứng: Chú ý tới những yêu cầu xác định của thời gian đáp ứng. Ví dụ tổng thời gian trôi qua từ lúc sự kiện bắt đầu yêu cầu tới thời gian thu lại.

 Độ rộng băng thông: phải có khả năng để đo lường và ước tính yêu cầu của độ rộng băng thông. Ví dụ như số lượng dữ liệu đi qua hệ thống

 Độ an toàn: phải có khả năng để ước lượng sự cẩn mật của người dùng, quyền truy nhập và chú ý tới khả năng bảo trì trong hệ thống.

 Tính phục hồi: phải có khả năng để đưa hệ thống dưới dự thử tải cao, và đo lường thời gian nó cần trong trạng thái bình thường sau khi sự tải được rút đi.

 Tính biến đổi được: Cần có khả năng để điều khiển nhiều tải hơn bằng cách thêm nhiều thành phần phần cứng hơn mà không có bất kỳ sự thay đổi nào.

Chúng ta có thể tạo ra các trường hợp kiểm thử vận hành theo các bước:

 Xác định quy trình phần mềm ảnh hưởng trực tiếp tới toàn bộ hệ thống vận hành.

 Mỗi quá trình định nghĩa, chỉ định nghĩa đồng nhất dữ liệu đầu vào đặc trưng cái ảnh hưởng tới hệ thống vận hành.

 Tạo ra các kịch bản sử dụng bằng giá trị hiện thực xác định cho những đặc trưng dựa trên sử dụng cuối. Bao gồm toàn bộ giá trị trung bình và kịch bản làm việc dày. Xác định ô cửa quan sát trong thời gian này.

 Nếu không có dữ kiện lịch sử để căn cứ vào dữ liệu đặc trưng, sử dụng việc dự đoán dựa trên những yêu cầu, phiên bản cũ hoặc 1 hệ thống tương tự.

 Nếu có 1 đặc trưng nơi giá trị đã ước lượng dạng 1 khoảng, lựa chọn giá trị có thể đúng để bộc lộ thông tin hữu ích về hệ thống vận hành. Mỗi giá trị nên được tạo ra trong 1 trường hợp kiểm thử riêng biệt.

Kiểm thử vận hành có thể được thực hiện qua cửa sổ của trình duyệt, hoặc trực tiếp trên máy chủ. Nếu thực hiện trên máy chủ, trong 1 vài thời gian vận hành trình duyệt đó không tạo ra 1 tài khoản.

f. Kiểm thử cấu hình:

Loại kiểm thử này bao gồm :

- Nền tảng hệ điều hành sử dụng - Loại mạng kết nối

- Nhà cung cấp dịch vụ mạng

Thực tế việc làm cho loại kiểm thử này đang được đảm bảo những yêu cầu và giả thuyết được hiểu bởi nhóm phát triển, và môi trường kiểm thử với những sự lựa chọn này được đặt đúng chỗ để kiểm tra nó 1 cách chính xác.

Phần III: Kiểm thử ứng dụng dựa trên Web

Chúng ta đã biết rằng kiểm thử là quá trình luyện thử phần mềm với ý định tìm ra lỗi. Triết lý nền tảng này không thay đổi cho ứng dụng web. Trong thực tế, bởi vì ứng dụng và hệ thống dựa trên web nằm trên mạng và liên tác với nhiều hệ điều hành khác, các trình duyệt, các nền phần cứng và các giao thức truyền thông nên việc tìm lỗi biểu thị 1 thách thức có ý nghĩa cho người kỹ sư web.

Cách tiếp cận tới kiểm thử web chấp nhận các nguyên lý cơ bản cho mọi kiểm thử web và áp dụng các chiến lược, chiến thuật đã được khuyến cáo cho hệ thống hướng sự vật.

Các bước sau đây tóm tắt cách tiếp cận này:

1. Mô hình nội dung cho ứng dụng web được xem xét để phát hiện ra lỗi: Hoạt động (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu báo cáo kiểm thử hệ thống (Trang 25)