You are on page 1of 10

PAGE 2

ASSIGNMENT: KIỂM THỬ CƠ BẢN

Mục tiêu cụ thể Sau bài assignment này , sinh viên có khả năng:
- Áp dụng được khái niệm kiểm thử để kiểm thử phần mềm
- Giải thích được vai trò và sự quan trọng của kiểm thử phần mềm
- Viết được quy trình và lập kế hoạch cho kiểm thử phần mềm
- Áp dụng được 7 nguyên lý cơ bản trong kiểm thử phần mềm
- Áp dụng các mức độ kiểm thử phần mềm để thực thi kiểm thử
- Sử dụng các kỹ thuật kiểm tra phần mềm để viết kịch bản và thực thi
kiểm thử
- Sử dụng công cụ quản lý lỗi
Các công cụ cần có
- Visio, Mockup, Office, Jira

Tài nguyên Thư mục tài nguyên đi kèm

ĐẶT VẤN ĐỀ
Hiện tại càng có nhiều người thích mua sắm trực tuyến hơn thay vì đi tới cửa hàng như trước đây.
Với sự thay đổi như vậy cửa hàng bán đồ điện tử muốn xây dựng một hệ thống mua sắm trực tuyến
OSS(The online shopping system).
Đặc tả yêu cầu của phần mềm:
1. Đăng ký:
● Khách hàng đăng ký bằng email và mật khẩu.
● Khách hàng đăng ký bằng tài khoản social Google.
● Khách hàng có thể chỉnh sửa thông tin Account của họ.
2. Đăng nhập:
● Khách hàng đăng nhập vào hệ thống bằng cách nhập id và mật khẩu hợp lệ.
● Khách hàng đăng nhập vào hệ thống bằng cách Google Account hợp lệ.
3. Giỏ hàng:
● Khách hàng sau đăng nhập hoặc đăng ký có thể thay đổi giỏ hàng , đặt hàng, hủy đơn
đặt hàng từ giỏ hàng, đặt hàng thành công đi tới màn hình thông báo đặt hàng thành
công.
4. Thanh toán:
● Hệ thống cho phép thanh toán bằng tiền mặt, ví, thẻ tín dụng
5. Đăng xuất:
● Sau khi đặt hàng hoặc lướt qua sản phẩm khác hàng phải đăng xuất.
6. Tạo báo cáo
● Sau khi đặt mua sản phẩm, hệ thống sẽ gửi một bản sao của hóa đơn đến địa chỉ email
của khách hàng và một địa chỉ khác cho cơ sở dữ liệu hệ thống.
PAGE 2

YÊU CẦU THỰC HIỆN


- Từ 4-7 người/nhóm
Trong phạm vi đề tài này yêu cầu nhóm:
Y1. Thảo luận và Đánh giá đề tài
Dựa trên yêu cầu đề tài nhóm hãy thảo luận, đánh giá và thực hiện
những nhiệm vụ sau:
a) Xác định nhiệm vụ chính để Lập kế hoạch kiểm thử (Bài 1:
Nhiệm vụ chính Lập kế hoạch kiểm thử).
- Kiểm tra chức năng đăng ký:
+ Đảm bảo rằng khách hàng có thể đăng ký bằng email hoặc tài khoản Google, và có
thể chỉnh sửa thông tin tài khoản của họ.
- Kiểm tra chức năng đăng nhập:
+ Đảm bảo rằng khách hàng có thể đăng nhập bằng id và mật khẩu hoặc tài khoản
Google hợp lệ.
+ Đảm bảo rằng hệ thống sẽ xác minh đúng thông tin đăng nhập trước khi cung cấp
quyền truy cập cho khách hàng.
- Kiểm tra chức năng giỏ hàng:
Đảm bảo rằng khách hàng có thể thay đổi giỏ hàng, đặt hàng, hủy đơn đặt hàng và đặt
hàng thành công một cách chính xác.
Đảm bảo rằng hệ thống sẽ hiển thị thông tin giỏ hàng và đơn hàng một cách đầy đủ và
chính xác.
- Kiểm tra chức năng thanh toán:
Đảm bảo rằng khách hàng có thể thanh toán bằng tiền mặt, ví, hoặc thẻ tín dụng một
cách chính xác và đảm bảo tính bảo mật thông tin thanh toán.
- Kiểm tra chức năng đăng xuất:
Đảm bảo rằng khách hàng có thể đăng xuất sau khi đặt hàng hoặc không đặt hàng.
- Kiểm tra chức năng tạo báo cáo:
Đảm bảo rằng hệ thống có thể gửi một bản sao của hóa đơn đến địa chỉ email của
khách hàng và cơ sở dữ liệu hệ thống một cách chính xác. Đảm bảo rằng các thông tin
trong báo cáo được cập nhật và chính xác.

