Kiểm thử ứng dụng web: Làm thế nào để kiểm thử một trang web? Các loại kiểm thử

⚡ Tóm tắt thông minh

Kiểm thử ứng dụng web (Web Application Testing) xác minh một trang web trên nhiều khía cạnh như chức năng, khả năng sử dụng, giao diện, cơ sở dữ liệu, khả năng tương thích, hiệu suất, bảo mật và kiểm thử cộng đồng trước khi phát hành, nhờ đó các lỗi sẽ được phát hiện trong môi trường thử nghiệm thay vì trước khi đến tay người dùng trả phí.

  • 🧱 Trước tiên hãy tìm hiểu về kiến ​​trúc: Các ứng dụng một trang, nhiều trang và ứng dụng theo trình tự thời gian tập trung rủi ro ở các lớp khác nhau.
  • 🔗 Hãy bắt đầu với chức năng: Đảm bảo mọi liên kết, biểu mẫu, cookie và quy trình làm việc từ đầu đến cuối đều hoạt động chính xác, bao gồm cả các đường dẫn phủ định.
  • 🖥️ Ghép trình duyệt với hệ điều hành: Hiển thị thay đổi trên Chrome, Firefoxsafari, Windows, macOSvà Linux, vì vậy hãy bao quát hỗn hợp lưu lượng truy cập thực tế của bạn.
  • Đo khi có tải, không phải khi ở trạng thái nghỉ: Xác định thời gian phản hồi cơ bản trong điều kiện giao thông bình thường, sau đó kiểm tra khả năng chịu tải khi vượt quá giờ cao điểm để tìm điểm gãy.
  • 🔐 Khắc phục các lỗ hổng bảo mật từ sớm: Chặn truy cập trang trái phép, hết hạn các phiên không hoạt động, buộc mã hóa các trang và quét các lỗ hổng tấn công injection.
  • 🔁 Tự động hóa các công việc lặp đi lặp lại, và khám phá những điều khác: Kiểm thử hồi quy kịch bản và bộ kiểm thử đa trình duyệt, dành riêng cho việc đánh giá khả năng sử dụng.

Trước khi đi sâu vào chi tiết về các loại kiểm thử web, chúng ta hãy nhanh chóng định nghĩa kiểm thử web và xem nó phù hợp ở đâu trong chu trình triển khai.

Kiểm thử ứng dụng web là gì?

Kiểm tra ứng dụng webKiểm thử ứng dụng web, hay còn gọi là kiểm thử website, là việc kiểm tra ứng dụng web hoặc website của bạn xem có lỗi tiềm ẩn nào không trước khi đưa vào hoạt động và cho phép công chúng truy cập. Kiểm thử ứng dụng web kiểm tra chức năng, khả năng sử dụng, bảo mật, khả năng tương thích và hiệu suất của ứng dụng web hoặc website.

Trong giai đoạn này, các vấn đề như bảo mật ứng dụng web, hoạt động của trang web, khả năng truy cập của người khuyết tật cũng như người dùng thông thường và khả năng xử lý lưu lượng truy cập sẽ được kiểm tra.

Một trang web không phải là một chương trình duy nhất. Nó là một tập hợp các thành phần: HTML, CSS và... JavaTập lệnh trong trình duyệt, cộng thêm API và cơ sở dữ liệu trên máy chủ. Một lớp hoạt động độc lập vẫn có thể gặp lỗi khi giao tiếp với các lớp lân cận, vì vậy việc kiểm thử web cần các kỹ thuật bổ sung.

Các loại ứng dụng web bạn cần kiểm thử

Trước khi lựa chọn kỹ thuật, hãy xác định kiến ​​trúc hệ thống hiện có. Cấu trúc này quyết định nơi tập trung các lỗi và cách phân bổ công việc giữa máy khách và máy chủ.

Archikiến trúc Nó hoạt động như thế nào Điều này có ý nghĩa gì đối với việc kiểm tra?
Ứng dụng một trang (SPA) Ứng dụng chỉ tải một lần, sau đó cập nhật giao diện mà không cần tải lại toàn bộ trang. Gmail Nó hoạt động theo cách này. Hầu hết logic được chuyển đến trình duyệt: tập trung vào JavaTrạng thái kịch bản, hiển thị động và phiên làm việc phía máy khách.
Đơn xin việc nhiều trang (MPA) Nhiều trang được truy cập thông qua các tuyến đường riêng biệt. URLs, được hiển thị ở phía máy chủ. Thường thấy ở các trang thương mại điện tử và trang tin tức. Các đường dẫn điều hướng rất đa dạng: hãy kiểm tra mọi tuyến đường, biểu mẫu và chuyển hướng từ đầu đến cuối.
Ứng dụng web tiến bộ (PWA) Hoạt động như một ứng dụng gốc bằng cách sử dụng service worker, manifest và app shell. Thêm chức năng ngoại tuyến, bộ nhớ đệm lỗi thời, thông báo đẩy và lời nhắc cài đặt.

