1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Môn công nghệ phần mềm tên đề tài kiểm thử ứng dụng web

23 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểm Thử Ứng Dụng Web
Tác giả Nguyễn Trung Hiếu
Người hướng dẫn Ths. Huỳnh Phước Danh
Trường học Trường Đại Học Gia Định
Chuyên ngành Công Nghệ Thông Tin
Thể loại đề tài
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 23
Dung lượng 2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KHÁI NIỆMKiểm thử ứng dụng web là quá trình kiểm tra và đánh giá tính năng, chất lượng và độ tin cậy của một ứng dụng web trước khi nó được phát hành đến khách hàng hoặcngười dùng cuối..

Trang 1

TRƯỜNG ĐẠI HỌC GIA ĐỊNH

KHOA CÔNG NGHỆ THÔNG TIN

LỚP: K15DCPM02

NGÀNH: KỸ THUẬT PHẦN MỀM

TP HỒ CHÍNH MINH, NĂM 2023

Trang 2

MỤC LỤC

1 KHÁI NIỆM 4

2 CÁCH KIỂM THỬ TRANG WEB VÀ PHÂN LOẠI CÁC KỸ THUẬT KIỂM THỬ4 3 CÁC QUY TRÌNH KIỂM THỬ CHUNG 5

3.1 Requirement Analysis 5

3.2 Test Planning 6

3.3 Test Case Development 6

3.4 Environment Setup 7

3.5 Test Execution 7

3.6 Test Cycle Closure 8

4 ĐẶC ĐIỂM CỦA ỨNG DỤNG WEB 8

4.1 Khả năng truy cập đa nền tảng 8

4.2 Tính đa nền tảng 9

4.3 Tiết kiệm chi phí và quản lý 10

4.4 Tích hợp và mở rộng 11

4.5 Cập nhật nhanh chóng 12

5 QUY TRÌNH KIỂM THỬ CHO ỨNG DỤNG WEB 13

5.1 Functionality Testing 13

5.2 Usability testing 14

6 CÁC CÔNG CỤ HỖ TRỢ KIỂM THỬ CHO ỨNG DỤNG WEB 17

6.1 Testuff 17

6.2 Zephyr 17

6.3 TestingWhiz 18

6.4 Ranorex 18

6.5 LoadStorm 19

6.6.Telerik Test Studio 19

6.7 Selenium 19

7 CÁC BIỂU MẪU / TÀI LIỆU KIỂM THỬ CHO ỨNG DỤNG WEB 21

8 VÍ DỤ 22

Trang 3

LỜI NÓI ĐẦU

Được sự phân công của Khoa Công Nghệ thông tin Trường Đại học Gia Định, và dưới sự hướng dẫn của Thầy giáo hướng dẫn ThS Huỳnh Phước Danh, em

đã hoàn thành đề tài “Kiểm thử ứng dụng web”.

Để hoàn thành bài luận này, em xin chân thành cảm ơn Thầy Huỳnh Phước Danh đã tận tình hướng dẫn, giảng dạy trong suốt quá trình học tập và nghiên cứu ở môn Công nghệ phần mềm.

Mặc dù đã có nhiều cố gắng để thực hiện đề tài một cách hoàn chỉnh nhất Song do trình độ hiểu biết và nhận thức còn chưa cao nên bài tiểu luận khó tránh khỏi sơ sài, còn thiếu sót, em rất mong nhận được sự đóng góp ý kiến của các thầy

cô và bạn bè để em có thể học hỏi thêm và rút kinh nghiệm cho những lần tới.

Em xin chân thành cảm ơn!

Thành phố Hồ Chí Minh, ngày 1 tháng 6 năm 2023

Trang 4

1 KHÁI NIỆM

Kiểm thử ứng dụng web là quá trình kiểm tra và đánh giá tính năng, chất lượng và

độ tin cậy của một ứng dụng web trước khi nó được phát hành đến khách hàng hoặcngười dùng cuối Mục đích của kiểm thử ứng dụng web là tìm ra các lỗi, vấn đề hoặc

sự cố có thể gây ra hỏng hóc hoặc ảnh hưởng đến trải nghiệm người dùng trên cáctrình duyệt web khác nhau Qua đó giúp cho nhà phát triển và nhà sản xuất phầnmềm có thể sửa lỗi và cải thiện ứng dụng của họ trước khi phát hành để đảm bảo sự

ổn định và đáp ứng được nhu cầu của người dùng trên nhiều nền tảng khác nhau Cáccông cụ phần mềm kiểm thử ứng dụng web bao gồm các kỹ thuật như kiểm thử đơn

vị, kiểm thử tích hợp, kiểm thử chấp nhận người dùng, kiểm thử bảo mật và kiểm thửtốc độ tải trang web

Kiểm thử web theo thuật ngữ đơn giản là kiểm tra ứng dụng web của bạn để tìmlỗi tiềm ẩn trước khi deloy lên môi trường production Trong giai đoạn này, các vấn đềnhư bảo mật ứng dụng web, chức năng trang web, quyền truy cập và khả năng xử lýlưu lượng của nó sẽ được kiểm thử

2 PHÂN LOẠI CÁC KỸ THUẬT KIỂM THỬ

Các bước kiểm thử có thể được thực hiện tùy thuộc vào yêu cầu kiểm thử web củabạn

Một ứng dụng web thường có rất nhiều nhóm người sử dụng với nhiều nền tảngkhác nhau (hệ điều hành, trình duyệt…), người ta cũng rất khó có thể đoán được sốlượng người sử dụng một ứng dụng web là bao nhiêu, rồi thời gian hồi đáp yêu cầucủa người sử dụng đối với ứng dụng là một trong những yếu tố mang tính quyết địnhthành bại của ứng dụng…dẫn đến việc kiểm thử ứng dụng web sẽ có những khác biệtnhất định so với kiểm thử phần mềm truyền thống Trong đó, kiểm thử giao diệnngười dùng, kiểm thử hiệu năng và kiểm thử bảo mật là những loại kiểm thử mà ứngdụng web cần chú trọng

– Các kỹ thuật kiểm thử web có thể được phân loại vào những hạng mục chính sau:

Trang 5

 Kiểm thử đơn vị (Unit Testing): Kiểm thử đơn vị là kỹ thuật kiểm thử phầnmềm mà ta sẽ kiểm tra từng phần riêng lẻ của mã nguồn, giúp kiểm tra xemcác phần này hoạt động chính xác hay không.

 Kiểm thử tích hợp (Integration Testing): Kiểm thử tích hợp (IntegrationTesting) là kỹ thuật kiểm thử phần mềm mà ta kiểm tra các phần của phầnmềm đã kết hợp hiệu quả với nhau hay không

 Kiểm thử hệ thống (System Testing): Kiểm thử hệ thống là kỹ thuật kiểm thửphần mềm mà ta kiểm tra cả hệ thống phần mềm, kiểm tra hành vi của cácthành phần phần mềm cùng với các tính năng và yêu cầu của phần mềm

 Kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT): UAT chính

là kỹ thuật kiểm tra thực tế, được thực hiện bởi khách hàng hoặc người dùngcuối cùng để đảm bảo rằng sản phẩm phần mềm đáp ứng đầy đủ nhu cầu vàyêu cầu của khách hàng hoặc người dùng cuối

 Kiểm thử hiệu năng và tải (Performance and Load Testing): Kiểm thử hiệunăng và tải là kỹ thuật kiểm thử phần mềm để đánh giá sức mạnh và khả năngcủa hệ thống khi gặp tải và sử dụng cao

 Kiểm thử bảo mật (Security Testing): Là kỹ thuật kiểm thử phần mềm nhằmkiểm tra khả năng bảo mật của ứng dụng trên các khía cạnh như chống XSS(Cross-Site Scripting), chống SQL Injection, chống Tràn bộ đệm, chống DDos(Distributed Denial of Service), phân quyền, SSL

 Kiểm thử tương thích (Compatibility Testing): Là kỹ thuật kiểm thử phầnmềm để kiểm tra xem ứng dụng của bạn có tương thích với các trình duyệtweb khác nhau, hệ điều hành và thiết bị như điện thoại di động, máy tínhbảng, máy tính để bàn hay không

3 CÁC QUY TRÌNH KIỂM THỬ CHUNG

3.1 Requirement Analysis

Giai đoạn đầu tiên của quy trình kiểm thử phần mềm là Requirement Analysis(Phân tích yêu cầu) Trong giai đoạn này, các tester sẽ phân tích tài liệu Prototype

Trang 6

(Tài liệu đặc tả yêu cầu) được tạo trong Software Development Life Cycle (Vòng đờiphát triển phần mềm) để kiểm tra các yêu cầu do khách hàng đưa ra.

Yêu cầu được chia làm 2 dạng: Functional (Chức năng) và Non-Functional(Phi chức năng) Yêu cầu về Functional sẽ mô tả tính năng còn Non-Functional sẽ mô

tả hiệu năng, tính bảo mật, tính hữu dụng của phần mềm Trong quá trình phân tích,nếu yêu cầu còn mơ hồ sẽ được xem xét lại, tester đồng thời làm việc với các bên liênquan để làm rõ vấn đề Cuối cùng, tester sẽ xác định loại kiểm thử sẽ dùng và độ ưutiên của các hoạt động kiểm thử, xác định môi trường test cần chuẩn bị

3.2 Test Planning

Sau giai đoạn một, tester tiến hành Lập kế hoạch kiểm thử để kiểm tra xem phầnmềm có đáp ứng các yêu cầu hay không Kế hoạch kiểm thử là một tài liệu tổng quan

về việc kiểm thử dự án bao gồm những thông tin sau:

 Phạm vi kiểm thử, hướng tiếp cận, quy trình kiểm thử, tài nguyên và nhân lựctest

 Các chức năng/module cần được kiểm tra; các công cụ và môi trường kiểmthử cần có

 Ai test chức năng nào? - Khi nào bắt đầu thực hiện viết và hoàn thành testcase?

 Khi nào bắt đầu thực hiện và hoàn thành test?

3.3 Test Case Development

Sau khi có được Test Plan, Tester bắt đầu xây dựng bộ Test Case dựa trên yêu cầucủa phần mềm Test Case cần mô tả được chi tiết dữ liệu đầu vào, hành động, kết quảmong đợi để xác định một chức năng của ứng dụng phần mềm có hoạt động đúnghay không Template của Test Case có nhiều trường hợp nhưng bắt buộc phải có 5mục chính: ID, mục đích kiểm thử, các bước thực hiện, kết quả mong đợi & kết quảthực tế

Trang 7

Nếu sử dụng tool để thực hiện test tự động (Automation testing) chức năng vàgiao diện của sản phẩm, tester sẽ tạo thêm một kịch bản kiểm thử gọi là Test Script.Test Script là bản hướng dẫn chi tiết được viết bằng mã code nhằm hỗ trợ kiểm thửnhững trường hợp nếu test thủ công bằng tay sẽ rất khó khăn.

Các Tester trong cùng một team sẽ review chéo Test Case của nhau tránh bỏ sótnhững trường hợp test quan trọng Một bộ Test Case chất lượng sẽ giúp đảm bảo chấtlượng sản phẩm, hạn chế lỗi và rủi ro nhất cho khách hàng

3.4 Environment Setup

Thiết lập môi trường thử nghiệm là một hoạt động độc lập và có thể được bắt đầucùng với giai đoạn phát triển kịch bản kiểm thử Môi trường kiểm thử sẽ dodevelopers tạo ra để deploy sản phẩm đã được hoàn thiện về phần lập trình.Sau khi thiết lập môi trường thử nghiệm, tester thực hiện nhanh Smoke Testing(Kiểm thử khói) để kiểm tra tính sẵn sàng của môi trường thử nghiệm đồng thời tính

ổn định của bản build sản phẩm Trường hợp xuất hiện lỗi như môi trường không ổnđịnh hay bản build lỗi chức năng chính, tester sẽ báo lại developers sửa ngay Nếumôi trường và bản build đã đủ ổn định để tiến hành test chi tiết, tester sẽ tiến hànhgiai đoạn tiếp theo - Thực hiện kiểm thử

Trong cả quá trình kiểm thử phần mềm, tester ưu tiên kiểm tra chức năng chínhtrước, chức năng phụ và giao diện sẽ thực hiện test sau Quá trình kiểm thử phần

Trang 8

mềm bắt buộc phải tuân thủ thời gian đã đề ra, mọi người trong team đôn đốc nhau

để kịp tiến độ bàn giao sản phẩm Cuối cùng, tester thực hiện làm báo cáo tùy theoyêu cầu của dự án để đánh giá việc kết thúc quy trình kiểm thử phần mềm

3.6 Test Cycle Closure

Ở giai đoạn cuối cùng, tester chuẩn bị báo cáo kết thúc kiểm thử, tổng hợp lại cácchỉ số trong quá trình test Cả team phát triển sẽ ngồi họp để đánh giá toàn bộ các tiêuchí xác định kiểm thử đã đủ hay chưa Những tiêu chí này khác nhau tùy theo từng