b) Đưa ra các mức kiểm thử cần thực hiện kiểm tra.
- Kiểm thử đơn vị (Unit Testing):
+ Do Dev thực hiện trong quá trình code.
- Kiểm thử tích hợp (Integration Testing):
+ Dùng phương pháp BigBang: Đăng ký, Đăng nhập, Giỏ hàng, Thanh toán, Tạo báo
cáo.
- Kiểm thử hệ thống (System Testing):
+ Kiểm thử chức năng: Giỏ hàng, Thanh toán, Đăng xuất.
PAGE 2

- Kiểm thử bảo mật: Đăng ký, Đăng nhập.

c) Sử dụng template để thiết lập file Kế hoạch kiểm thử, TestCase.

d) Mỗi thành viên trong nhóm phải tạo một tài khoản Jira. Trường
nhóm thực hiện tạo Project và invite các thành viên (Vui lòng
xem video hướng dẫn tạo tài khoản Jira trong thư mục
Template).

Y2. Xây dựng kế hoạch kiểm thử


Dựa trên mẫu Test Plan và yêu cầu cụ thể cho đề tài, hãy soạn ra một
kế hoạch kiểm thử cho nhóm sao cho kế hoạch này thể hiện được các mục
chính sau:
a) Mục đích và phạm vi kiểm tra
1 Mục đích kiểm tra:
PAGE 2

- Phần mềm phải chạy được tất cả những chức năng và độ ổn định đến
80%, loại bỏ được một số lỗi liên quan đến ảnh hưởng, mất mát của.
- Mức độ yêu cầu:
+ Mức thấp: đăng ký, đăng xuất.
+ Mức cao: đăng nhập, giỏ hàng, thanh toán, thống kê.
2. Phạm vi:
- Loại ứng dụng thương mại điện tử.
- Phần mềm chạy trên cơ sở dữ liệu của nền tảng web như Cốc Cốc,
Chrome, Microsoft,...
- Các chức năng chính cần kiểm thử đăng ký, đăng nhập, giỏ hàng,
thanh toán, đăng xuất, thống kê.

b) Định hướng cho kế hoạch


- Sử dụng kiểm thử tích hợp và kiểm thử hệ thống.
c) Các chức năng cần kiểm tra và không kiểm tra
Những chức năng cần được kiểm thử:
1. Đăng ký
- Kiểm tra chức năng đăng ký với một trong số các lựa chọn:
+ Bằng gmail
+ Bằng Google
+ Chỉnh sửa được thông tin
2. Đăng nhập
+ Cho phép người dung đăng nhập vào trang web khi có tài khoản và nhập
đúng thông tin đăng nhập và password
3. Giỏ hàng lưu giữ sản phẩm
- Trong mục giỏ hàng, lưu giữ thông tin sản phẩm mà người dùng muốn
mua và hiện thị các thông tin sau:
+Tên sản phẩm
+Giá sản phẩm
+Nút thanh toán
+Tổng tiền
+Nút xóa sản phẩm
4. Chức năng thanh toán
- Chức năng cho phép thanh toán các sản phẩm trong giỏ hàng.
- Hiển thị đầy đủ các thông tin như
+ Phương thức thanh toán
PAGE 2

+ Tổng tiền
+ Các sản phẩm cần thanh toán
5. Chức năng đăng xuất
- Chứ năng cho phép người dùng đăng xuất khỏi tài khoản trang web.
Những yêu cầu phi chức năng:
- Hệ thống chạy ổn định trên nhiều trình duyệt khác nhau: IE8, Firefox,
Chrome, Safari,
- Không treo trang, các trang không chứa link chết, link hỏng
- Màn hình hiển thị không bị vỡ, tương thích với nhiều loại màn hình khác
nhau
(responsive).

d) Định nghĩa vai trò cho từng cá nhân trong nhóm


Thành viên Vai trò
Nguyễn Duy Linh - Test Manager / Test Designer /
Tester:
+ Lập kế hoạch kiểm thử,
+ Quản lý tiến độ hoạt động kiểm
thử,
+ Thiết kế các testcase bổ sung,
thanh toán, gửi hóa đơn và thực thi
các testcase bổ sung.

Sầm Việt Hoàng Linh - Test Designer / Tester:


+ Thiết kế và viết các testcase,
+ Quản lý tiến độ hoạt động kiểm
thử,

+ Thực thi các testcase cho chức


năng đăng nhập, đăng xuất trên
trang web.

Đào Văn Tú - Test Designer / Tester:


+ Thiết kế và viết các testcase
PAGE 2

cho 2 chức năng thành toán và gửi


hóa đơn
+ Thiết kế và viết các testcase

Dương Mạnh Hùng - Test Designer / Tester:


+ Thiết kế và viết các testcase
+ Thực thi các testcase cho chức
năng đăng ký và tạo tài khoản

e) Các môi trường kiểm tra


Môi trường kiểm thử:
+ Máy tính cá nhân có kết nối mạng Internet để có thể truy cập vào trang
web mua sắm online bằng trình duyệt.
+ Các chức năng của trang web shoppingonline được kiểm tra trên các trình
duyệt IE8, Mozilla, Firefox 12.0 và Google Chrome.

f) Các công cụ kiểm tra (test tools)


- Các công cụ quản lí: excel, jira.
- Sử dụng các phần mềm nguồn mở: jacoco,…

g) Bảng phân công chi tiết


Nhiệm vụ Thời gian Ngày bắt Ngày kết Người thực
đầu thúc hiện
Kiểm thử 10 ngày Mạnh Hùng
chức năng
đăng ký
Kiểm thử 10 ngày Hoàng Linh
chức năng
đăng nhập
Kiểm thử 10 ngày Hoàng Linh
chức năng
đăng xuất
Kiểm thử 10 ngày Văn Tú
chức năng
giỏ hàng
PAGE 2

Kiểm tra 10 ngày Văn Tú


chức năng
thanh toán
Kiểm tra 10 ngày Hoàng Linh,
báo cáo Duy
Linh,Mạnh
Hùng
Kiểm tra sơ 2 ngày Duy Linh
bộ

h) Điều kiện để ngừng việc kiểm tra


- Điều kiện ngừng việc kiểm thử:
+ Tất cả các tính năng đã được kiểm thử và hoàn thành
+ Tất cả các yêu cầu của khách hàng đã được đáp ứng
+ Tất cả các báo cáo đã được gửi đến khách hàng và cơ sở dữ liệu hệ
thống đã được cập nhật
+ Tất cả các tài liệu tài liệu hướng dẫn sử dụng đã được hoàn thành và
cập nhật.

i) Các hạng mục sẽ được giao cho khách hàng vào giai đoạn cuối
- Các hạn mục sẽ giao cho khách hàng:
+ Tài liệu tả tổng quan về hệ thống mua sắm trực tuyến, các chức năng
cơ bản của hệ thống.
+ Mô tả chi tiết về quá trình kiểm thử, các lỗi đã tìm thấy và cách sửa
chữa chúng.
+ Thông tin về hỗ trợ kỹ thuật cho khách hàng trong quá trình sử dụng
hệ thống.

j) Bạn có đề nghị gì thêm để kế hoạch này được hoàn hảo hơn?


(điểm số mục này sẽ là điểm thưởng nếu các bạn sinh viên hoàn
tất đầy đủ các mục trên)

Y3. Thiết kế Testcase

-Xác định mục tiêu kiểm tra: Điều này bao gồm việc xác định rõ ràng những gì bạn
muốn kiểm tra trong phần mềm.
PAGE 2

-Phân tích yêu cầu: Xác định các yêu cầu cụ thể và các kịch bản mà phần mềm cần
thỏa mãn.
-Tạo ra các bộ kiểm thử: Sử dụng thông tin từ bước 1 và bước 2, bạn sẽ tạo ra các bộ
kiểm thử (Testcase) mà mỗi bộ sẽ kiểm tra một phần cụ thể của tính năng hoặc chức
năng.
-Xác định dữ liệu kiểm thử: Điều này bao gồm xác định dữ liệu cần thiết để kiểm tra
mỗi bước của Testcase.
-Thiết lập môi trường kiểm thử: Đảm bảo môi trường kiểm thử được cấu hình đúng
để thực hiện các Testcase.
-Thực thi Testcase: Chạy các bộ kiểm thử đã tạo và ghi lại kết quả.
-So sánh kết quả: So sánh kết quả của Testcase với kỳ vọng đã định trước để xác định
xem tính năng hoặc chức năng đã được triển khai đúng cách hay không.
-Báo cáo và theo dõi: Tạo báo cáo về kết quả của kiểm thử và theo dõi bất kỳ vấn đề
nào được phát hiện để có thể sửa chữa.

Thiết kế Testcase giúp đảm bảo rằng tính năng hoặc chức năng của phần mềm
hoạt động đúng cách và đáp ứng được các yêu cầu cụ thể của người dùng.

Y4. Tiến hành kiểm tra phần mềm dựa và Testcase đã soạn và thông
báo các lỗi tìm được khi thực thi kiểm tra chương trình và cập nhật
tình trạng (Passed/Failed) vào bộ test cases.

-Chuẩn bị môi trường kiểm thử: Đảm bảo rằng môi trường kiểm thử đã được chuẩn bị
đúng cách, bao gồm cài đặt phần mềm cần thiết và các dữ liệu kiểm thử.
-Thực thi Testcase: Chạy các bộ kiểm thử một cách tuần tự hoặc tự động theo thứ tự đã
xác định trong danh sách Testcase.
Ghi lại kết quả: Ghi lại kết quả của mỗi bộ kiểm thử, bao gồm nếu nó đã chạy thành công
(Passed) hoặc thất bại (Failed). Đảm bảo ghi chính xác thông tin về các lỗi phát hiện được.
-Báo cáo lỗi: Nếu một Testcase thất bại, ghi chính xác thông tin về lỗi cụ thể mà bạn gặp
phải, bao gồm mô tả lỗi, các bước để tái tạo lỗi và thông tin môi trường.
-Cập nhật tình trạng Testcase: Dựa trên kết quả kiểm tra, cập nhật tình trạng của mỗi
Testcase trong bộ kiểm thử. Đánh dấu Testcase là Passed nếu nó chạy thành công hoặc
Failed nếu có bất kỳ lỗi nào được phát hiện.
-Xử lý các lỗi phát hiện: Đối với các Testcase thất bại, bạn cần xác định nguyên nhân của
lỗi và thông báo cho nhóm phát triển để sửa chữa. Lưu trữ thông tin chi tiết về các lỗi để dễ
dàng theo dõi và giải quyết.
-Tạo báo cáo kiểm thử: Tạo báo cáo tổng quan về kết quả của quá trình kiểm thử, bao
gồm số lượng Testcase Passed, số lượng Testcase Failed và các lỗi phát hiện được. Báo cáo
PAGE 2

này có thể cung cấp thông tin quan trọng cho nhóm phát triển để cải thiện chất lượng phần
mềm.

Y5. Bug được quản lý trên tools Jira


HƯỚNG DẪN THỰC HIỆN
Phần 1: Đăng ký
1. Kiểm tra chức năng Tạo account mới.
2. Kiểm tra chức năng Chỉnh sửa account (Thay đổi tên, đổi mật khẩu).
Phần 2: Đăng Nhập
1. Kiểm tra các chức năng đăng nhập bằng account thông thường.
2. Kiểm tra chức năng đăng nhập bằng social account Google.
Phần 3: Giỏ hàng
1. Kiểm chức năng thêm/sửa/xóa giỏ hàng.
2. Kiểm tra chức năng đặt hàng.
3. Kiểm tra chức năng hủy đặt hàng.
4. Kiểm tra đặt hàng thành công.

Phần 4: Thanh Toán


1. Kiểm chức năng thanh toán bằng Tiền mặt.
2. Kiểm tra chức năng thanh toán bằng Ví điện tử (ZaloPay , MoMo).
3. Kiểm tra chức năng thanh toán bằng tài thẻ tín dụng.

Phần 5: Đăng Xuất


1. Kiểm tra chức năng đăng xuất

Phần 6: Tạo báo cáo


1. Kiểm tra chức năng xuất Excel báo cáo
2. Kiểm tra chức năng gửi báo cáo qua email.

MÔ TẢ SẢN PHẨM PHẢI NỘP


Đóng gói tất cả theo định dạng <Tên nhóm>_ Mã Môn_Assignment.zip (ví
dụ:Nhom1_SOF3031_Assignment.zip)
Nộp bài lên LMS theo yêu cầu của giảng viên
THANG ĐÁNH GIÁ
PAGE 2

- Hoàn thành các yêu cầu từ Y1 đến Y5


A - Nhóm bảo vệ trả lời được các câu hỏi của giảng viên
(70%‐100%)

B - Hoàn thành các yêu cầu từ Y1 đến Y3


60%‐69% - Nhóm bảo vệ trả lời được các câu hỏi của giảng viên
(đáp ứng phong cách thiết kế)

- Hoàn thành các yêu cầu từ Y1 đến Y2


C
- Nhóm bảo vệ trả lời tương đối các câu hỏi của giảng viên
50%‐59%

TRƯỢT - Hoàn thành dưới 02 yêu cầu

(< 50%) - Nhóm bảo vệ không trả lời được câu hỏi của giảng viên
(không đáp ứng yêu cầu nộp
bài)

You might also like