Ứng dụng lý thuyết kiểm thử website bán rượu cho công ty Thiên Long

Ứng dụng lý thuyết kiểm thử và quy trình kiểm thử cho website bán rượu Thiên Long. Đảm bảo chất lượng, trải nghiệm người dùng tốt nhất.

Trường đại học

Viện Đại Học Mở 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

2016

90
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

GIỚI THIỆU ĐỀ TÀI

1.1. Lí do chọn đề tài

1.2. Bố cục nội dung của đồ án

1. TỔNG QUAN VỀ KTPM

1.1. Vai trò và mục tiêu của kiểm thử

1.2. Một số định nghĩa về KTPM

1.3. Nguyên tắc trong KTPM

1.4. Quy trình kiểm thử phần mềm

1.5. Các kỹ thuật kiểm thử phần mềm

1.5.1. Kiểm thử hộp đen

1.5.2. Kiểm thử hộp trắng

1.5.3. Kiểm thử hộp xám

1.5.4. Kiểm thử quan sát

1.6. Các mức độ kiểm thử

1.6.1. Kiểm thử đơn vị

1.6.2. Kiểm thử tích hợp

1.6.3. Kiểm thử hệ thống

1.6.4. Kiểm thử chấp nhận hệ thống

1.7. Kiểm thử thủ công và kiểm thử tự động

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

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

1.8. Tổng kết chương 1

2. TỔNG QUAN VỀ KIỂM THỬ ỨNG DỤNG WEB

2.1. Mục đích của kiểm thử ứng dụng web

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

2.2.1. Kiểm thử giao diện người dùng

2.2.2. Kiểm thử an ninh và bảo mật

2.2.3. Kiểm thử hiệu năng

2.2.4. Kiểm tra sự tương thích với các trình duyệt khác nhau

2.3. Tổng kết chương 2

3. GIỚI THIỆU WEBSITE KINH DOANH RƯỢU CHO CÔNG TY TNHH THIÊN LONG

3.1. Giới thiệu về công ty

3.2. Hệ thống website bán rượu của công ty TNHH Thiên Long

3.2.1. Giới thiệu website bán rượu của công ty TNHH Thiên Long

3.2.2. Sơ đồ phân rã chức năng

3.3. Kế hoạch công việc

3.4. Viết UseCase chức năng cho hệ thống

3.5. Kế hoạch test chi tiết

3.6. Tổng kết chương 3

4. TIẾN HÀNH THỰC NGHIỆM

4.1. Viết TestCase cho TestUnit

4.2. Viết TestCase tích hợp hệ thống

4.3. Viết TestCase giao diện và TestCase chức năng cho bài toán

4.3.1. Viết TestCase giao diện

4.3.2. Viết TestCase chức năng

4.4. Viết tescase cho test hiệu năng

4.5. Phân tích và viết testcase cho hệ thống

4.6. Kết quả thực thi

4.7. Viết testcase chấp nhận người dùng

4.8. Tổng kết chương 4

KẾT LUẬN CHUNG

PHỤ LỤC_KẾ HOẠCH TEST

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tại sao kiểm thử website bán rượu là yếu tố sống còn

Trong bối cảnh thương mại điện tử phát triển mạnh mẽ, một website bán rượu chuyên nghiệp không chỉ là kênh bán hàng mà còn là bộ mặt của thương hiệu. Do đó, việc đảm bảo chất lượng phần mềm trở thành yếu tố quyết định sự thành công. Kiểm thử website bán rượu là một quy trình không thể thiếu, giúp phát hiện và ngăn chặn các lỗi phần mềm trước khi sản phẩm đến tay người dùng cuối. Theo định nghĩa của IEEE (1990), kiểm thử là quá trình vận hành một hệ thống với các điều kiện xác định để đánh giá các khía cạnh của nó. Đối với một trang web kinh doanh mặt hàng đặc thù như rượu, quy trình này càng trở nên quan trọng. Nó không chỉ xác minh các chức năng cơ bản như giỏ hàng hay thanh toán, mà còn đảm bảo các yếu tố pháp lý như xác minh độ tuổi, tuân thủ quy định quảng cáo và bảo mật thông tin khách hàng. Một website hoạt động ổn định, không lỗi sẽ trực tiếp nâng cao trải nghiệm người dùng, xây dựng lòng tin và thúc đẩy doanh số. Ngược lại, những sai sót nhỏ như lỗi hiển thị giá, sự cố thanh toán, hoặc hiệu năng chậm có thể gây thiệt hại lớn về doanh thu và uy tín. Vì vậy, đầu tư vào một quy trình kiểm thử bài bản ngay từ đầu là một chiến lược kinh doanh thông minh, giúp giảm thiểu chi phí khắc phục sự cố và tối đa hóa lợi nhuận. Việc này cũng chứng minh rằng phần mềm hoạt động đúng theo thiết kế và đáp ứng đầy đủ yêu cầu của người dùng, một trong những vai trò cốt lõi của kiểm thử phần mềm (KTPM) được nêu trong nhiều tài liệu học thuật.