Hầu hết các sản phẩm đều kết hợp các kiểu mẫu này. Hãy xác định xem bạn đang gặp phải loại sản phẩm nào, sau đó áp dụng tám kỹ thuật dưới đây.

Cách kiểm tra ứng dụng web hoặc trang web

Trong Kỹ thuật phần mềm, các loại/kỹ thuật thử nghiệm sau đây có thể được thực hiện tùy thuộc vào yêu cầu thử nghiệm web của bạn.

Mỗi kỹ thuật có thể được thực hiện thủ công hoặc bằng tập lệnh, và sự lựa chọn đó ảnh hưởng đến chi phí nhiều hơn là phạm vi bao phủ.

Yếu tố Kiểm tra bằng tay Kiểm tra tự động
Phù hợp nhất với Khả năng sử dụng và khám phá kiểm tra Kiểm thử hồi quy, tương thích đa trình duyệt, kiểm thử tải
Tốc độ trong các lần chạy lặp lại Chậm rãi; nỗ lực lặp lại trong mỗi chu kỳ. Nhanh chóng; bộ phim được phát lại theo yêu cầu.
Hồ sơ chi phí Giá ban đầu thấp, tăng dần sau mỗi lần phát hành. Chi phí trả trước cao hơn, sau đó là chi phí bảo trì kịch bản.

1. Kiểm tra chức năng của trang web

Kiểm tra chức năng của một trang web là một quá trình bao gồm một số tham số thử nghiệm như giao diện người dùng, API, thử nghiệm cơ sở dữ liệu, thử nghiệm bảo mật, thử nghiệm máy khách và máy chủ cũng như các chức năng cơ bản của trang web. Kiểm tra chức năng rất thuận tiện và nó cho phép người dùng thực hiện cả kiểm tra thủ công và tự động. Nó được thực hiện để kiểm tra chức năng của từng tính năng trên trang web.

Các hoạt động kiểm thử web bao gồm:

Thử nghiệm tất cả các liên kết trong các trang web của bạn đang hoạt động bình thường và đảm bảo không có liên kết bị hỏng. Các liên kết cần kiểm tra sẽ bao gồm -

  • Liên kết đi
  • Liên kết nội bộ
  • Anchor Liên kết
  • MailĐể liên kết

Mẫu kiểm tra đang làm việc như mong đợi. Điều này sẽ bao gồm-

  • Kiểm tra tập lệnh trên biểu mẫu đang hoạt động như mong đợi. Ví dụ: nếu người dùng không điền vào trường bắt buộc trong biểu mẫu thì thông báo lỗi sẽ hiển thị.
  • Kiểm tra các giá trị mặc định đang được điền
  • Sau khi gửi, dữ liệu trong biểu mẫu sẽ được gửi đến cơ sở dữ liệu trực tiếp hoặc được liên kết đến một địa chỉ email đang hoạt động
  • Các biểu mẫu được định dạng tối ưu để dễ đọc hơn

Cookie thử nghiệm đang làm việc như mong đợi. Cookie là các tệp nhỏ được các trang web sử dụng để ghi nhớ chủ yếu các phiên hoạt động của người dùng, do đó bạn không cần phải đăng nhập mỗi khi truy cập trang web. Kiểm tra cookie sẽ bao gồm

  • Cookie kiểm tra (phiên) sẽ bị xóa khi bộ nhớ đệm bị xóa hoặc khi chúng hết hạn.
  • Xóa cookie (phiên) và kiểm tra xem thông tin đăng nhập có được yêu cầu khi bạn truy cập trang web lần sau không.

Kiểm tra HTML và CSS để đảm bảo rằng các công cụ tìm kiếm có thể thu thập dữ liệu trang web của bạn một cách dễ dàng. Điều này sẽ bao gồm

  • Kiểm tra lỗi cú pháp
  • Readable Lược đồ màu
  • Tuân thủ tiêu chuẩn. Đảm bảo tuân thủ các tiêu chuẩn như W3C, OASIS, IETF, ISO, ECMA hoặc WS-I.

