12/08/2018, 13:09

Cookies testing

1. Cookie là gì?### Cookie là một đoạn văn bản ghi thông tin được tạo ra và lưu trên trình duyệt của máy người dùng. Cookie thường được tạo ra khi người dùng truy cập một website, cookie sẽ ghi nhớ những thông tin như tên đăng nhâp, mật khẩu, các lựa chọn do người dùng lựa chọn đi kèm. Các thông ...

1. Cookie là gì?###

Cookie là một đoạn văn bản ghi thông tin được tạo ra và lưu trên trình duyệt của máy người dùng. Cookie thường được tạo ra khi người dùng truy cập một website, cookie sẽ ghi nhớ những thông tin như tên đăng nhâp, mật khẩu, các lựa chọn do người dùng lựa chọn đi kèm. Các thông tin này lưu trong máy tính thường được dùng để nhận ra người dùng khi viếng thăm một trang web.

2. Tại sao cookie được sử dụng####

Khi bạn truy cập và một trang web, website này sẽ đặt một cookie tại trên máy đó, thay cho việc liên tục hỏi bạn các thông tin như nhau, chương trình trên website có thể sao lưu thông tin vào một cookie mà khi cần thông tin sẽ đọc cookie. Nếu không có cookie bạn sẽ phải nhập lại thông tin của mình trên mỗi màn hình web. Thông tin duy nhất mà cookie lưu trữ là thông tin mà bản thân bạn chia sẻ với website tạo ra cookie. Một website không thể đọc cookie của một công ty khác trừ khi công ty kia cung cấp cho công ty đó chứa khóa giải thích ý nghĩa của cookie.

3. Ưu điểm của Cookies in Website testing###

  • Thực hiện tạo cookies rất dễ
  • Cookies được lưu trữ trên máy tính người dùng
  • Sự khác nhau của các loại cookies có thể sử dụng dựa trên requirement như session cookies có thể sử dụng khi cookies cần expire khi browser bị close và Persistent Cookies có thể sử dụng khi cookies sử dụng để xác định số lượng thời gian trên máy tính người dùng.

4. Nhược điểm của cookies

  • Thỉnh thoảng mất truy cập web, thỉnh thoảng một số website không hoạt động khi disable cookies
  • Gây phiền toái tới người dùng: Alert hiển thị lưu thông tin liên tục sẽ gây phiền toái tới người sử dụng
  • Thỉnh thoảng cookies có lưu những thông tin nhạy cảm dưới dạng text, điều này có thể ảnh hưởng tới lỗ hổng bảo mật nếu có bất kỳ ai đó mở file hoặc làm xáo trộn cookies

5. Cookie làm việc như thế nào###

HTTP protocol sử dụng để chuyển đổi thông tin files trên web đã được sử dụng để maintain cookies.

Có 2 lại HTTP protocol. Stateless HTTP và Stateful HTTP protocol.

Stateless HTTP protocol không lưu giữ bất kỳ lịch sử record nào ở lần truy cập trước đó. Trong khi Stateful HTTP protocol lưu giữ một số lịch sử tương tác của web browser và server , protocol này được sử dụng bời cookies để maintain sự tương tác của người dùng.

Khi user ghé thăm một page đó là sử dụng cookie, small code trong HTML page (Thông thường thì gọi đến một số script để viết các tệp tin trong cookie như cookies trong JAVAScript, PHP, Perl) được viết như một text file trên máy của người dùng gọi là cookie.

Đây là một ví dụ của đoạn code sử dụng cookie Set-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME;

Khi user ghé thăm 1 page thì thời gian sau đó cookies được đọc và sử dụng để xác định lần thứ 2 viếng thăm trang web với cùng user và cùng domain. Thời gian hết hạn sử dụng cookies được set trong khi viết cookies. Đây là thời gian để quyết định hệ thống có sử dụng cookies hay không.

Có 2 loại cookies thường sử dụng

Session cookies: Cookies này được active cho đến khi browser đó hoạt động được gọi là cookies mở. Khi close browser thì session của cookies sẽ bị delete. Một số action sẽ được active 20 phút trước khi cookies đó bị expire

Persistent cookies: Cookies này được viết vĩnh viễn trên máy người dùng kéo dài trong nhiều tháng hoặc nhiều năm.

Nơi lưu trữ cookies Đường dẫn nơi lưu trữ cookies dựa vào từng trình duyệt. Một số browser khác nhau lưu trữ cookies trong các đường dẫn khác nhau.

E.g. Internet explorer lưu trữ cookies ở path “C:Documents and SettingsDefault UserCookies”

Trên mozila firefox lưu trữ trên Tools->Options->Privacy and then “Show cookies” button.

6. Một số test case chính cho cookies testing

  1. Cookies privacy policy đảm bảo đúng theo design document không có thông tin cá nhân hoặc dữ liệu nhạy cảm được lưu trữ trong cookies như credit card number. Nếu không có lựa chọn nào khác để lưu trữ thông tin nhạy cảm thì đảm bảo data đó phải được mã hóa.

  2. Cookies được lưu trữ bởi 1 website không nên được truy cập bởi website khác

  3. Cookies được lưu trữ ở những location khác nhau cho các browser khác nhau, thông tin cookies được lưu trữ chính xác

  4. Kiểm tra scenario người dùng cố gắng đăng nhập tài khoản bằng cách sử dụng user và password và cookies để sử dụng lưu trữ các thông tin ở lần đăng nhập tiếp theo. Sau đó ta thực hiện thay đổi user name và password ở query string parameter thành user name và password khác sau đó thực hiện login lại website, lúc này user không thể login vào other users.

  5. Kiểm tra behaviour của ứng dụng bởi việc delete cookies. Lần đầu tiên truy cập vào website và login vào website sử dụng thông tin hợp lệ sau đó site sẽ tạo cookies sau đó thực hiện đóng trình duyệt, bây giờ thực hiện xóa cookies bằng tay.

  6. Disable cookies: Thực hiện disable cookies từ browser setting, nếu website của bạn đang sử dụng cookies thì chức năng chính sẽ không hoạt động bởi việc disable cookies.

  7. Đảm bảo không có sự lạm dụng cookies trên website của bạn. Một số browser sẽ gửi thông báo nếu bạn truy cập sử dụng cookies và làm phiền tới user kết quả là làm giảm lưu lượng và mất nghiệp vụ. Vậy làm thế nào để kiểm tra được sự lạm dụng cookies. Trên trình duyệt Firefox bạn có thể kiểm tra theo steps:

    • Vào tool chọn Option sau đó chọn privacy tab
    • Ở dưới history section, lựa chọn firefox sẽ sổ xuống “Use custom settings for history”.
    • Lựa chọn “Accept cookies from sites” checkbox
    • Lựa chọn dropdown option to “ask me every time”.
    • Click button OK. Sau khi done setting bạn thử truy cập 1 website sau đó lưu trữ thông tin trong cookies, sau đó open lại website thì alert hiển thị có muốn lưu trữ thông tin đăng nhập không sẽ hiển thị.
  8. Accept/Reject cookies

    Cách tốt nhất để kiểm tra chức năng website là không chấp nhận tất cả các cookie. Nếu 10 cookie được tạo trong ứng dụng web của bạn sau đó bạn chấp nhận ngẫu nhiên một số cookie ví dụ chấp nhận 5 và từ chối 5 cookie. Để thực hiện kiểm tra trường hợp này, bạn có thể thiết lập các tùy chọn trình duyệt để nhắc nhở mỗi khi cookie được ghi vào đĩa. Trên cửa sổ này bạn có thể chấp nhận hoặc từ chối cookie. Hãy cố gắng truy cập vào các chức năng chính của trang web. Xem nếu các trang đang bị crash hoặc dữ liệu bị hỏng.

  9. Corrupt the cookies Corrupting cookie rất dễ. Bạn biết nơi lưu trữ cookies, hãy edit bằng tay thông tin cookie trên notepad hoặc thay đổi một vài thông tin hoặc parameter như là alter nội dung cookies hoặc tên cookies hoặc expiry date sau đó cố gắng truy cập vào trang web đó.

  10. Cookie Testing on Multiple browsers Đây là case rất quan trọng để check nếu web application page được viết cookies chính xác trên các browser khác nhau, và các browser đó được sử dụng chính xác. Bạn có thể test web application trên một số browser chính như: Internet explorer, Firefox, Chrome, Opera, safari...

0