1.1. Vai trò của việc đảm bảo chất lượng website bán hàng

Việc đảm bảo chất lượng cho một website bán hàng, đặc biệt là website bán rượu, giữ vai trò nền tảng. Chất lượng ở đây không chỉ dừng lại ở việc không có lỗi, mà còn bao gồm hiệu năng, tính bảo mật, và trải nghiệm người dùng. Một website chất lượng cao giúp doanh nghiệp tạo dựng uy tín, tăng tỷ lệ chuyển đổi và giữ chân khách hàng. Ngược lại, một trang web thường xuyên gặp lỗi, tải chậm hoặc khó sử dụng sẽ nhanh chóng làm mất lòng tin của khách hàng. Mục tiêu chính của kiểm thử phần mềm là cung cấp và duy trì một sản phẩm chất lượng cho khách hàng. Trong ngành rượu, nơi sự tin tưởng và hình ảnh thương hiệu là tối quan trọng, chất lượng website phản ánh trực tiếp chất lượng của sản phẩm và dịch vụ mà doanh nghiệp cung cấp.

1.2. Mục tiêu cốt lõi của hoạt động kiểm thử phần mềm KTPM

Mục tiêu chính của kiểm thử phần mềm (KTPM) không chỉ là tìm lỗi. Theo tài liệu nghiên cứu, nó bao gồm nhiều mục đích quan trọng. Thứ nhất, kiểm thử nhằm xác nhận rằng phần mềm đáp ứng đúng các yêu cầu đã đề ra, từ chức năng kinh doanh đến yêu cầu kỹ thuật. Thứ hai, mục tiêu là tìm ra các khiếm khuyết, các lỗi phần mềm để đội ngũ phát triển có thể sửa chữa, từ đó nâng cao chất lượng sản phẩm. Một mục tiêu khác là cung cấp thông tin cho các bên liên quan để họ có thể đưa ra quyết định về việc phát hành sản phẩm. Như Myer (1979) đã định nghĩa, “kiểm thử là quá trình thực thi một chương trình với mục đích tìm ra lỗi”. Quá trình này giúp giảm thiểu rủi ro khi sản phẩm được triển khai thực tế, đảm bảo hệ thống hoạt động ổn định và an toàn.

II. Top thách thức khi tiến hành kiểm thử website bán rượu

Việc kiểm thử website bán rượu đối mặt với nhiều thách thức đặc thù so với các trang thương mại điện tử thông thường. Yếu tố pháp lý là rào cản lớn nhất. Các quy định về độ tuổi, khu vực giao hàng và quảng cáo rượu rất nghiêm ngặt. Hệ thống phải có cơ chế xác minh độ tuổi người dùng hiệu quả và đáng tin cậy, đồng thời phải ngăn chặn giao dịch từ các khu vực bị cấm. Kiểm thử chức năng cho các module này đòi hỏi sự chính xác tuyệt đối. Thách thức thứ hai đến từ tính phức tạp của sản phẩm. Rượu có nhiều thuộc tính như loại, vùng, năm sản xuất, nồng độ. Hệ thống quản lý kho, tìm kiếm và bộ lọc phải hoạt động hoàn hảo để người dùng cuối có thể tìm thấy sản phẩm mong muốn. Kiểm thử tích hợp giữa hệ thống quản lý kho và giao diện người dùng là cực kỳ quan trọng. Thách thức thứ ba là kiểm thử bảo mật. Các giao dịch thanh toán trực tuyến và dữ liệu cá nhân của khách hàng là mục tiêu của tin tặc. Hệ thống phải được kiểm tra kỹ lưỡng để chống lại các hình thức tấn công phổ biến. Cuối cùng, kiểm thử hiệu năng cũng là một vấn đề lớn. Website cần phải xử lý được lượng truy cập đột biến trong các dịp lễ, Tết mà không bị sập. Việc mô phỏng các kịch bản tải cao điểm để đo lường khả năng chịu tải của máy chủ là một nhiệm vụ phức tạp nhưng cần thiết.

2.1. Khó khăn trong việc tuân thủ pháp lý và xác minh độ tuổi