Kiểm tra quy trình làm việc của doanh nghiệp– Điều này sẽ bao gồm

  • Kiểm tra các kịch bản kinh doanh/quy trình làm việc từ đầu đến cuối của bạn, đưa người dùng đi qua một loạt trang web để hoàn thành.
  • Cũng kiểm tra các tình huống tiêu cực, chẳng hạn như khi người dùng thực hiện một bước không mong muốn, thông báo lỗi hoặc trợ giúp thích hợp sẽ được hiển thị trong ứng dụng web của bạn.

Công cụ có thể được sử dụng: QTP , IBM Hợp lý , Selenium

2. Kiểm tra khả năng sử dụng

Kiểm tra khả năng sử dụng giờ đây đã trở thành một phần quan trọng của bất kỳ dự án dựa trên web nào. Nó có thể được thực hiện bởi người thử nghiệm thích bạn hoặc một nhóm tập trung nhỏ tương tự như đối tượng mục tiêu của ứng dụng web.

Thử nghiệm trang web THÔNG TIN:

  • Menu, nút hoặc Liên kết đến các trang khác nhau trên trang web của bạn phải dễ nhìn thấy và nhất quán trên tất cả các trang web

Thử nghiệm các Nội dung:

  • Nội dung phải dễ đọc, không có lỗi chính tả hoặc ngữ pháp.
  • Hình ảnh nếu có phải chứa văn bản “alt”

Công cụ có thể được sử dụng: Dấu phấn, nội dung vuôngvà Clixpy

3. Kiểm tra giao diện

Sau khi đảm bảo các tính năng và khả năng sử dụng hoạt động tốt, hãy kiểm tra xem các tầng phía sau chúng có giao tiếp với nhau hay không. Ba lĩnh vực cần được kiểm tra ở đây là: Máy chủ ứng dụng, Máy chủ web và Máy chủ cơ sở dữ liệu.

  • Ứng dụng: Yêu cầu kiểm tra được gửi chính xác đến Cơ sở dữ liệu và đầu ra ở phía máy khách được hiển thị chính xác. Các lỗi nếu có phải được ứng dụng phát hiện và chỉ được hiển thị cho quản trị viên chứ không phải cho người dùng cuối.
  • Web Server: Máy chủ Web thử nghiệm đang xử lý tất cả các yêu cầu ứng dụng mà không có bất kỳ sự từ chối dịch vụ nào.
  • Máy chủ cơ sở dữ liệu: Đảm bảo các truy vấn được gửi đến cơ sở dữ liệu mang lại kết quả như mong đợi.

Kiểm tra phản hồi của hệ thống khi nào kết nối giữa ba lớp (Ứng dụng, Web và Cơ sở dữ liệu) Không thể được thành lập và thông báo thích hợp sẽ được hiển thị cho người dùng cuối.

Công cụ có thể được sử dụng: ranorex

4. Kiểm tra cơ sở dữ liệu

Cơ sở dữ liệu là một thành phần quan trọng trong ứng dụng web của bạn và bạn phải nỗ lực hết sức để kiểm tra nó một cách kỹ lưỡng. Các hoạt động thử nghiệm sẽ bao gồm-

  • Kiểm tra xem có lỗi nào được hiển thị trong khi thực hiện truy vấn không
  • Ngày Integrity được duy trì trong khi tạo, cập nhật hoặc xóa dữ liệu trong cơ sở dữ liệu.
  • Kiểm tra thời gian phản hồi của các truy vấn và tinh chỉnh chúng nếu cần.
  • Dữ liệu thử nghiệm được lấy từ cơ sở dữ liệu của bạn được hiển thị chính xác trong ứng dụng web của bạn

Công cụ có thể được sử dụng: QTP, Selenium

5. Kiểm tra khả năng tương thích

Kiểm tra khả năng tương thích đảm bảo ứng dụng web của bạn hiển thị và hoạt động chính xác trên các thiết bị khác nhau. Điều này bao gồm:

Kiểm tra khả năng tương thích của trình duyệt: Cùng một trang web trong các trình duyệt khác nhau sẽ hiển thị khác nhau. Bạn cần kiểm tra xem ứng dụng web của mình có được hiển thị chính xác trên các trình duyệt không, JavaScript, AJAX và xác thực đang hoạt động tốt. Bạn cũng có thể kiểm tra Số Điện Thoại Tính tương thích của trình duyệt web.

