Nghiên Cứu Các Giải Pháp Kiểm Thử Ứng Dụng Trên Nền Web Trong Luận Văn Thạc Sĩ

Luận văn thạc sĩ, đồ án tốt nghiệp nghiên cứu giải pháp kiểm thử ứng dụng web, đảm bảo chất lượng và hiệu quả trong phát triển phần mềm.

Trường đại học

Đại học Hà Nội

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2015

67
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Một số định nghĩa về quá trình kiểm thử

1.2. Một số định nghĩa về quá trình kiểm thử phần mềm

1.3. Mục tiêu của kiểm thử

1.4. Vai trò của kiểm thử

2. CHƯƠNG 2: NHỮNG VẤN ĐỀ LIÊN QUAN TỚI QUÁ TRÌNH KIỂM THỬ PHẦN MỀM

2.1. Vòng đời kiểm thử

2.2. Tiến trình test và các dạng test trong các giai đoạn

2.3. Những thành phần của một kế hoạch kiểm thử

3. CHƯƠNG 3: PHƯƠNG PHÁP VÀ CÁC LOẠI KIỂM THỬ

3.1. Phương pháp kiểm thử

3.2. Các phương pháp

3.3. Loại kiểm thử

3.4. Tìm hiểu về công cụ kiểm thử hiệu năng (webserver stress tool)

3.5. Một số công cụ kiểm thử hiệu năng

3.6. Đối tượng thực nghiệm

4. CHƯƠNG 4: TRIỂN KHAI THỰC NGHIỆM VỚI KIỂM THỬ

4.1. Đối tượng kiểm thử

4.2. Tìm hiểu về ERP

4.3. Các loại report trong dự án Team link

4.4. Cách viết test case theo hàng ngang

4.5. Cách viết test case theo hàng dọc

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về kiểm thử ứng dụng web

Kiểm thử ứng dụng web là một phần quan trọng trong quy trình phát triển phần mềm. Giải pháp kiểm thử ứng dụng web không chỉ giúp phát hiện lỗi mà còn đảm bảo rằng phần mềm đáp ứng được yêu cầu của người dùng. Kiểm thử ứng dụng web bao gồm nhiều phương pháp và công cụ khác nhau, từ kiểm thử chức năng đến kiểm thử hiệu năng. Việc áp dụng các giải pháp kiểm thử hiệu quả sẽ giúp giảm thiểu rủi ro và nâng cao chất lượng sản phẩm. Theo Dijkstra, kiểm thử không chỉ là việc phát hiện lỗi mà còn là một quá trình để đảm bảo rằng phần mềm hoạt động như mong đợi.

1.1. Mục tiêu của kiểm thử ứng dụng web

Mục tiêu chính của kiểm thử ứng dụng web là phát hiện và sửa chữa lỗi trước khi sản phẩm được phát hành. Điều này bao gồm việc kiểm tra các chức năng của ứng dụng, đảm bảo rằng chúng hoạt động đúng theo yêu cầu. Kiểm thử hiệu suất cũng là một phần quan trọng, giúp đánh giá khả năng xử lý của ứng dụng dưới tải cao. Theo Myers, việc kiểm thử thành công là khi ít nhất một lỗi được phát hiện và sửa chữa, từ đó nâng cao chất lượng phần mềm.

1.2. Vai trò của kiểm thử trong phát triển phần mềm

Kiểm thử đóng vai trò quan trọng trong việc đảm bảo chất lượng phần mềm. Nó giúp phát hiện các lỗi tiềm ẩn và đảm bảo rằng phần mềm hoạt động đúng như mong đợi. Kiểm thử bảo mật cũng là một yếu tố không thể thiếu, đặc biệt trong bối cảnh ngày càng nhiều ứng dụng web bị tấn công. Việc thực hiện kiểm thử định kỳ sẽ giúp phát hiện sớm các vấn đề và giảm thiểu rủi ro cho người dùng.

II. Các phương pháp kiểm thử ứng dụng web

Có nhiều phương pháp kiểm thử ứng dụng web, mỗi phương pháp có những ưu điểm và nhược điểm riêng. Kiểm thử tự động là một trong những phương pháp phổ biến, giúp tiết kiệm thời gian và công sức. Các công cụ như Selenium hay JMeter thường được sử dụng để thực hiện kiểm thử tự động. Ngoài ra, kiểm thử thủ công cũng rất quan trọng, đặc biệt trong việc kiểm tra giao diện người dùng và trải nghiệm người dùng. Theo Beizer, việc kết hợp cả hai phương pháp này sẽ mang lại hiệu quả cao nhất trong việc phát hiện lỗi.

2.1. Kiểm thử tự động

Kiểm thử tự động giúp giảm thiểu thời gian và công sức cần thiết để thực hiện kiểm thử. Các công cụ như Selenium cho phép kiểm thử viên tự động hóa các kịch bản kiểm thử, từ đó tăng cường khả năng phát hiện lỗi. Kiểm thử hiệu suất cũng có thể được thực hiện tự động, giúp đánh giá khả năng xử lý của ứng dụng dưới tải cao. Việc sử dụng kiểm thử tự động không chỉ giúp tiết kiệm thời gian mà còn đảm bảo tính chính xác trong quá trình kiểm thử.

2.2. Kiểm thử thủ công

Kiểm thử thủ công vẫn giữ vai trò quan trọng trong quy trình kiểm thử ứng dụng web. Nó cho phép kiểm thử viên đánh giá trải nghiệm người dùng và phát hiện các vấn đề mà kiểm thử tự động có thể bỏ sót. Kiểm thử giao diện người dùng là một ví dụ điển hình, nơi mà cảm nhận và phản hồi của người dùng là rất quan trọng. Theo IEEE, kiểm thử thủ công giúp đảm bảo rằng phần mềm không chỉ hoạt động đúng mà còn mang lại trải nghiệm tốt cho người dùng.

III. Quy trình kiểm thử ứng dụng web

Quy trình kiểm thử ứng dụng web bao gồm nhiều bước từ lập kế hoạch đến thực hiện và đánh giá kết quả. Quy trình kiểm thử cần được thực hiện một cách có hệ thống để đảm bảo rằng tất cả các khía cạnh của ứng dụng đều được kiểm tra. Bắt đầu từ việc xác định yêu cầu, lập kế hoạch kiểm thử, thiết kế các kịch bản kiểm thử, thực hiện kiểm thử và cuối cùng là đánh giá kết quả. Việc thực hiện quy trình này một cách chặt chẽ sẽ giúp phát hiện lỗi sớm và giảm thiểu rủi ro cho sản phẩm.

3.1. Lập kế hoạch kiểm thử

Lập kế hoạch kiểm thử là bước đầu tiên và rất quan trọng trong quy trình kiểm thử. Nó bao gồm việc xác định các yêu cầu cần kiểm thử, lập danh sách các kịch bản kiểm thử và phân bổ nguồn lực. Kế hoạch kiểm thử cần phải rõ ràng và chi tiết để đảm bảo rằng tất cả các khía cạnh của ứng dụng đều được kiểm tra. Việc lập kế hoạch tốt sẽ giúp tiết kiệm thời gian và công sức trong các bước tiếp theo.

3.2. Thực hiện kiểm thử

Sau khi lập kế hoạch, bước tiếp theo là thực hiện kiểm thử. Kiểm thử viên sẽ tiến hành kiểm tra các chức năng của ứng dụng theo các kịch bản đã được thiết kế. Kiểm thử hiệu suấtkiểm thử bảo mật cũng cần được thực hiện trong giai đoạn này. Kết quả kiểm thử sẽ được ghi nhận và đánh giá để xác định xem ứng dụng có đáp ứng được yêu cầu hay không. Việc thực hiện kiểm thử một cách cẩn thận sẽ giúp phát hiện sớm các vấn đề và giảm thiểu rủi ro cho sản phẩm.

IV. Đánh giá kết quả kiểm thử

Đánh giá kết quả kiểm thử là bước cuối cùng trong quy trình kiểm thử ứng dụng web. Kết quả kiểm thử cần được phân tích để xác định các lỗi đã phát hiện và mức độ nghiêm trọng của chúng. Đánh giá hiệu quả kiểm thử không chỉ giúp cải thiện quy trình kiểm thử mà còn cung cấp thông tin quý giá cho các giai đoạn phát triển tiếp theo. Việc đánh giá cần được thực hiện một cách khách quan và dựa trên các tiêu chí đã được xác định trước đó.

4.1. Phân tích kết quả kiểm thử

Phân tích kết quả kiểm thử giúp xác định các lỗi đã phát hiện và mức độ nghiêm trọng của chúng. Các lỗi cần được phân loại theo mức độ ảnh hưởng đến người dùng và ứng dụng. Đánh giá hiệu quả kiểm thử cũng cần xem xét các kịch bản kiểm thử đã thực hiện và xác định xem có cần điều chỉnh hay bổ sung gì không. Việc phân tích kết quả một cách chi tiết sẽ giúp cải thiện quy trình kiểm thử trong tương lai.

4.2. Cải tiến quy trình kiểm thử

Dựa trên kết quả phân tích, quy trình kiểm thử cần được cải tiến để nâng cao hiệu quả. Việc điều chỉnh các kịch bản kiểm thử, cập nhật công cụ kiểm thử và đào tạo kiểm thử viên là những bước cần thiết để nâng cao chất lượng kiểm thử. Cải tiến quy trình kiểm thử không chỉ giúp phát hiện lỗi sớm mà còn nâng cao chất lượng sản phẩm cuối cùng. Theo Hetzel, việc cải tiến quy trình kiểm thử là một phần quan trọng trong việc đảm bảo chất lượng phần mềm.

12/02/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1. Một số định nghĩa về quá trình kiểm thử Kiểm thử là việc kiểm tra kết quả thực hiện của chương trình máy tính xem có đúng với các mục tiêu đã đặt ra với nó không thông qua việc thực hiện ở một số mẫu thử.Kiểm thử phần mềm bao gồm quá trình kiểm tra và kiểm định để đảm bảo phần mềm đáp ứng nhu cầu người dùng, phần mềm chạy đúng chức năng.Kiểm thử phần mềm có thể được thực hiện ở bất kỳ giai đoạn nào trong phát triển phần mềm, phổ biến nhất là kiểm thử sau khi yêu cầu người dùng hoàn thiện hoặc phần mềm vừa xong giai đoạn phát triển. Tuy nhiên, trong quy trình phát triển phần mềm theo kiểu Agile thì kiểm thử phần mềm là quy trình đi cùng với việc phát triển phần mềm.Kiểm thử là việc tìm ra những lỗi trong bản thân phần mềm, việc kiểm thử này trong phần mềm sẽ biểu thị ra những thiếu sót mà ta có thể nhận thấy trong hành vi của phần mềm, và tìm ra những phần không tuân theo quy định và đi lệch ra khỏi những yêu cầu của phần mềm. Theo một số nhà nghiên cứu thì kiểm thử phần mềm được định nghĩa như sau:  Dijkstra: Kiểm thử sẽ hiện thị những lỗi hiện có, nhưng không hiển thị lỗi chưa thấy.

 Beizer Định luật 1: Mọi phương pháp bạn sử dụng để ngăn ngừa hoặc tìm thấy lỗi bỏ đi một phần lỗi rắc rối, cái mà những phương thức cần. Định luật 2: Phần mềm phức tạp lớn hơn những giới hạn khả năng quản lý. Những người kiểm thử không tốt hơn trong thiết kế lỗiso với những lập trình viên kiểm thử trong thiết kế mã.  IEEE: Kiểm thử là tiến trình vận hành hệ thống hoặc thành phần dưới những điều kiện xác định, quan sát hoặc ghi nhận kết quả và đưa ra đánh giá về hệ thống hoặc thành phần đó.

 Myers: Kiểm thử là tiến trình thực thi chương trình với mục đích tìm thấy lỗi. (The art of software testing) 2 Giữa kiểm thử và gỡ rối có sự khác biệt: Kiểm thử nhằm phát hiện ra lỗi trong khi đó gỡ rối là việc xác định bản chất lỗi và định lỗi trong chương trình, sau đó tiến hành sữa lỗi. Một số định nghĩa về quá trình kiểm thử phần mềm Một sai sót(Error): Là một sự nhầm lẫn hay một sự hiểu sai trong quá trình phát triển phần mềm của người phát triển.Một lỗi(fault, defect): Xuất hiện trong phần mềm như là kết qủa của một sai sót.Một hỏng hóc(failure):là kết quả của một lỗi xuất hiện làm cho chương trình không hoạt động được hoặc hoạt động được nhưng không cho kết quả như mong muốn. Sai sót Lỗi Hỏng hóc Dữ liệu thử(test data): Dữ liệu vào cần cung cấp cho phần mềm khi thực thi.Kịch bản kiểm thử(test scenario): Các bước thực hiện khi kiểm thử.Phán xét kiểm thử(test oracle): Là việc đánh giá của kiểm thử, có hai cách đánh giá đó là bằng chương trình(tự động), bằng con người(thủ công).Kiểm thử viên(tester): Người thực hiện kiểm thử.Ca kiểm thử(test case):Tập dữ liệu kiểm thử, điều kiện kiểm thử, để đưa ra kết quả mong đợi.

Mục tiêu của kiểm thử Bằng việc kiểm thử sẽ tìm ra được những lỗi trong phần mềm (Myers,1979)và thiết lập chất lượng của phần mềm(Hetzel,1988).Việc kiểm thử thành công khi bạn tìm được ít nhất một lỗi, và đưa ra sự đánh giá với độ tin cậy lớn.Đáp ứng được các yêu cầu công việc và kỹ thuật đã được qui định trong thiết kế và trong lúc phát triển, làm việc như mong đợi và có thể thực thi với các đặc tính giống nhau. Vai trò của kiểm thử - Testing để tìm ra lỗi, ghi nhận các thông tin về lỗi, nhưng không sữa lỗi. - Testing giúp kiểm định phần mềm, đảm bảo rằng phần mềm “đủ tốt” với độ rủi ro “thấp nhất” có thể. 3 CHƯƠNG 2: NHỮNG VẤN ĐỀ LIÊN QUAN TỚI QUÁ TRÌNH KIỂM THỬ PHẦN MỀM 2.

Vòng đời kiểm thử Vòng đời của kiểm thử bắt đầu từ việc kiểm điểm yêu câu, lập kế hoạch kiểm thử. Sau đó là ghi ra các ý tưởng các trường hợp kiểm thử. Từ các trường hợp kiểm thử này đưa ra tất cả các trường hợp kiểm thử và các kịch bản kiểm thử.Sử dụng các thủ tục hay kịch bản kiểm thử này, người kiểm thử có thể phát họa toàn bộ kiểm thử hệ thống hay kiểm thử tích hợp. Kết quả kiểm thử sẽ được đánh giá bởi các tiêu chí kiểm thử đặt ra ban đầu.

Mô hình kiểm thử là một dãy các kế hoạch, các trường hợp kiểm thử và các thủ tục kiểm thử. Trong tiến trình bảo trì và nâng cấp dự án, thì kiểm thử đóng vai trò quan trọng. Cụ thể là: Hình 1.1: Vòng đời kiểm thử Kiểm điểm yêu cầu: Người kiểm thử kiểm điểm yêu cầu phần mềm để dùng chúng và chắc rằng chúng là kiểm thử được. (Nếu chúng không kiểm thử được thì yêu cầu là mơ hồ và cần được xem lại); đây là một hoạt động quan trọng trong 4 nguyên lí kĩ nghệ phần mềm chủ trương người kiểm thử phải tham gia sớm trong dự án phần mềm và làm việc chặt chẽ với các kĩ sư yêu cầu để chắc rằng các yêu cầu phần mềm là tốt và đầy đủ trước khi dự án bắt đầu.