dự án, thông thường bao gồm:

 Số lượng test case tối đa được thực thi Passed

 Tỷ lệ lỗi giảm xuống dưới mức nhất định

 Deadline được chốt từ giai đoạn làm kế hoạch kiểm thử

Quy trình kiểm thử phần mềm thường chỉ được kết thúc khi sản phẩm được bàngiao cho khách hàng Ngoài ra, hoạt động kiểm thử có thể kết thúc trong các trườnghợp sau:

 Khi 1 dự án bị hủy bỏ

 Khi các mục tiêu chính đã hoàn thành

 Khi việc bảo trì hoặc cập nhật đã hoàn thành

4 ĐẶC ĐIỂM CỦA ỨNG DỤNG WEB

Dưới đây là 5 đặc điểm nổi bật của ứng dụng web rõ ràng và chi tiết

4.1 Khả năng truy cập đa nền tảng

Khả năng truy cập đa nền tảng của ứng dụng web là một đặc điểm quan trọng,cho phép người dùng truy cập và sử dụng ứng dụng trên nhiều thiết bị khác nhau nhưmáy tính, điện thoại di động, máy tính bảng và các thiết bị khác Điều này mang lạinhiều lợi ích cho người dùng, nhưng cũng đồng thời gặp phải một số bất lợi Dướiđây là các lợi ích và bất lợi của khả năng truy cập đa nền tảng của ứng dụng web,kèm theo ví dụ cụ thể:

- Lợi ích:

Trang 9

 Cải thiện trải nghiệm người dùng: Khả năng truy cập đa nền tảng giúp ngườidùng truy cập và sử dụng ứng dụng trên nhiều thiết bị khác nhau, mang lại trảinghiệm tốt hơn cho người dùng Ví dụ: Ứng dụng Google Drive có thể truycập và sử dụng trên nhiều thiết bị như máy tính, điện thoại di động và máytính bảng, giúp người dùng dễ dàng lưu trữ và chia sẻ dữ liệu.

 Tăng tính linh hoạt và sự tiện lợi: Khả năng truy cập đa nền tảng giúp ngườidùng dễ dàng truy cập và sử dụng ứng dụng mọi lúc, mọi nơi, trên nhiều thiết

bị khác nhau Ví dụ: Ứng dụng Viber cho phép người dùng truy cập và sửdụng trên nhiều thiết bị khác nhau như máy tính, điện thoại di động, máy tínhbảng, giúp người dùng dễ dàng liên lạc với bạn bè và gia đình bất kể ở đâu

- Bất lợi:

 Khó khăn trong việc tối ưu hóa trải nghiệm người dùng: Vì ứng dụng webphải hỗ trợ nhiều nền tảng và thiết bị khác nhau, việc tối ưu hóa trải nghiệmngười dùng trên tất cả các nền tảng là rất khó khăn Ví dụ: Một số trang webchưa được tối ưu hóa cho các thiết bị di động, gây khó khăn cho người dùngkhi truy cập từ điện thoại di động

 Cần phải thường xuyên cập nhật và bảo trì: Vì ứng dụng web phải hỗ trợ nhiềunền tảng và thiết bị khác nhau, nên việc cập nhật và bảo trì cho tất cả cácphiên bản và thiết bị là rất quan trọng Nếu không thường xuyên cập nhật vàbảo trì, ứng dụng có thể sẽ gặp sự cố hoặc không tương thích với một số thiết

bị hoặc nền tảng Ví dụ: Trang web eBay thường xuyên cập nhật để hỗ trợnhiều nền tảng và thiết bị khác nhau

4.2 Tính đa nền tảng

Tính đa nền tảng của ứng dụng web được thể hiện thông qua việc phát triển mộtứng dụng web duy nhất và có khả năng chạy trên nhiều nền tảng và thiết bị khácnhau thông qua trình duyệt web

- Lợi ích: Đạt tới đông đảo người dùng: Tính đa nền tảng cho phép ứng dụng củabạn chạy trên nhiều loại thiết bị và nền tảng khác nhau, từ điện thoại di động, máy

Trang 10

tính bảng đến máy tính và thiết bị IoT Điều này giúp bạn tiếp cận đa dạng ngườidùng và mở rộng lượng khách hàng tiềm năng.