Việc hiển thị các thành phần web như nút, trường văn bản, v.v. thay đổi theo sự thay đổi về Operahệ thống ting. Đảm bảo trang web của bạn hoạt động tốt với nhiều sự kết hợp khác nhau của Operahệ thống ting như Windows, Linux, Mac và các trình duyệt như Firefox, Internet Explorer, Safari, v.v.

Công cụ có thể được sử dụng: Dynatrace

6. Kiểm tra hiệu suất

Điều này sẽ đảm bảo trang web của bạn hoạt động ổn định trong mọi điều kiện tải. Các hoạt động kiểm thử sẽ bao gồm nhưng không giới hạn ở:

  • Thời gian phản hồi của ứng dụng trang web ở các tốc độ kết nối khác nhau
  • Kiểm tra tải ứng dụng web của bạn để xác định hành vi của nó khi tải bình thường và cao điểm
  • Kiểm tra căng thẳng trang web của bạn để xác định điểm dừng của nó khi bị đẩy vượt mức tải bình thường vào thời gian cao điểm.
  • Kiểm tra xem có xảy ra sự cố do tải cao điểm hay không, trang web sẽ phục hồi như thế nào sau sự kiện đó
  • Đảm bảo các kỹ thuật tối ưu hóa như nén gzip, bộ đệm phía trình duyệt và máy chủ được bật để giảm thời gian tải

Công cụ có thể được sử dụng: Loadrunner, JMeter

7. Kiểm tra bảo mật

Kiểm tra bảo mật rất quan trọng đối với trang web thương mại điện tử lưu trữ thông tin khách hàng nhạy cảm như thẻ tín dụng. Hoạt động kiểm tra sẽ bao gồm-

  • Kiểm tra quyền truy cập trái phép vào các trang bảo mật không được phép
  • Không thể tải xuống các tệp bị hạn chế nếu không có quyền truy cập thích hợp
  • Phiên kiểm tra sẽ tự động bị hủy sau khi người dùng không hoạt động trong thời gian dài
  • Khi sử dụng chứng chỉ SSL, trang web phải chuyển hướng đến các trang SSL được mã hóa.

Intruder

Intruder là một trình quét lỗ hổng mạnh mẽ sẽ giúp bạn phát hiện ra nhiều điểm yếu ẩn giấu trong các ứng dụng web và cơ sở hạ tầng cơ bản của bạn. Cung cấp các biện pháp kiểm tra bảo mật hàng đầu trong ngành, giám sát liên tục và nền tảng dễ sử dụng, Intruder giữ cho các doanh nghiệp thuộc mọi quy mô an toàn trước tin tặc.

Intruder

Tính năng

  • Bảo hiểm mối đe dọa tốt nhất trong lớp với hơn 10,000 lần kiểm tra an ninh
  • Kiểm tra các điểm yếu về cấu hình, các bản vá bị thiếu, điểm yếu của ứng dụng (chẳng hạn như SQL SQL & tập lệnh chéo trang), v.v.
  • Tự động phân tích và ưu tiên kết quả quét
  • Giao diện trực quan, thiết lập và chạy lần quét đầu tiên nhanh chóng
  • Giám sát bảo mật chủ động đối với các lỗ hổng mới nhất
  • AWS, Azurevà Google Cloud kết nối
  • Tích hợp API với quy trình CI/CD của bạn

Khám phá thêm tại Intruder >>

8. Kiểm tra đám đông

Bạn sẽ chọn một số lượng lớn người (đám đông) để thực hiện các bài kiểm tra mà lẽ ra chỉ do một nhóm nhỏ trong nội bộ công ty thực hiện. Kiểm thử cộng đồng là một khái niệm thú vị và đang phát triển, giúp phát hiện ra nhiều lỗi chưa được nhận biết.

Công cụ có thể được sử dụng: Nền tảng thử nghiệm đám đông

Quy trình kiểm thử ứng dụng web: Từng bước một