Lập kế hoạch kiểm thử: Người kiểm thử biết cái gì cần được kiểm thử, và lập kế hoạch các hoạt động kiểm thử của họ như: Chuẩn bị chiến lược kiểm thử, kế hoạch kiểm thử, lịch biểu kiểm thử và ước lượng thời gian kiểm thử. Bởi vì người kiểm thử tham gia sớm vào trong dự án, họ có thể làm việc chặt chẽ với kiến trúc sư phần mềm và người thiết kế phần mềm trong việc xác định mọi cấu phần của sản phẩm phần mềm, cả yêu cầu chức năng và phichức năng.Người kiểm thử cũng giúp nhận diện giao diện giữa phần cứng và phần mềm cũng như lập kế hoạch cách kiểm thử các yêu cầu này. - Để thiết kế 1 kế hoạch kiểm thử thường dùng Msproject Cách tạo test plan bằng Msproject : Muốn lên được test plan tốt, người lên kế hoạch cần phải dựa vào một số yếu tố sau:’’ master plan kế hoạch tổng thể của dự án Code Plan, kế hoạch coding sản phẩm, nhân sự trong nhóm, trình độ và năng lực của các thành viên trong nhóm,chính sách mục tiêu chất lương của công ty , các yêu cầu test của khách hàng hoặc hệ thống,khách hàng cần test như thế nào, đảm bảo dự án hoạt động tốt trên các môi trường gì, có cần dùng công cụ test hiệu năng, hiệu suất hay không? Ví dụ: Tạo 1 test plan bao gồm các nội dung công việc của tester để thực hiện test 1 website đơn giản. o Yêu cầu: Hoàn thành test trong vòng 1 tháng o Test trên các môi trường : IE7, 8, 9, FF3.8, chrome o Thực hiện test hiệu năng, hiệu suất của website  Các bước thực hiện Bước 1: Viết đầy đủ các đầu mục công việc cần thực hiện vào phần Task Name Bước 2: Điền thông tin người làm các task Bước 3: Điền thông tin Predecessors.

Nối các task lại với nhau 5 Bước 4: Xác định ngày bắt đầu và ngày hoàn thành task. Hệ thống tự động bỏ qua 2 ngày nghỉ là thứ 7 và CN. Tuy nhiên người làm plan vẫn có thể chọn thứ 7 và chủ nhật theo chủ ý. Bước 5: Điền % complete nếu các task đã hoàn thành hoặc comment lại nếu có các vấn đề phát sinh.

Thiết kế kiểm thử: Người kiểm thử bắt đầu xây dựng các trường hợp kiểm thử, kịch đoạn kiểm thử và dữ liệu kiểm thử dựa trên yêu cầu/thiết kế của phần mềm. Họ cũng tạo ra việc dõi vết các yêu cầu để chắc việc kiểm thử là đầy đủ bao quát mọi chi tiết của yêu cầu phần mềm.Bằng việc hiểu thiết kế trong chi tiết, người kiểm thử có thể phát triển các trường hợp kiểm thử tốt hơn và dữ liệu kiểm thử cho dự án. Các modul mà người kiểm thử cần phải thiết kế khi kiêm thử:Viết tescase modul quản trị hệ thống,viết testcase modul quản trị dự án, viết testcase modul quản trị thiết bị, unit test modul quản trị hệ thống,unit test modul quản trị dự án, unit test modul quản trị thiết bị,modul test : liệt kê các modul của hệ thống, system test toàn bộ hệ thống, thực hiện test hiệu năng hệ cho hệ thống, tổng hợp và lên báo cáo kết quả test, viết tài liệu hướng dẫn sử dụng hệ thống, viết tài liệu đào tạo hệ thống,lưu tài liệu lên tài nguyên chung và kết thúc dự án Thiết lập môi trường kiểm thử: Người kiểm thử thiết lập môi trường kiểm thử và chắc rằng nó là hệt như với môi trường người dùng. Thực hiện kiểm thử: Người kiểm thử thực hiện các trường hợp kiểm thử của họ và kịch đoạn kiểm thử trong môi trường kiểm thử để xác định chất lượng của phần mềm (Qua/Hỏng) và phát sinh kết quả kiểm thử và báo cáo khiến khuyết.