Một trong những thách thức lớn nhất khi kiểm thử website bán rượu là đảm bảo tuân thủ các quy định pháp lý. Hệ thống phải tích hợp một cơ chế xác minh độ tuổi hiệu quả ngay từ khi người dùng truy cập. Các kịch bản kiểm thử cần bao phủ các trường hợp người dùng đủ tuổi, không đủ tuổi, và các trường hợp nhập dữ liệu không hợp lệ. Thêm vào đó, các quy định về quảng cáo và hiển thị thông tin sản phẩm cũng cần được tuân thủ nghiêm ngặt. Tester cần kiểm tra để chắc chắn rằng không có thông tin nào vi phạm các quy định hiện hành, điều này đòi hỏi sự hiểu biết sâu sắc về cả kỹ thuật lẫn luật pháp.

2.2. Rủi ro bảo mật với dữ liệu thanh toán và thông tin người dùng

Kiểm thử bảo mật là một phần không thể thiếu. Website bán rượu xử lý các thông tin nhạy cảm như thông tin thẻ tín dụng và địa chỉ cá nhân. Cần thực hiện các bài kiểm tra thâm nhập để phát hiện lỗ hổng bảo mật, kiểm tra mã hóa dữ liệu và đảm bảo rằng các giao thức thanh toán là an toàn. Các cuộc tấn công như SQL Injection, Cross-Site Scripting (XSS) phải được lường trước và ngăn chặn. Việc bỏ qua giai đoạn kiểm thử an ninh và bảo mật có thể dẫn đến hậu quả nghiêm trọng, làm mất dữ liệu khách hàng và hủy hoại danh tiếng của doanh nghiệp.

III. Hướng dẫn quy trình kiểm thử website bán rượu toàn diện

Một quy trình kiểm thử phần mềm hiệu quả cho website bán rượu cần được xây dựng một cách có hệ thống. Quy trình này thường bắt đầu bằng giai đoạn Lập kế hoạch. Ở bước này, đội ngũ sẽ xác định phạm vi, mục tiêu, nguồn lực và các loại kiểm thử sẽ được thực hiện. Kết quả là một bản kế hoạch kiểm thử chi tiết. Giai đoạn tiếp theo là Thiết kế Test Case. Dựa trên các yêu cầu và tài liệu phân tích, các tester sẽ viết ra các trường hợp kiểm thử (Test Case) chi tiết. Ví dụ, trong đồ án về website Thiên Long, các Use Case như Đăng ký tài khoản (UC_001) hay Đăng nhập (UC_002) được mô tả rõ ràng để làm cơ sở viết Test Case. Giai đoạn thứ ba là Thực hiện kiểm thử. Tester sẽ chạy các Test Case đã thiết kế, có thể thực hiện kiểm thử thủ công hoặc kiểm thử tự động. Mọi kết quả, đặc biệt là các lỗi phần mềm, sẽ được ghi nhận lại một cách chi tiết. Cuối cùng là giai đoạn Đánh giá và Báo cáo. Đội ngũ sẽ phân tích các lỗi đã tìm thấy, đánh giá mức độ nghiêm trọng và tổng hợp thành báo cáo. Báo cáo này cung cấp cái nhìn tổng quan về chất lượng của website và là cơ sở để đưa ra quyết định phát hành. Việc tuân thủ quy trình này đảm bảo rằng việc kiểm thử website bán rượu được thực hiện một cách đầy đủ và không bỏ sót các khía cạnh quan trọng.

3.1. Bước 1 Lập kế hoạch và thiết kế các kịch bản kiểm thử

Giai đoạn lập kế hoạch là nền tảng của mọi dự án kiểm thử. Tại đây, các mục tiêu kiểm thử được xác định rõ ràng, ví dụ: 'Xác minh chức năng giỏ hàng hoạt động chính xác' hoặc 'Đảm bảo website chịu được 1000 người dùng đồng thời'. Sau đó, các kịch bản kiểm thử (Test Scenario) và Test Case chi tiết được phát triển. Mỗi Test Case phải định nghĩa rõ ràng dữ liệu đầu vào, các bước thực hiện, và kết quả mong đợi. Quy tắc quan trọng là các ca kiểm thử phải được viết cho cả các trạng thái đầu vào hợp lệ và không hợp lệ để đảm bảo độ bao phủ cao.

3.2. Bước 2 Thực thi phân tích lỗi và báo cáo kết quả kiểm thử

Sau khi có kế hoạch và Test Case, giai đoạn thực thi bắt đầu. Tester sẽ tiến hành kiểm thử theo các kịch bản đã vạch ra. Khi phát hiện sự khác biệt giữa kết quả thực tế và kết quả mong đợi, một lỗi phần mềm (bug) sẽ được ghi nhận. Việc ghi nhận lỗi cần chi tiết, bao gồm các bước tái hiện, ảnh chụp màn hình, và môi trường kiểm thử. Sau khi hoàn tất một vòng kiểm thử, các kết quả sẽ được tổng hợp. Việc phân tích lỗi giúp xác định các khu vực có nhiều vấn đề nhất trong hệ thống, từ đó hỗ trợ đội ngũ phát triển ưu tiên sửa lỗi và cải tiến quy trình làm việc.