Tám kỹ thuật này cho bạn biết cần kiểm tra những gì. Quy trình bên dưới sẽ cho bạn biết khi nào cần thực hiện chúng.

  1. Thu thập và làm rõ các yêu cầu. Liệt kê những gì ứng dụng phải làm và cách nó nên hoạt động. Các yêu cầu mơ hồ sẽ tạo ra những kỳ vọng không thể kiểm thử, vì vậy hãy giải quyết chúng trước tiên. Bước này giúp gắn kết việc kiểm thử web với toàn bộ quy trình. vòng đời kiểm thử phần mềm.
  2. Viết kế hoạch kiểm thử. Hãy quyết định những kỹ thuật nào phù hợp, ai sẽ thực hiện, cần những công cụ nào và theo khung thời gian nào. Kế hoạch này chính là bản đồ chỉ đường và ước tính của bạn.
  3. Xây dựng các trường hợp thử nghiệm. Biến mỗi yêu cầu thành các bước cụ thể với kết quả mong đợi, bao gồm cả trường hợp thành công và các trường hợp tiêu cực mà người dùng vô tình gây ra.
  4. Thiết lập môi trường thử nghiệm. Cố gắng sao chép nội dung sao cho sát với thực tế nhất có thể trong phạm vi ngân sách cho phép: sử dụng cùng một trình duyệt và hệ điều hành, dung lượng dữ liệu tương đương, tốc độ mạng thực tế.
  5. Tiến hành các bài kiểm tra. Chạy các trường hợp, ghi lại kết quả thực tế so với kết quả mong đợi, và chụp ảnh màn hình, đầu ra console và nhật ký máy chủ trong khi lỗi vẫn còn có thể tái hiện.
  6. Báo cáo và track khuyết tật. Ghi lại từng lỗi kèm các bước để tái hiện và mức độ ưu tiên, sau đó kiểm tra lại sau khi khắc phục và xác nhận không có lỗi nào khác xảy ra gần đó.
  7. Hoàn thành chu trình. Lập bản tóm tắt thử nghiệm bao gồm những gì đã được thử nghiệm, những gì đã được tìm thấy, những gì còn tồn tại và những gì cần cải thiện, sau đó ký duyệt để phát hành.

⚠️ Lên kế hoạch cho toàn bộ lịch trình, không chỉ riêng các bài kiểm tra: Kiểm thử web là một quá trình gian khổ, và áp lực về thời hạn là trở ngại đầu tiên bạn gặp phải, tiếp theo là những thay đổi mã lặp đi lặp lại làm cho công việc đã hoàn thành trở nên vô hiệu. Hãy xác định rõ từng nhiệm vụ trong bước 2 và xây dựng biểu đồ công việc từ đó.

Câu Hỏi Thường Gặp

Kiểm thử web tập trung vào các tổ hợp trình duyệt và hệ điều hành, khả năng hiển thị và số lần truyền dữ liệu đến máy chủ. Thử nghiệm di động Bổ sung phần cứng thiết bị, đường dẫn cài đặt và nâng cấp, các tác động gián đoạn như cuộc gọi, hao pin, cử chỉ và các quy tắc của cửa hàng ứng dụng.

Sự không nhất quán của trình duyệt, sự đa dạng của thiết bị và màn hình, các trang động thay đổi theo người dùng, các bản phát hành thường xuyên làm xuất hiện lại các lỗi cũ và thời hạn ngắn. Việc ưu tiên dựa trên dữ liệu lưu lượng truy cập thực tế và tự động hóa các lần chạy hồi quy giúp quản lý phạm vi công việc hiệu quả hơn.

Trí tuệ nhân tạo (AI) tạo ra các trường hợp kiểm thử từ các yêu cầu, tự sửa lỗi định vị khi giao diện thay đổi, ưu tiên các bộ kiểm thử nào sẽ chạy sau khi thực hiện commit và gắn cờ các khác biệt về mặt hình ảnh. Công cụ kiểm tra AI Áp dụng điều này cho việc kiểm thử hồi quy và kiểm thử tương thích trình duyệt.

STT Công cụ kiểm thử AI tạo sinh Tăng tốc quá trình viết kịch bản và phân loại lỗi, nhưng không thể đánh giá xem quy trình làm việc có gây khó hiểu hay không hoặc quyết định điều gì quan trọng đối với người dùng. Người kiểm thử vẫn chịu trách nhiệm về khả năng sử dụng và đánh giá mang tính khám phá.

Vâng. Kiểm tra khả năng tiếp cận Nó nằm trong phạm vi công việc kiểm tra khả năng sử dụng và kiểm tra điều hướng bằng bàn phím, đầu ra của trình đọc màn hình, độ tương phản màu sắc và văn bản thay thế theo tiêu chuẩn WCAG. Ở nhiều thị trường, đây là yêu cầu bắt buộc, chứ không phải là tùy chọn bổ sung.

Tóm tắt bài viết này với: