Quy trình test web

1. Tổng quan về hệ thống ứng dụng  Web based
1.1. Định nghĩa 
Ứng dụng Web based là ứng dụng mà đặt server tại Internet và truy cập từ các máy trạm tới thông qua hệ thống server trung gian của các nhà cung cấp dịch vụ đường truyền ISP.  
1.1.1. Các đặc điểm của hệ thống ứng dụng Web based
Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ thông tin, việc phát triển các ứng dụng trên máy đơn (ứng dụng destop) đã mang lại nhiều lợi ích trong nhiều lĩnh vực của đời sống xã hội.
Tuy nhiên, cùng với sự phát triển rộng lớn của internet ngày nay thì xu hướng toàn cầu hóa trong nhiều lĩnh vực đòi hỏi các ứng dụng trên máy tính phải có khả năng tương tác rộng hơn để có thể khai thác tối đa nguồn tài nguyên vô tận trên internet. 
Trong mỗi doanh nghiệp việc phát triển các ứng dụng quản lý trên mạng càng có ý nghĩa hơn khi các mạng LAN hay WAN ngày càng phổ biến. Các ứng dụng đó đảm bảo tính truy nhập tương tác từ nhiều phía và tài nguyên chỉ đặt một nơi mà ta gọi là server, giúp dễ quản lý và bảo mật. 
Do đó, các ứng dụng qua mạng mang lại cho chúng ta những lợi ích đáng kể về tính tiện lợi cũng như về mặt chi phí. Bên cạnh đó, bạn không phải bận tâm đến vấn đề cài đặt ứng dụng trên từng máy con với nhiều phiền toái, và không phải quan tâm nhiều đến cấu hình phần cứng có đáp ứng được yêu cầu hay không…Tất cả những gì bạn cần chỉ là một hệ thống mạng cục bộ, một trình duyệt web và một kết nối internet. 
Và thực tế đã chứng tỏ điều đó, các ứng dụng ngày nay đều hướng tới mạng và Internet, từ kinh doanh trên Internet, quảng cáo, hệ thống thư điện tử, cũng như thương mại điện tử. Các khái niệm đó đang gần gũi với chúng ta hơn.

Một số điểm khác biệt giữa ứng dụng desktop và ứng dụng web:
Ứng dụng desktop Ứng dụng Web
Phải cài đặt trên từng máy trạm làm việc Chỉ cài đặt trên máy chủ
Đòi hỏi cấu hình cần thiết khi cài đặt Cần có hệ thống mạng nội bộ(LAN)
Tốn nhiều thời gian và chi phí cho cài đặt và bảo trì trên cả hệ thống Các máy trạm làm việc chỉ cần một trình duyệt web
Dữ liệu phân tán Dữ liệu tập trung trên server
Quản lý và bảo mật tốt hơn

1.1.2. Tiến trình làm việc
Các bước làm việc cơ bản trong tiến trình làm việc cơ bản:
 

- Khi người dùng gõ địa chỉ một địa chỉ như: http://www.simpleapplication.com
- Tại trình duyệt, sẽ kết nối tới máy chủ tên miền để chuyển đổi tên miền ra địa chỉ IP
- Khi nhận được các yêu cầu, server sẽ tìm kiếm các trang mặc định ví dụ như default.htm và sau đó gửi lại client một file copy của file default.htm.
- Khi trình duyệt nhận được file nó sẽ đọc các thẻ HTML và kiết xuất ra màn hình của bạn.
Tóm lại, có hai điểm chính cần chú ý cho ứng dụng web như sau:
- Khi trình duyệt gửi các requests tới, server sẽ responds lại
- Khi đang xảy ra quá trình requests/ responds nếu kết nối giữa client và server bị cắt . Tại client vẫn không bị gửi các resquests ..
Có thể hiểu mối quan hệ giữa client/ server qua ví dụ sau:
Bạn cần một số thông tin từ tôi, sau đó bạn đến văn phòng của tôi và gõ cửa phòng tôi, yêu cầu một file dữ liệu. Tôi lấy dữ liệu ra khỏi máy in và đưa cho bạn sau đó đóng cửa lại. Có thể phân tích như sau:
- Bạn đã tạo một kết nối ( gõ cửa phòng tôi) 
- Kết nối được xác định ( tôi ra mở cửa)
- Bạn đưa ra các yêu cầu ( Tôi có thể nhận các file dữ liệu đó từ anh được không?)
- Các yêu cầu đó được trả lời ( Tôi đưa file dữ liệu và bạn cầm nó)
- Kết nối được đóng lại ( tôi đóng cửa phòng và quay trở lại làm việc) 
- Bạn đang đứng bên ngoài với bản copy tài liệu mà bạn yêu cầu. Bạn có thể đọc nó, hiểu nó hoặc làm gì với tập tài liệu đó. Khi khi bạn đọc đến một đoạn text bạn nhận ra rằng nó cần phải tham chiếu đến một lược đồ. Bạn phải làm gì? Bạn yêu cầu nó, bạn gõ cửa phòng tôi, tôi mở cửa và bạn đưa yêu cầu cần thêm lược đồ đó vào trong tập tài liệu của bạn, tôi đưa nó cho bạn và đóng cửa phòng.
Ví dụ trên đã làm sáng tỏ mọi yêu cầu sẽ được tạo ra đối với server. Nếu như không có các file tham chiếu thì sau đó sẽ kết thúc sự giao tiếp giữa chúng ta. Tuy  nhiên nếu  bạn muốn một tài liệu khác thì bạn có thể bắt đầu tiến trình trên và yêu cầu một tài liệu khác, các hình ảnh … Một khi bạn có file dữ liệu trong tay tức là connect đã được phục vụ và phải xác lập cho connect tiếp theo. Khi connect kết thúc, tôi không biết bạn đang đứng ngoài cửa phòng của tôi, không nói là bạn muốn gì và yêu cầu tiếp theo là gì. Thì lúc đó server cũng giống như tôi ở trong trường hợp này.
Tip: Để hiểu sâu hơn về mối quan hệ giữa Client/ server thì tải công cụ network monitoring và cài đặt trên máy client. Một số link sau:

1.1.3. Complicating to Web Application Scenario
Một ứng dụng web thường chia làm 3 phần sau
- User agent
- Web server
- Database
1.1.4. Requests to Web page
- Khi người dùng bắt đầu một trình duỵêt, gõ địa chỉ và kích vào link, trình duyệt sẽ gửi thông tin tới server sử dụng giao thức HTTP.
- Các yêu cầu từ client sẽ được định dạng như sau:
The request line
The request heading
The request data
+ Các request line sẽ chứa các phương thức: Get, search, post
1.1.5. Responding to the Resquest

  1. [2011/09/07] Web Testing: Complete guide on testing web applications *17 by mayank2512 ()
  2. [2013/02/22] Agileload: Load and performance testing tool for web applications *6 by agileload (748)
  3. [2011/09/07] How to Test Application Security – Web and Desktop Application Security Testing Techniques *4 by mayank2512 ()
  4. [2012/03/08] Ten Steps to Test Your Web Applications *2 by rajesht ()
  5. [2011/06/28] Website Cookie Testing, Test cases for testing web application cookies? *6 by QA Tester ()