IV. Các phương pháp kiểm thử web bán rượu không thể bỏ qua

Để đảm bảo chất lượng toàn diện, việc áp dụng đa dạng các phương pháp kiểm thử website bán rượu là rất cần thiết. Kiểm thử chức năng là phương pháp cơ bản nhất, tập trung vào việc xác minh xem các chức năng của website có hoạt động đúng theo đặc tả hay không. Điều này bao gồm việc kiểm tra các luồng nghiệp vụ chính như tìm kiếm sản phẩm, thêm vào giỏ hàng, quy trình thanh toán, quản lý tài khoản người dùng. Kiểm thử hộp đen là kỹ thuật thường được sử dụng ở đây, nơi tester không cần quan tâm đến mã nguồn bên trong. Tiếp theo là kiểm thử hiệu năng, một yếu tố cực kỳ quan trọng. Phương pháp này đánh giá khả năng phản hồi, tốc độ tải trang và khả năng chịu tải của hệ thống. Các loại kiểm thử hiệu năng phổ biến bao gồm Load Testing (kiểm thử tải) để xem hệ thống hoạt động thế nào dưới tải trọng dự kiến, và Stress Testing (kiểm thử chịu tải) để tìm ra điểm giới hạn của hệ thống. Kiểm thử giao diện người dùng (UI)Kiểm tra sự tương thích đảm bảo website hiển thị đẹp mắt và hoạt động nhất quán trên nhiều trình duyệt (Chrome, Firefox) và thiết bị (máy tính, điện thoại) khác nhau. Cuối cùng, kiểm thử bảo mật giúp tìm ra các lỗ hổng có thể bị khai thác, bảo vệ dữ liệu và giao dịch của khách hàng.

4.1. Kiểm thử chức năng Đảm bảo luồng nghiệp vụ hoạt động đúng

Kiểm thử chức năng xác minh rằng mọi tính năng của website hoạt động theo yêu cầu. Đối với một trang bán rượu, các chức năng cần kiểm tra kỹ lưỡng bao gồm: đăng ký/đăng nhập tài khoản, tìm kiếm và lọc sản phẩm, quản lý giỏ hàng, quy trình đặt hàng và thanh toán, và quản lý thông tin cá nhân. Mỗi chức năng được chia nhỏ thành các Test Case cụ thể. Ví dụ, với chức năng đăng ký, cần kiểm tra các trường hợp nhập đúng, nhập sai định dạng email, bỏ trống trường bắt buộc, hoặc nhập lại mật khẩu không khớp. Đây là bước kiểm thử nền tảng để đảm bảo trải nghiệm mua sắm của người dùng cuối không bị gián đoạn.

4.2. Kiểm thử hiệu năng Đánh giá khả năng chịu tải và stress

Kiểm thử hiệu năng đo lường các chỉ số quan trọng như thời gian phản hồi của máy chủ, tốc độ tải trang và khả năng xử lý nhiều yêu cầu đồng thời. Load testing mô phỏng lượng người dùng truy cập trong điều kiện bình thường và cao điểm để đánh giá hiệu suất hệ thống. Stress testing đẩy hệ thống đến giới hạn của nó bằng cách tăng dần tải trọng cho đến khi xảy ra lỗi. Mục đích là để xác định ngưỡng chịu đựng của hệ thống và cách nó phục hồi sau sự cố. Kết quả từ các bài kiểm thử này giúp tối ưu hóa cấu hình máy chủ và mã nguồn, đảm bảo website luôn hoạt động mượt mà.

4.3. Kiểm thử giao diện và tính tương thích trên đa trình duyệt

Kiểm thử giao diện người dùng (UI Testing) đảm bảo rằng tất cả các yếu tố trực quan như bố cục, màu sắc, phông chữ được hiển thị chính xác và nhất quán. Kiểm tra sự tương thích với các trình duyệt khác nhau là rất quan trọng vì người dùng có thể truy cập website từ Chrome, Firefox, Safari trên các hệ điều hành khác nhau. Việc kiểm thử này đảm bảo rằng mọi người dùng đều có trải nghiệm như nhau, không gặp phải các lỗi vỡ giao diện hay mất chức năng. Điều này góp phần tạo nên một hình ảnh chuyên nghiệp và đáng tin cậy cho thương hiệu.

V. Case study Ứng dụng kiểm thử cho website bán rượu Thiên Long

Đồ án tốt nghiệp của Trần Thị Hoa (2016) cung cấp một ví dụ thực tiễn về việc ứng dụng lý thuyết kiểm thử vào kiểm thử cho hệ thống website bán rượu của công ty TNHH Thiên Long. Nghiên cứu này đã áp dụng một quy trình kiểm thử bài bản, bắt đầu từ việc phân tích hệ thống và xác định các chức năng chính. Sơ đồ phân rã chức năng được xây dựng để có cái nhìn tổng quan về hệ thống, bao gồm các module như quản lý người dùng, quản lý sản phẩm, và xử lý đơn hàng. Dựa trên đó, các Use Case chi tiết đã được viết cho từng chức năng, chẳng hạn như 'Đăng ký tài khoản' (UC_001), 'Đăng nhập' (UC_002), và 'Đổi mật khẩu' (UC_004). Các Use Case này là đầu vào quan trọng cho việc thiết kế Test Case cho cả kiểm thử chức năngkiểm thử giao diện. Một điểm nổi bật của nghiên cứu là việc thực hiện kiểm thử hiệu năng. Các kịch bản được tạo ra để mô phỏng số lượng người dùng truy cập đồng thời vào trang chủ và trang đăng ký ở các mức khác nhau (10, 50, 1000 người dùng). Kết quả thực thi cho thấy thời gian phản hồi của hệ thống dưới các mức tải trọng khác nhau, giúp đánh giá khả năng đáp ứng của máy chủ. Đây là một minh chứng rõ ràng về cách áp dụng lý thuyết kiểm thử phần mềm vào một dự án thực tế để đảm bảo chất lượng sản phẩm cuối cùng.

5.1. Phân tích chức năng và viết Test Case cho hệ thống

Trong dự án website Thiên Long, bước đầu tiên là xây dựng Sơ đồ phân rã chức năng. Sơ đồ này giúp chia nhỏ hệ thống phức tạp thành các thành phần dễ quản lý hơn. Từ đó, các Use Case được viết để mô tả chi tiết sự tương tác giữa người dùng và hệ thống cho từng chức năng. Ví dụ, Use Case 'Đăng ký tài khoản' mô tả các điều kiện đầu vào (tên không quá 50 ký tự, email đúng định dạng), luồng sự kiện chính (nhập thông tin và nhấn nút đăng ký), và điều kiện sau (dữ liệu được lưu vào cơ sở dữ liệu). Những mô tả này là cơ sở vững chắc để đội ngũ kiểm thử viết các Test Case chi tiết, bao phủ cả các trường hợp thành công và thất bại.

5.2. Kết quả thực nghiệm kiểm thử hiệu năng hệ thống website

Phần thực nghiệm kiểm thử hiệu năng của đồ án đã sử dụng các công cụ chuyên dụng để mô phỏng tải. Các kịch bản kiểm thử được thiết kế để đánh giá hiệu năng của trang chủ và trang đăng ký - hai trang có khả năng nhận nhiều truy cập. Kết quả được ghi nhận dưới dạng bảng và biểu đồ, cho thấy các chỉ số như thời gian đáp ứng trung bình và tỷ lệ lỗi khi số lượng người dùng đồng thời tăng từ 10 lên đến 1000. Ví dụ, kết quả cho thấy khi 1000 người dùng truy cập trang chủ cùng lúc, thời gian phản hồi có thể tăng lên đáng kể. Dữ liệu này rất quý giá, giúp xác định các điểm nghẽn cổ chai trong hệ thống và đưa ra các đề xuất cải tiến cần thiết.

VI. Kết luận Tương lai của kiểm thử website trong ngành rượu

Tóm lại, kiểm thử website bán rượu là một hoạt động phức tạp nhưng tối quan trọng, đóng vai trò then chốt trong việc đảm bảo chất lượng và thành công của doanh nghiệp. Từ việc xác minh các chức năng cơ bản đến kiểm tra các yêu cầu pháp lý đặc thù, bảo mật và hiệu năng, một chiến lược kiểm thử toàn diện giúp xây dựng lòng tin nơi khách hàng và tạo ra lợi thế cạnh tranh. Nghiên cứu điển hình về website Thiên Long đã minh họa rõ nét cách áp dụng các nguyên tắc và kỹ thuật kiểm thử vào thực tế. Nhìn về tương lai, xu hướng kiểm thử tự động sẽ ngày càng đóng vai trò lớn hơn. Việc tự động hóa các bài kiểm thử hồi quy (Regression Testing) giúp tiết kiệm thời gian và nguồn lực, cho phép đội ngũ tập trung vào các loại kiểm thử phức tạp hơn như kiểm thử khám phá (Exploratory Testing). Hơn nữa, với sự phát triển của Trí tuệ nhân tạo (AI), các công cụ kiểm thử thông minh có khả năng tự học và tối ưu hóa các kịch bản kiểm thử, hứa hẹn sẽ nâng cao hiệu quả của quy trình kiểm thử lên một tầm cao mới. Doanh nghiệp trong ngành rượu cần chủ động cập nhật và áp dụng các phương pháp hiện đại này để không ngừng nâng cao chất lượng sản phẩm số của mình.

6.1. Tầm quan trọng của việc kiểm thử sớm và kiểm thử liên tục

Một trong những nguyên tắc cốt lõi của kiểm thử phần mềm hiện đại là 'kiểm thử sớm'. Việc phát hiện và sửa lỗi ở giai đoạn đầu của quy trình phát triển sẽ tiết kiệm chi phí hơn rất nhiều so với việc sửa lỗi sau khi sản phẩm đã ra mắt. Bên cạnh đó, trong các mô hình phát triển linh hoạt (Agile), kiểm thử liên tục (Continuous Testing) được tích hợp vào mọi giai đoạn của vòng đời phát triển. Điều này đảm bảo rằng chất lượng luôn được kiểm soát chặt chẽ, giúp sản phẩm luôn ở trạng thái sẵn sàng phát hành và giảm thiểu rủi ro.

6.2. Xu hướng áp dụng kiểm thử tự động vào quy trình phát triển

Kiểm thử tự động đang trở thành một xu hướng tất yếu. Mặc dù kiểm thử thủ công vẫn không thể thay thế trong một số trường hợp, tự động hóa giúp giải quyết các công việc lặp đi lặp lại một cách nhanh chóng và chính xác. Đặc biệt đối với kiểm thử hồi quy, việc chạy lại hàng trăm Test Case sau mỗi lần thay đổi mã nguồn sẽ hiệu quả hơn nhiều khi có công cụ tự động hỗ trợ. Việc áp dụng tự động hóa không chỉ tăng tốc độ phát hành sản phẩm mà còn nâng cao độ tin cậy và chất lượng tổng thể của website bán rượu.

22/09/2025

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

Chương 1. Tổng quan về KTPM. Tổng quan về kiểm thử ứng dụng web. Giới thiệu hệ thống website kinh doanh rượu của công ty Thiên Long, trình bày usecase, kế hoạch thực hiện kiểm thử đối với hệ thống - Chương4: thực nghiệm trên hệ thống website bán rượu cho công ty TNHH Thiên Long.

Phần này viết testcase cho hệ thống. TỔNG QUAN VỀ KTPM 1. Vai trò và mục tiêucủa kiểm thử 1. Vai trò Có thể nói testing là khâu sống còn của việc phát triển phần mềm, nóquyết định khá nhiều vào sự thành công chung của dự án.

Nó giúp kiểm định phần mềm, tìm ra lỗi, ghi nhận các thông tin về lỗi, đảm bảo rằng PM “đủ tốt” với độ rủi ro “thấp nhất” trước khi giao cho khách hàng, Vậy tại sao cần KTPM. Có 4 lí do chính nói về tầm quan trọng của kiểm thử PM: - KTPM là yếu tố quyết định chất lượng PM và khâu điển hình của rà soát đặc tả thiết kế. - Muốn nhìn thấy PM như một phần tử của hệ thống hoạt động và hạn chế chi phí phải trả cho các thất bại do lỗi gây ra sau này. - Phát hiện ra lỗi trong chương trình(nếu có) với chi phí thấp nhất.

- Chứng minh PM hoạt động theo đúng thiết kế,PM được viết đúng và đáp ứng được yêu cầu của người dùng. Mục tiêu - Tìm lỗi và ngăn chặn lỗi. - Đảm bảo PM đáp ứng đúng yêu cầu đề ra. - KTPM giúp chúng ta biết rằng PM đang được thử nghiệm thành công.

- KTPM giúp xác nhận được rằng PM đủ điều kiện đến tay người sử dụng. - KTPM để đảm bảo chất lượng phần mềm. - Mục tiêu chính của KTPM là cung cấp và duy trì một sản phẩm chất lượng cho khách hàng. Một số định nghĩa về KTPM KTPM có nhiều định nghĩa khác nhau - Theo Myer(1979): “kiểm thử là quá trình thực thi một chương trình với mục đích tìm ra lỗi”.[1] - Theo Daniel Galin: "KTPM là một quá trình được tiến hành bởi một nhóm chuyên viên kiểm thử, trong đó một đơn vị phần mềm, một nhóm các đơn vị được tích hợp, hoặc cả gói PM được kiểm tra bằng các chạy các chương trình trên máy tính.

Tất cả các bước kiểm tra liên được tiến hành theo các thủ tục kiểm thử và các trường hợp kiểm thử đã được thông qua". - Hai định nghĩa của IEEE (1990): Định nghĩa 1: Kiểm thử phần mềm là quá trình vận hành một hệ thống hoặc một thành phần của hệ thống với các điều kiện xác định, nhận xét và ghi lại các kết quả, tạo ra đánh giá về những khía cạnh của hệ thống hay thành phần hệ thống. Định nghĩa 2: Kiểm thử phần mềm là quá trình phân tích các yếu tố phần mềm để phát hiện những khác biệt giữa chương trình với các điều kiện yêu cầu và đánh giá các đặc điểm của các yếu tố phần mềm. Theo như định nghĩa 2, việc chạy chương trình như một phần của tiến trình kiểm thử phần mềm là không cần thiết.[10] - “KTPM là quá trình khảo sát một hệ thống hay thành phần dưới những điều kiện xác định, quan sát và ghi lại các kết quả, và đánh giá một khía cạnh nào đó của một hệ thống hay thành phần đó”[2] - KTPM là hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ PM trong đúng môi trường chúng dự định sẽ được triển khai nhằm cung cấp cho người có lợi ích liên quan những thông tin về chất lượng của sản phẩm hay dịch vụ 6 PM ấy.

Mục đích của KTPM là tìm ra các lỗi hay khiếm khuyết PM nhằm đảm bảo hiệu quả hoạt động tối ưu của PM trong nhiều ngành khác nhau[3] Có thể định nghĩa một cách dễ hiểu như sau: KTPM là một tiến trình hay một tập hợp các tiến trình được thiết kế để đảm bảo mã hóa máy tính thực hiện theo cái mà chúng đã được thiết kế để làm, và không thực hiện bất cứ thứ gì không mong muốn. Đây là một pha quan trọng trong quá trình phát triển hệ thống, giúp cho người xây dựng hệ thống và khách hàng thấy được hệ thống mới đã đáp ứng yêu cầu đặt ra hay chưa? 1. Nguyên tắc trong KTPM - Sự sai lầm về việc không có lỗi: không sửa lỗi triệt để mà tránh né lỗi bằng cách sửa chức năng này thành chức năng khác không dùng được và không đáp ứng yêu cầu thiết kế, hoặc sửa lỗitạm bợ để chương trình không có lỗi khi bàn giao cho khách hàng nhưng khi sử dụng một thời gian thì gây ra lỗi thì cũng như là thất bại mặc dù đã kiểm tra xong. - Kiểm thử theo các ngữ cảnh khác nhau và độc lập nhau: việc kiểm thử phụ thuộc vào ngữ cảnh và thực hiện kiểm tra với nhiều ngữ cảnh khác nhau.

Ví dụ: kiểm thử cho một phép toán bậc một với một ẩn như ax+b=0(với a, b là hằng số) thì chỉ cần xét các trường hợp của x; phép toán với 2 ẩn x và y như ax+by=0 thì phải xét đồng thời các trường hợp của cả x và y; với phương trình axn = b thì cần chú ý đến số mũ n, nếu n là bậc 2 cần chú ý đến căn bậc 2,… - Nghịch lí thuốc trừ sâu: cũng như nghệ thuật hay y học càng ngày càng phong phú, càng ngày càng có ý tưởng mới thì việc kiểm thử cũng vậy. Chắc bạn cũng biết thuốc trừ sâu với sâu bọ nếu ko cải tiến, thay đổi thành phần thì sâu bọ lâu ngày sẽ nhờn thuốc và không chết nữa nên với việc kiểm thử cũng vậy, ta phải thường xuyên làm phong phú bộ testcase, thực hiện với nhiều app và PM khác nhau. 7 - Sự tập trung của lỗi: tập trung một cách cân đối vào mật độ dự kiến lỗi và lỗi phát hiện sau khi kiểm thử các module. Quá chú trọng vào một hay một vài lỗi chức năng nào đó thường gây ra thiếu sót vì thời gian release là có hạn dành nhiều thời gian cho module này sẽ khó tránh khỏi việc không kiểm thử full case cho các module khác.

Nhưng nếu bug ở module này thì chức năng tương tự hoặc liên quan ở module khác cũng sẽ vướng bug tương ứng. - Kiểm thử sớm: để phát hiện lỗi sớm nhất có thể thì nên kiểm thử ngay từ giai đoạn đầu của dự án. Kiểm thử sớm giúp tiết kiệm thời gian và kinh phí do phát hiện sớm được những rủi ro ngay từ giai đoạn đầu. - Kiểm thử đầy đủ là không thể: kiểm thử tất cả các trường hợp là một điều không thể vì còn phụ thuộc vào yếu tố thời gian và kinh phí.