- Bất lợi:

 Giới hạn chức năng: Đôi khi, việc phát triển đa nền tảng có thể gặp hạn chế vềcác chức năng đặc biệt bởi sự khác biệt giữa các nền tảng Điều này có thể yêucầu phải giới hạn một số tính năng hoặc tuỳ chỉnh cho phù hợp với mỗi nềntảng cụ thể Điều này có thể ảnh hưởng đến trải nghiệm người dùng và khảnăng tương thích trên các nền tảng khác nhau

 Hiệu suất và tối ưu hóa: Một ứng dụng đa nền tảng có thể không đạt được hiệusuất tốt nhất trên tất cả các nền tảng Do sự đa dạng của các thiết bị và nềntảng, có thể cần phải đánh đổi hiệu suất hoặc tối ưu hóa cho từng nền tảngriêng biệt Điều này có thể ảnh hưởng đến tốc độ hoạt động và trải nghiệm củaứng dụng trên một số thiết bị hoặc hệ điều hành cụ thể

4.3 Tiết kiệm chi phí và quản lý

Tiết kiệm chi phí và quản lý dễ dàng: So với phần mềm truyền thống cần cài đặttrên mỗi máy tính cá nhân, ứng dụng web giảm thiểu chi phí phát triển, triển khai vàduy trì Nó cho phép quản lý tập trung dễ dàng, bảo mật dữ liệu tốt hơn và cung cấpkhả năng theo dõi và điều chỉnh hoạt động của ứng dụng một cách hiệu quả

- Lợi ích:

 Tiết kiệm chi phí về phần cứng: Do không yêu cầu phần cứng đặc biệt, ứngdụng web giúp tiết kiệm chi phí cho việc mua sắm và duy trì phần cứng chotừng nền tảng Người dùng có thể truy cập vào ứng dụng từ bất kỳ thiết bị nào

có kết nối internet, mà không cần phải mua các thiết bị đặc biệt

 Dễ dàng cập nhật và triển khai: Với ứng dụng web, việc cập nhật và triển khaiphiên bản mới trở nên dễ dàng Người dùng chỉ cần tải lại trang web để truycập vào phiên bản mới nhất của ứng dụng, mà không cần phải cài đặt bản cậpnhật mỗi lần Điều này giúp tiết kiệm thời gian và công sức trong việc quản lý

và triển khai ứng dụng

Trang 11

 Quản lý dễ dàng: Do ứng dụng web chạy trên trình duyệt web, việc quản lý vàduy trì ứng dụng trở nên dễ dàng hơn Việc cập nhật và sửa lỗi có thể đượcthực hiện tại máy chủ và được áp dụng cho tất cả người dùng cùng một lúc.Điều này giúp đơn giản hóa quy trình quản lý và hỗ trợ ứng dụng.

- Bất lợi:

 Phụ thuộc vào kết nối internet: Ứng dụng web yêu cầu kết nối internet liên tục

để hoạt động Nếu người dùng không có kết nối internet hoặc kết nối không ổnđịnh, họ không thể truy cập vào ứng dụng và sử dụng các tính năng của nó

 Giới hạn tính năng: Một số tính năng phức tạp và đặc biệt có thể khó triểnkhai trong ứng dụng web Một số khả năng mạnh mẽ của hệ điều hành hoặcthiết bị có thể không được hỗ trợ hoặc khó đạt được trong môi trường web

4.4 Tích hợp và mở rộng

Tích hợp và mở rộng: Ứng dụng web có khả năng tích hợp với các dịch vụ và hệthống khác, cho phép chia sẻ dữ liệu và tương tác với các ứng dụng và nguồn tàinguyên khác

- Lợi ích:

 Linh hoạt và mở rộng: Ứng dụng web có thể dễ dàng tích hợp với các dịch vụ

và API khác để mở rộng chức năng và tính năng của nó Điều này cho phépphát triển ứng dụng web theo nhu cầu và thay đổi của doanh nghiệp hoặcngười dùng

 Tích hợp dữ liệu: Ứng dụng web có khả năng tích hợp và tương tác với cácnguồn dữ liệu bên ngoài như cơ sở dữ liệu, hệ thống quản lý nội dung (CMS),dịch vụ web, API của bên thứ ba và hơn thế nữa Điều này cho phép ứng dụngweb truy cập và sử dụng dữ liệu từ các nguồn khác nhau để cung cấp thông tin

và chức năng phong phú

 Mở rộng tính năng: Tích hợp và mở rộng cho phép ứng dụng web được mởrộng tính năng mà không cần phải xây dựng lại toàn bộ ứng dụng Việc tích

Ngày đăng: 11/08/2023, 13:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w