Người kiểm thử tiến hành kiểm thử chức năng, kiểm thử tích hợp, và kiểm thử hệ thống và giúp khách hàng tiến hành kiểm thử chấp nhận của người dùng. Tiến trình test và các dạng test trong các giai đoạn Các dự án có thể được chia thành 3 giai đoạn test. Giai đoạn đầu tiên gọi là kiểm thử Alpha, giai đoạn thứ 2 là kiểm thử Beta, giai đoạn 3 là giai đoạn cuối 6 cùng. Trong từng giai đoạn, có những gợi ý và đề xuất các phương pháp test phù hợp, gồm: - Kiểm thử chức năng là một nhóm kiểm thử rất rộng bao gồm FAST, TOFT, kiểm thử biên, kiểm thử dạng khám phá và các dạng khác.

Để định nghĩa tốt hơn phạm vi của kiểm thử chức năng, hãy xem các mức hoạt động khác nhau của một ứng dụng.FAST: Mỗi đầu vào và điều khiển duyệt có hoạt động đúng như mong đợi? TOFT: Ứng dụng có thể thực hiện các chức năng hữu ích như mong đợi? Kiểm thử biên điều gì xảy ra khi sử dụng các giá trị biên? Kiểm thử lỗi ép buộc điều gì xảy ra khi một điều kiện lỗi xuất hiện? Kiểm thử dạng khám phá kinh nghiệm nói lên điều gì về các vùng tiềm ẩn vấn đề trong ứng dụng? Kiểm thử dạng khám phá bao gồm việc nghiên cứu, lập kế hoạch, và thực thi kiểm thử một cách đồng thời. Tấn công phần mềm: Tại sao phần mềm bị lỗi? Làm thế nào bạn có thể biến những bài học kinh nghiệm thành các hoạt động tương tác nhằm công kích và phát hiện các lỗi phần mềm? - FAST FAST: (Funcitonal acceptance simple testing) Kiểm thử đơn giản chấp nhận chức năng .Kiểm thử đơn giản chấp nhận chức năng-FAST là mức thứ hai của kiểm thử chấp nhận phát hành(Release acceptance testing- RAT).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Giải Pháp Kiểm Thử Ứng Dụng Web Hiệu Quả Trong Luận Văn Thạc Sĩ" cung cấp cái nhìn sâu sắc về các phương pháp và công cụ kiểm thử ứng dụng web, giúp các nhà phát triển và quản lý dự án nâng cao chất lượng sản phẩm của mình. Tài liệu này không chỉ nêu rõ tầm quan trọng của việc kiểm thử trong quy trình phát triển phần mềm mà còn giới thiệu các kỹ thuật kiểm thử hiện đại, từ kiểm thử tự động đến kiểm thử hiệu suất. Độc giả sẽ nhận được những lợi ích thiết thực như cải thiện khả năng phát hiện lỗi sớm, tiết kiệm thời gian và chi phí, cũng như nâng cao trải nghiệm người dùng.

Nếu bạn muốn mở rộng kiến thức về các lĩnh vực liên quan, hãy tham khảo thêm tài liệu Luận văn thạc sĩ khoa học máy tính sử dụng active learning trong việc lựa chọn dữ liệu gán nhãn cho bài toán speech recognition, nơi bạn có thể tìm hiểu về việc áp dụng các phương pháp học máy trong lĩnh vực nhận diện giọng nói. Bên cạnh đó, tài liệu Luận văn thạc sĩ khoa học máy tính nghiên cứu các phương pháp trích xuất thông tin trong ảnh tài liệu và ứng dụng sẽ giúp bạn khám phá cách trích xuất thông tin từ hình ảnh, một kỹ thuật có thể hỗ trợ trong việc kiểm thử giao diện người dùng. Cuối cùng, tài liệu Luận văn thạc sĩ kỹ thuật điện tử ứng dụng biến đổi curvelet xử lý ảnh siêu phân giải và triển khai trên kit arm 32 bit sẽ mang đến cho bạn cái nhìn về xử lý ảnh, một phần quan trọng trong việc phát triển ứng dụng web hiện đại. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và áp dụng vào thực tiễn một cách hiệu quả hơn.