Vì vậy việc phân tích các rủi ro và đưa ra mức độ ưu tiên để kiểm tra các trường hợp cần thiết nhất, có khả năng gây ra lỗi nghiêm trọng nhất trước rồi sau đó, tùy thuộc vào tiến trình của dự án mà kiểm tra các trường hợp còn lại theo mức độ ưu tiên thấp hơn. - Kiểm thử đưa ra lỗi: kiểm thử có thể cho thấy rằng PM đang có lỗi, nhưng không thể chứng minh rằng PM không có lỗi. kiểm thử làm giảm xác suất lỗi chưa tìm thấy vẫn còn trong phần mềm, thậm chí là không còn lỗi nào, nó không phải là bằng chứng của sự chính xác. Quy trình kiểm thử phần mềm Tùy vào từng tổ chức, hệ thống, ngữ cảnh, mức độ rủi ro của PM mà quy trình KTPM có thể gồm nhiều bước khác nhau.

Nhưng nhìn chung mọi quy trình kiểm thử đều có những bước cơ bản như quy trình dưới đây: 8 Sơ đồ 1.1: Quy trình KTPM Bước 1: Lập kế hoạch Chỉ định và mô tả các loại kiểm tra sẽ được triển khai và thực hiện. Kết quả của bước lập kế hoạch là bản tài liệu kế hoạch kiểm tra phần mềm, bao gồm nhiều chi tiết từ các loại kiểm tra, chiến lược kiểm tra, cho đến thời gian và phân định lực lượng kiểm tra viên. Bước 2: Thiết kế TestCase Chỉ định các Test Case và các bước kiểm tra chi tiết cho mỗi phiên bản phần mềm. Giai đoạn thiết kế test là hết sức quan trọng, nó bảo đảm tất cả các tình huống kiểm tra “quét” hết tất cả yêu cầu cần kiểm tra.

Bước 3: Phát triển Test Script Bước này thường không bắt buộc trong các loại và mức kiểm tra, chỉ yêu cầu trong những trường hợp đặc thù cần thiết kế, tạo ra các Test Script có khả năng chạy trên máy tính giúp tự động hóa việc thực thi các bước kiểm tra đã định nghĩa ở bước thiết kế test. Bước 4: Thực hiện kiểm tra Test Thực hiện các bước kiểm tra đã thiết kế (hoặc thực thi các Test Script nếu tiến hành kiểm tra tự động) và ghi nhận, phân tích kết quả. 9 Bước 5: Đánh giá Đánh giá toàn bộ quá trình kiểm tra, bao gồm xem xét và đánh giá kết quả kiểm tra, liệt kê lỗi, chỉ định các yêu cầu thay đổi, và tính toán các số liệu liên quan đến quá trình kiểm tra (chẳng hạn số giờ, thời gian kiểm tra, số lượng lỗi, phân loại lỗi…). Lưu ý, việc đánh giá kết quả kiểm tra ở bước này hoàn toàn khác với bước thẩm định kết quả kiểm tra sau khi hoàn tất một vòng kiểm tra.

Đánh giá kết quả kiểm tra ở giai đoạn này mang tính toàn cục và nhằm vào bản thân giá trị của các kết quả kiểm tra. Các bước đánh giá - Đánh giá độ bao phủ: Xác định quá trình kiểm tra có đạt được độ bao phủ yêu cầu hay không, tỷ lệ yêu cầu đã được kiểm tra (tính trên các yêu cầu của PM và số lượng code đã viết). - Phân tích lỗi: Đưa ra số liệu phục vụ cho việc cải tiến các qui trình phát triển, giảm sai sót cho các chu kỳ phát triển và kiểm tra sau đó. - Xác định quá trình kiểm tra có đạt yêu cầu? Từ đó, kiểm tra viên xác định kế hoạch có hoặc không thay đổi chiến lược hoặc cách thức kiểm tra.

- Báo cáo tổng hợp: Tổng hợp kết quả các bước ở trên và phải được gửi cho tất cả những người có liên quan. Các kỹ thuật kiểm thử phần mềm 1. Kiểm thử hộp đen Một trong những chiến lược kiểm thử quan trọng là kiểm thử hộp đen, hướng dữ liệu, hay hướng vào/ra. Kỹ thuật kiểm thử này hoàn toàn không quan tâm về cách hoạt động và cấu trúc bên trong của chương trình.

Thay vào đó, tập trung vào tìm các trường hợp mà chương trình không thực hiện theo các đặc tả của nó.

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