You are on page 1of 189

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

BÀI TẬP LỚN


QUẢN LÝ DỰ ÁN BẰNG CÔNG CỤ REDMINE

NGÀNH: CÔNG NGHỆ THÔNG TIN


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

SINH VIÊN: BÙI THỊ HỒNG HẠNH


MÃ LỚP: 101196
HƯỚNG DẪN: Th.S NGÔ THANH HUYỀN

HƯNG YÊN - 2021


NHẬN XÉT

Nhận xét của giảng viên hướng dẫn:


.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
GIẢNG VIÊN HƯỚNG DẪN

(Ký và ghi rõ họ tên)

2
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

LỜI CAM ĐOAN

Em xin cam đoan bài tập lớp môn Kiểm thử và Đảm bào chất lượng phần
mềm có tên “Quản lý dự án bằng công cụ Redmine.” là sản phẩm của bản thân.
Những phần sử dụng tài liệu tham khảo trong bài tập lớn đã được nêu rõ trong phần
tài liệu tham khảo. Các số liệu, kết quả trình bày trong bài tập lớn là hoàn toàn trung
thực, nếu sai em xin chịu hoàn toàn trách nhiệm và chịu mọi kỷ luật của bộ môn và
nhà trường đề ra.
Hưng Yên, ngày 11 tháng 12 năm 2021
Sinh viên

Hạnh
Bùi Thị Hồng Hạnh

3
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

LỜI CẢM ƠN

Để có thể hoàn thành đồ án này, đầu tiên em xin phép gửi lời cảm ơn tới bộ
môn Công nghệ phần mềm, Khoa Công nghệ thông tin - Trường Đại học Sư phạm
Kỹ thuật Hưng Yên đã tạo điều kiện thuận lợi cho em thực hiện đồ án môn học này.
Đặc biệt em xin chân thành cảm ơn thầy/cô Ngô Thanh Huyền đã rất tận tình
hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện bài tập lớn vừa qua.
Em cũng xin chân thành cảm ơn tất cả các Thầy, các Cô trong Trường đã tận
tình giảng dạy, trang bị cho em những kiến thức cần thiết, quý báu để giúp em thực
hiện được đồ án này.
Mặc dù em đã có cố gắng, nhưng với kiến thức còn hạn chế, trong quá trình
thực hiện đề tài không tránh khỏi những thiếu sót. Em hi vọng sẽ nhận được những
ý kiến nhận xét, góp ý của các Thầy giáo, Cô giáo về những kết quả triển khai trong
đồ án.
Em xin trân trọng cảm ơn!

4
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

MỤC LỤC

NHẬN XÉT.............................................................................................................2

Nhận xét của giảng viên hướng dẫn:.......................................................................2

MỤC LỤC..................................................................................................................5

DANH MỤC CÁC THUẬT NGỮ.............................................................................7

DANH MỤC CÁC BẢNG.........................................................................................8

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ.....................................................................9

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI...........................................................11

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

1.2 Mục tiêu của đề tài...........................................................................................11

1.3 Giới hạn và phạm vi của đề tài........................................................................12

1.4 Nội dung thực hiện..........................................................................................12

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

2.1 Kiểm thử phần mềm........................................................................................14

2.2 Đảm bảo chất lượng phần mềm.......................................................................33

CHƯƠNG 3: NỘI DUNG THỰC HIỆN.............................................................37

3.1 Giới thiệu chung..............................................................................................37

3.2 Nội dung..........................................................................................................38

3.3 Cài đặt công cụ................................................................................................47

3.5 Áp dụng vào dự án...........................................................................................79

CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC..............................................................185

4.1 Quản lý lỗi.....................................................................................................185

4.2 Báo cáo lỗi.....................................................................................................186

4.3: Quản lý dự án...............................................................................................186

5
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

KẾT LUẬN.............................................................................................................189

TÀI LIỆU THAM KHẢO......................................................................................190

6
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

DANH MỤC CÁC THUẬT NGỮ

STT Từ viết tắt Cụm từ tiếng anh Diễn giải


1 SRS Software Requirement Đặc tả yêu cầu phần mềm
Specification
2 PM Project Manager
3 QA Quality Assurance
4 Dev Developer

7
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

DANH MỤC CÁC BẢNG

Bảng 3. 1: Các vai trò trong hệ thống.......................................................................39


Bảng 3. 2: Định nghĩa Tracker trong hệ thống.........................................................40
Bảng 3. 3: Các trạng thái của issue...........................................................................41
Bảng 3. 4: Mức độ nghiêm trọng của lỗi..................................................................45
Bảng 3. 5: Mức độ ưu tiên của lỗi.............................................................................46
Bảng 3. 6: Test case chức năng Đăng nhập..............................................................94
Bảng 3. 7: Test case chức năng Đăng ký................................................................107
Bảng 3. 8: Test case chức năng quản lý thông tin khách hàng...............................120
Bảng 3. 9: Test case quản lý loại xe........................................................................131
Bảng 3. 10: Test case quản lý sản phẩm.................................................................180
Bảng 3. 11: Test case giao diện..............................................................................184

8
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 2. 1: Vòng đời kiểm thử...................................................................................16


Hình 2. 2: Các loại kiểm thử phần mềm...................................................................21
Hình 2. 3: Các mức kiểm thử phần mềm..................................................................23
Hình 2. 4: Các tiêu chí đảm bảo chất lượng phần mềm...................................................................34

Hình 3. 1: Quy trình quản lý lỗi................................................................................42


Hình 3. 2: Login........................................................................................................56
Hình 3. 3: Đăng ký tài khoản....................................................................................56
Hình 3. 4: Đăng ký tài khoản và đợi được phê duyệt...............................................57
Hình 3. 5: Quản lý user.............................................................................................57
Hình 3. 6: Tạo Project mới........................................................................................58
Hình 3. 7: Thêm thành viên vào dự án......................................................................59
Hình 3. 8: Chỉnh sửa, xoá user..................................................................................60
Hình 3. 9: Phiên bản dự án........................................................................................60
Hình 3. 10: Thiết lập phiên bản mới.........................................................................61
Hình 3. 11: Danh mục nhóm chức năng, công việc..................................................62
Hình 3. 12: Tạo new category...................................................................................62
Hình 3. 13: Tạo issue................................................................................................63
Hình 3. 14: Lọc và tìm kiếm issue............................................................................65
Hình 3. 15: Thêm điều kiện tìm kiếm.......................................................................66
Hình 3. 16: Thay đổi các trường trong danh sách issue............................................67
Hình 3. 17: Chỉnh sửa, cập nhật issue(1)..................................................................68
Hình 3. 18: Chỉnh sửa, cập nhật issue(2)..................................................................69
Hình 3. 19: Tổng hợp, thống kê issue.......................................................................69
Hình 3. 20: Báo cáo issue(1).....................................................................................70
Hình 3. 21: Báo cáo issues(2)...................................................................................71
Hình 3. 22: Báo cáo issue(3).....................................................................................72

9
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 23: Kết xuất báo cáo....................................................................................73


Hình 3. 24: Quản lý tài liệu.......................................................................................73
Hình 3. 25: Thêm tài liệu..........................................................................................74
Hình 3. 26: Roadmap................................................................................................75
Hình 3. 27: Gantt chart..............................................................................................76
Hình 3. 28: Calendar.................................................................................................77
Hình 3. 29: News......................................................................................................78
Hình 3. 30: Forums...................................................................................................78
Hình 3. 31: Kiểm soát công việc hằng ngày.............................................................79
Hình 3. 32: Thiết kế kiểm thử tổng quan hệ thống...................................................80
Hình 3. 33: Thiết kế kiểm thử chức năng Đăng nhập...............................................81
Hình 3. 34: Thiết kế kiểm thử chức năng Đăng ký...................................................82
Hình 3. 35: Thiết kế kiểm thử chức năng Thông tin khách hàng.............................83
Hình 3. 36: Thiết kế kiểm thử chức năng Quản lý loại xe........................................84
Hình 3. 37: Thiết kế kiểm thử chức năng Thêm sản phẩm.......................................85
Hình 3. 38: Thiết kế kiểm thử chức năng sửa, xoá, tìm kiếm...................................86
Hình 3. 39: Thiết kế kiểm thử giao diện..................................................................86
Hình 3. 40: Thiết kế kiểm thử hiệu năng..................................................................87
Hình 3. 41: Thiết kế kiểm thử bảo mật.....................................................................87
Hình 3. 42: Thiết kế kiểm thử tính khả dụng...................................................................................88

Hình 4. 1: Chi tiết của một issue.............................................................................186


Hình 4. 2: Test report..............................................................................................186
Hình 4. 3: Các hoạt động, báo cáo, issue................................................................188

10
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI


1.1 Lý do chọn đề tài

Để phát triển một sản phẩm phần mềm, chúng ta có những công đoạn như
lập kế hoạch, lấy yêu cầu, phân tích yêu cầu, thiết kế hệ thống, phát triển, kiểm thử,
triển khai và bảo trì. Với một sản phẩm phần mềm sẽ có nhiều phiên bản, với mỗi
phiên bản của sản phẩm sẽ có những tính năng nhất định. Ngoài ra trong quá trình
phát triển và release một phiên bản, sản phẩm sẽ có các lỗi do team kiểm thử bắt
được hoặc do khách hàng phát hiện.

Trong quá trình thực hiện các công việc của dự án, chúng ta cần thực cần
một hệ thống để ghi lại các tính năng sản phẩm, ghi lại các lỗi của sản phẩm. Việc
ghi lại thông tin công việc, các vấn đề dự án sẽ giúp cho chúng ta kiểm soát dự án
nếu như có yêu cầu thay đổi và hỗ trợ cho các team dự án khác rút kinh nghiệm từ
việc khai thác dữ liệu lịch sử. Nên, việc lựa chọn sửa dụng công cụ Redmine cho dự
án là một sự lựa chọn đúng đắn.

Vì Redmine là một công cụ quản lý vấn đề (issue) dựa trên nền tảng web, có
thể áp dụng thực hiện các chức năng quản lý các loại vấn đề: nhiệm vụ , lỗi, yêu cầu
hỗ trợ, .. của dự án một cách cơ bản. Redmine có ưu thế trong quản lý dự án là đáp
ứng sẵn sàng những nội dung được quan tâm cho các vai trò từ quản lý dự án tới các
thành viên trong dự án và các cá nhân/ nhóm/ bộ phận liên quan khác.
1.2 Mục tiêu của đề tài
1.2.1 Mục tiêu tổng quát
Quản lý dự án bằng công cụ Redmine
1.2.2 Mục tiêu cụ thể

Sử dụng hệ thống quản lý dự án “bán xe máy trên website của cửa hàng MY
HONDA”, theo dõi issue trên Redmine.

Quản lý các chức năng:

- Đăng nhập

11
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

- Đăng ký

- Thông tin khách hàng

- Quản lý sản phẩm

- Quản lý nhà cung cấp

- Quản lý loại xe

- Quản lý giỏ hàng

- Quản lý đặt hàng


1.3 Giới hạn và phạm vi của đề tài
1.3.1 Đối tượng nghiên cứu
Đối tượng nghiên cứu: website bán xe máy MY HONDA
1.3.2 Phạm vi nghiên cứu

Áp dụng cho tất cả các dự án trong nội bộ công ty, nhà trường...

Áp dụng cho các dự án khách hàng yêu cầu sử dụng hệ thống theo dõi và
kiểm soát công việc, lỗi phần mềm.

Ý nghĩa khoa học và thực tiễn của đề tài :

- Quản lý các loại vấn đề: nhiệm vụ , lỗi, yêu cầu hỗ trợ, .. của dự án một
cách cơ bản.

- Hỗ trợ làm việc nhóm, nâng cao hiệu quả, trình độ teamwork.
1.4 Nội dung thực hiện

Cần cài đặt công cụ quản lý lỗi

Biết cách sử dụng công cụ

Thực hiện kiểm thử website

Quản lý dự án, issue

12
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Sau khi bàn bạc và thống nhất trong nhóm thì công việc của em đảm nhiệm
là quản lý website bán xe máy MY HONDA:

- Đăng nhập

- Đăng ký

- Thông tin khách hàng

- Quản lý loại xe

- Quản lý sản phẩm

13
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Kiểm thử phần mềm

2.1.1 Giới thiệu về kiểm thử phần mềm

Khái niệm về kiểm thử phần mềm:

Kiểm thử phần mềm: là quá trình thực hiện hoặc đánh giá một hệ thống phần
mềm hoặc thành phần hệ thống bằng phương pháp thủ công hoặc tự động để xác
minh rằng nó đáp ứng các yêu cầu cụ thể (IEEE).

Kiểm thử phần mềm: là quá trình bao gồm tất cả các hoạt động của vòng đời
phần mềm, cả tĩnh và động, liên quan đến lập kế hoạch, chuẩn bị và đánh giá sản
phẩm phần mềm và các sản phẩm làm việc liên quan để xác định rằng chúng đáp
ứng các yêu cầu cụ thể để chứng minh rằng chúng phù hợp với mục đích và phát
hiện các lỗi (ISTQB glossary)

 Mục đích của kiểm thử phần mềm:

- Tìm được lỗi phần mềm

- Đạt được sự tin cậy về mức độ chất lượng

- Cung cấp các thông tin để đưa ra quyết định

- Ngăn ngừa lỗi

- Liên tục cải tiến quy trình kiểm thử

 Các mục tiêu chính của kiểm thử phần mềm :

Phát hiện càng nhiều lỗi càng tốt trong thời gian kiểm thử xác định trước.

Chứng minh rằng sản phẩm phần mềm phù hợp với các đặc tả yêu cầu của
nó.

Xác thực chất lượng kiểm thử phần mềm đã dùng chi phí và nỗ lực tối thiểu.

14
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Tạo các testcase chất lượng cao, thực hiện kiểm thử hiệu quả và tạo ra các
báo cáo vấn đề đúng và hữu dụng.

 Vai trò của kiểm thử phần mềm:

Để có thể tạo ra một sản phẩm phần mềm hoàn chỉnh về mặt hình thức và
chức năng, các nhà phát triển phải chia quá trình xây dựng ra làm nhiều giai đoạn
xây dựng, và việc phân chia này được gọi là qui trình phát triển phần mềm. Bắt đầu
từ khi bắt đầu có ý tưởng cho đến khi đưa hoàn thành một sản phẩm phần mềm.
Khối lượng và chất lượng công việc trong các giai đoạn phát triển phần mềm cũng
có sự thay đổi theo thời gian.

Như vậy, đằng sau một sản phẩm phần mềm cung cấp cho khách hàng, có
nhiều hơn những thứ ta tưởng tượng. Không chỉ đơn giản là các đoạn code lập trình
mà còn rất nhiều công viêc ẩn đằng sau nó.

Trong quá trình làm phần mềm qua từng giai đoạn, việc mắc lỗi không chỉ
xảy ra trong khi lập trình mà còn xảy ra cao hơn trong các công đoạn khác của qui
trình phát triển một sản phẩm phần mềm. Việc kiểm thử cũng vì thế phải được tiến
hành trong tất cả các phần tạo nên một sản phẩm phần mềm.

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

Quy trình kiểm thử phần mềm – Software testing life cycle( STLC) xác định
các giai đoạn (pha) trong kiểm thử phần mềm, nhằm hướng đến mục tiêu cuối cùng
là chất lượng sản phẩm tốt nhất và đáp ứng yêu cầu của khách hàng.

 Mục đích của quy trình kiểm thử phần mềm:

- Làm rõ vai trò và trách nhiệm của việc kiểm thử phần mềm

- Làm rõ các công đoạn, các bước kiểm thử

- Hiểu và phân biệt các tính chất kiểm thử (tại sao phải kiểm thử), các bước
kiểm thử (khi nào kiểm thử), và các kỹ thuật kiểm thử (kiểm thử bằng cách nào).

Các tính chất của quy trình kiểm thử tốt:

15
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

- Cần có một mức độ kiểm thử cho mỗi công đoạn phát triển phần mềm.

- Các mục tiêu kiểm thử sẽ bị thay đổi, mỗi mức kiểm thử nên có các mục
tiêu đặc thù của mình.

- Việc phân tích và thiết kế testcase cho 1 mức độ kiểm thử nên bắt đầu sớm
nhất có thể có.

- Các tester nên xem xét các tài liệu sớm như có thể có, ngay sau khi các tài
liệu này được tạo ra trong chu kỳ phát triển phần mềm.

- Số lượng và cường độ của các mức kiểm thử được điều khiển theo các yêu
cầu đặc thù của project phần mềm đó.

Về cơ bản quy trình kiểm thử bao gồm 6 giai đoạn và được thực hiện theo
các bước như sau:

Hình 2. 1: Vòng đời kiểm thử

 Bước 1: Lập kế hoạch và kiểm soát việc kiểm thử

Mục đích: Nhằm chỉ định và mô tả các loại kiểm tra sẽ được triển khai và
thực hiện. Được chia làm 2 hoạt động:

Thứ nhất: Lập kế hoạch kiểm thử:

16
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

- Xác định phạm vi, rủi ro cũng như mục đích của hoạt động kiểm thử

- Xác định các cách tiếp cận kiểm thử

- Xác định chiến lược kiểm thử. Chiến lược kiểm thử mô tả các thành phần
kiểm thử cần có trong một chu kỳ phát triển phần mềm chẳng hạn như: các mục tiêu
kiểm thử, các phương pháp kiểm thử, tổng thời gian và nguồn lực yêu cầu cho các
dự án cũng như các môi trường test. (Lưu ý: Chiến lược kiểm thử thường được tạo
ra bởi PM, TL)

- Xác định các nguồn lực cần có cho kiểm thử như: nhân lực, phần cứng,
phần mềm, môi trường test v.v

- Lên lịch cho các hoạt động phân tích và thiết kế các trường hợp kiểm thử,
thực thi kiểm thử cũng như đánh giá kết quả kiểm thử.

- Xác định các tiêu chí kết thúc việc kiểm thử (exit criteria) chẳng hạn như tỉ
lệ độ bao phủ của test case, số lượng bug tìm được, độ nghiêm trọng của những con
bug tìm được. Bên dưới là 1 ví dụ cơ bản cho tiêu chí kết thúc kiểm thử:

- 100% độ bao phủ statement (statement coverage)

- 100% độ bao phủ yêu cầu (requirement coverage)

- 100% các trường hợp kiểm thử được thực thi

- 100% các lỗi nghiêm trọng được fixed

- 80% các lỗi ít nghiêm trọng (low-medium) được fixed

- Hết hạn kiểm thử

- Hết budget

Thứ hai: Kiểm soát kiểm thử:

- Đo lường và phân tích các kết quả của hoạt động kiểm thử

- Theo dõi và ghi lại tiến độ, độ bao phủ cũng như các tiêu chí kết thúc kiểm
thử

- Cung cấp thông tin về kiểm thử

17
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

- Tiến hành các hành động khắc phục nếu cần thiết.

- Đưa ra quyết định.

 Bước 2: Phân tích và Thiết kế

Mục đích: Nhằm chỉ định các test case và các bước kiểm tra chi tiết cho mỗi
phiên PM.

Hoạt động phân tích và thiết kế kiểm thử có các nhiệm vụ chủ yếu sau đây:

- Rà soát các yêu cầu cần thiết trước khi tiến hành kiểm thử như tài liệu đặc
tả, tài liệu thiết kế, tài liệu giao diện, v.v

- Xác định các điều kiện kiểm thử

- Thiết kế test case

- Đánh giá tính khả thi trong việc kiểm thử của yêu cầu cũng như của hệ
thống.

- Chuẩn bị môi trường test cũng như xác định các yêu cầu về cơ sở hạ tầng
và các công cụ kiểm thử tương ứng.

Giai đoạn thiết kế test là hết sức quan trọng, nó đảm bảo tất cả các tình
huống kiểm tra hết tất cả các yêu cầu

 Bước 3: Thực thi test

Mục đích: Thực hiện các bước kiểm tra đã thiết kế và ghi nhận kết quả. Chia
thành 2 hoạt động chính là: thực hiện test và chạy test

Thứ nhất: Việc thực hiện test có nhiệm vụ chủ yếu sau đây:

- Chuẩn bị test data

- Thiết kế và phân loại các trường hợp kiểm thử dựa theo độ ưu tiên của từng
trường hợp kiểm thử

- Tự động hóa cho các trường hợp kiểm thử nếu thấy cần thiết

Thứ hai: Hoạt động chạy test có nhiệm vụ chủ yếu sau đây:

18
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

- Chạy các test case theo các bước đã định ra trước đó

- Chạy lại các case bị failed trước đó để xác nhận là case đó đã được sửa

- So sánh kết quả ghi nhận được khi thực thi với kết quả mong đợi

- Đánh giá kết quả kiểm thử (Passed/Failed) cho các trường hợp kiểm thử

- Viết báo cáo lỗi cho những trường hợp kết quả ghi nhận được và kết quả
mong đợi không giống nhau

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 hoá việc thực thi các bước kiểm tra đã định nghĩa ở các
bước thiết kế test

 Bước 4: Đánh giá kết quả thực thi và báo cáo kết quả

Mục đích: Đá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 lỗi, chỉ định các yêu cầu thay đổi và tính toán số liệu liên quan, đến
quá trình kiểm tra.

Các tiêu chí đánh giá kết quả thực thi này 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

- Khi đến deadline

Việc kiểm thử chỉ kết thúc khi:

- Đối chiếu kết quả thực thi test case so với các tiêu chí kết thúc kiểm thử
được định ra trong lúc lập kế hoạch kiểm thử

- Từ đó, đánh giá xem liệu có cần phải test thêm hay điều chỉnh các tiêu chí
kết thúc kiểm thử trong bản kế hoạch.

- Viết báo cáo tóm tắt hoạt động kiểm thử cũng như kết quả kiểm thử cho các
bên liên quan.

 Bước 5: Đóng hoạt động kiểm thử

19
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Mục đích: Kết thúc hoạt động kiểm thử và phần mềm sẵn sàng được giao cho
khách hàng.

Ngoài ra, chúng ta cũng thường kết thúc kiểm thử với một trong những lí do
sau:

- Khi tất cả các thông tin đã được thu thập đầy đủ cho hoạt động kiểm thử

- Khi dự án bị hủy bỏ.

- Khi một mục tiêu nào đó đạt được.

- Khi hoạt động bảo trì hay cập nhật hệ thống hoàn tất.

Hoạt động đóng kiểm thử bao gồm:

- Kiểm tra lại đã giao đầy đủ cho khách hàng những phần đã cam kết từ đầu

- Kiểm tra lại các lỗi nghiêm trọng đã được fix tương ứng

- Đóng gói các tài liệu kiểm thử, kịch bản kiểm thử, môi trường test v.v để
dùng cho những mục đích /dự án sau này

- Đánh giá quá trình kiểm thử cũng như rút ra bài học kinh nghiệm cho
những dự án trong tương lai.

20
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2.1.3 Các loại kiểm thử phần mềm

Hình 2. 2: Các loại kiểm thử phần mềm

a) Kiểm thử chức năng (Functional Testing)


Khái niệm: Kiểm thử chức năng là kiểm tra xem hệ thống có hoạt động theo
đúng theo các yêu cầu nghiệp vụ không? Kiểm thử chức năng được thực hiện ở tất
cả các mức kiểm thử.

Các loại kiểm thử chức năng bao gồm:

- Function testing: kiểm thử chức năng.

- User interface (UI) testing: kiểm thử giao diện người dùng.

- Data and DataBase integrity testing: kiểm thử tính toàn vẹn của dữ liệu và
CSDL.

- Business cycle testing: kiểm thử vòng đời nghiệp vụ.

- Access control testing: kiểm thử kiểm soát truy cập.

b) Kiểm thử phi chức năng (Non- Functional Testing)


Khái niệm: Kiểm thử phi chức năng là các đặc tính chất lượng của hệ thống
sẽ được kiểm tra. Chúng ta quan tâm đến việc mọi thứ hoạt động tốt không? Hay
nhanh như thế nào? Chúng ta sẽ kiểm tra những thứ cần phải đo như thời gian phản

21
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

hồi, hay bao nhiêu người có thể đăng nhập cùng một lúc? Kiểm thử phi chức năng
cũng giống như kiểm thử chức năng được thực hiện ở tất cả các cấp độ kiểm thử.

Các loại kiểm thử phi chức năng:

- Performance testing: Kiểm thử hiệu năng

- Load testing: Kiểm thử chịu tải

- Stress testing: Kiểm thử quá tải

- Volume testing (Capacity testing): Kiểm thử khối lượng

c) Kiểm thử cấu trúc (Structure Testing)


Kiểm thử cấu trúc còn được gọi là kiểm thử hộp trắng vì trong kiểm thử cấu
trúc, chúng ta quan tâm đến những gì đang xảy ra bên trong của ứng dụng.

KTV được yêu cầu phải có kiến thức về triển khai mã lệnh. Cụ thể yêu cầu
KTV hiểu biết về cách thức hoạt động, làm việc của phần mềm.

Hầu hết được thực hiện ở mức độ Unit Test.

d) Kiểm thử xác nhận (Confirmation Testing)

Re-testing được thực hiện để xác định liệu các test case fail trước đó có pass
không sau khi các vấn đề đã được sửa.

e) Kiểm thử hồi quy (Regression Testing)

Kiểm thử hồi quy là kiểm thử được thực hiện để xác minh phần sửa đổi của
phần mềm, để đảm bảo rằng sửa đổi không gây ra lỗi trong các phần khác (kiểm tra
các phản ứng phụ của thay đổi).

Được thực hiện khi:

+ Sau khi phần mềm có sự thay đổi

+ Khi môi trường có sự thay đổi

22
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2.1.4 Các mức kiểm thử phần mềm

 Khái niệm các mức kiểm thử phần mềm:

Một nhóm các hoạt động kiểm thử được tổ chức và quản lý cùng nhau.

Mỗi mức kiểm thử cụ thể là tương ứng với một giai đoạn phát triển phần
mềm (mô hình chữ V).

 4 mức độ kiểm thử:

- Unit testing

- Integration testing

- System testing

- Acceptance testing

Hình 2. 3: Các mức kiểm thử phần mềm

a) Kiểm thử mức đơn vị (Unit Test)

 Khái niệm:

Unit test (Component test): Là hoạt động kiểm tra từng đơn vị thành phần
phần mềm riêng biệt của chương trình

 Đối tượng kiểm thử:

23
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Các thành phần (các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc
các phương thức (Method), các đối tượng (objects)...).

Các module, chương trình.

Chuyển đổi dữ liệu thay đổi chương trình.

 Kiểm thử mức đơn vị bao gồm:

- Kiểm thử chức năng và phi chức năng.

- Các trường hợp kiểm thử bắt nguồn từ các đặc điểm kỹ thuật của thành
phần, thiết kế phần mềm hoặc các mô hình dữ liệu .

- Kiểm thử mức đơn vị thực hiện khi truy cập vào code . Người thực hiện
kiểm thử là lập trình viên viết code.

 Khi nào thực hiện Unit Testing?

Unit testing là mức kiểm thử đầu tiên trong các mức kiểm thử phần mềm. Nó
được thực hiện trước khi Integration Testing.

 Người thực hiện Unit Testing:

Unit Testing thường do lập trình viên thực hiện. Unit test được thực hiện
càng sớm càng tốt trong giai đoạn viết code và xuyên suốt quá trình phát triển phần
mềm.

 Mục đích

- Tăng sự đảm bảo khi có sự thay đổi mã

- Code dễ sử dụng, dễ hiểu, có thể tái sử dụng nhiều hơn

- Phát triển nhanh hơn

- Chi phí sửa lỗi thấp hơn so với các mức kiểm thử giai đoạn sau

- Debug dễ dàng

d) Kiểm thử mức tích hợp (Integration Test)

 Khái niệm:

24
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Kiểm thử tích hợp là một mức của kiểm thử phần mềm kiểm tra một nhóm
các module nhỏ liên quan đến nhau xem chúng có hoạt động đúng chức năng như
trong thiết kế hay không.

Kiểm thử tích hợp được thực hiện để phát hiện các lỗi về giao diện hoặc
trong tương tác giữa các thành phần hoặc hệ thống tích hợp

Kiểm thử tích hợp thành phần: kiểm tra sự tương tác giữa các thành phần với
điều kiện các thành phần đã pass ở phần kiểm thử thành phần trước đó

Kiểm thử tích hợp hệ thống: kiểm tra sự tương tác giữa các hệ thống con
khác nhau và các hệ thống này đã pass ở lần kiểm thử trước đó

 Đối tượng kiểm thử:

- Triển khai cơ sở dữ liệu các hệ thống con.

- Cơ sở hạ tầng ( Infrastructure).

- Giao diện.

 Kiểm thử tích hợp tập trung vào:

- Phát hiện lỗi giao tiếp xảy ra giữa các modules/ components

- Tính năng tích hợp

- Kiến trúc hệ thống

 Khi nào thực hiện Integration Testing

Kiểm thử tích hợp là mức thứ 2 trong các mức kiểm thử phần mềm. Nó được
thực hiện sau Unit Testing và trước System testing.

 Người thực hiện Integration Testing:

Kiểm thử integration có thể được thực hiện bởi developer, một test team
chuyên biệt hay một nhóm chuyên developer/kiểm thử viên tích hợp bao gồm cả
kiểm thử phi chức năng.

 Mục đích

25
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Kiểm tra sự tích hợp 1 nhóm các thành phần riêng lẻ có liên quan xem chúng
có hoạt động đúng như mong đợi hay không.

e) Kiểm thử mức hệ thống (System Test)

 Khái niệm:
Kiểm thử mức hệ thống được định nghĩa là kiểm tra hành vi của hệ thống/
phần mềm theo đặc tả yêu cầu phần mềm.

Tập trung vào hành vi của toàn bộ hệ thống/ sản phẩm được xác định bởi
phạm vi của dự án hoặc sản phẩm phát triển.

 Đối tượng kiểm thử:


- Hệ thống, người dùng và hướng dẫn cách hoạt động.

- Cấu hình hệ thống.

 Kiểm thử hệ thống dựa trên:


- Rủi ro

- SRS

- Quy trình nghiệp vụ, use case

- Tương tác với hệ điều hành, nguồn tài nguyên...

 Khi nào thực hiện System Testing?


Kiểm thử hệ thống là mức kiểm thử thứ 3 trong các mức kiểm thử phần mềm
được thực hiện sau kiểm thử tích hợp và trước kiểm thử chấp nhận.

 Người thực hiện System Testing:


Thông thường, các tester thực hiện kiểm thử hệ thống.

 Mục đích
Mục đích của giai đoạn này là để đánh giá sự hoạt động của hệ thống có
đúng theo như tài liệu đặc tả.

26
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

 Kiểm thử hệ thống bao gồm các loại kiểm thử sau:
- Kiểm thử chức năng (Functional Test): bảo đảm các hành vi của hệ thống
thỏa mãn đúng yêu cầu thiết kế.

- Kiểm thử hiệu năng (Performance Test): bảo đảm tối ưu việc phân bổ tài
nguyên hệ thống (ví dụ bộ nhớ) nhằm đạt các chỉ tiêu như thời gian xử lý hay đáp
ứng câu truy vấn…

- Kiểm thử khả năng chịu tải (Stress Test hay Load Test): bảo đảm hệ thống
vận hành đúng dưới áp lực cao. Stress Test tập trung vào các trạng thái tới hạn, các
tình huống bất thường…

- Kiểm thử cấu hình (Configuration Test)

- Kiểm thử khả năng bảo mật (Security Test): bảo đảm tính toàn vẹn, bảo mật
của dữ liệu và của hệ thống.

- Kiểm thử khả năng phục hồi (Recovery Test): bảo đảm hệ thống có khả
năng khôi phục trạng thái ổn định trước đó trong tình huống mất tài nguyên hoặc dữ
liệu.

f) Kiểm thử chấp nhận sản phẩm (Acceptance Test)

 Khái niệm:

Kiểm thử chấp nhận chính thức liên quan đến yêu cầu và quy trình kinh
doanh để xác định liệu hệ thống có đáp ứng tiêu chí chấp nhận hay không và cho
phép người dùng, khách hàng hoặc tổ chức được ủy quyền khác xác định có chấp
nhận hệ thống hay không.

 Đối tượng kiểm thử:

Các quy trình nghiệp vụ trên hệ thống đã được tích hợp đầy đủ.

Các quy trình vận hành và bảo trì.

Các phương thức người dùng ( User procedures).

27
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Các Forms.

Các báo cáo.

 Khi nào thực hiện Acceptance Testing?

Kiểm thử chấp nhận là mức thứ 4 được thực hiện sau khi hoàn thành kiểm
thử hệ thống và trước khi đưa sản phẩm vào sử dụng chính thức.

 Người thực hiện Acceptance Testing:

Kiểm thử chấp nhận được chia thành 2 mức khác nhau

- Kiểm thử alpha: được thực hiện bởi những người trong tổ chức nhưng
không tham gia phát triển phần mềm.

- Kiểm thử beta: được thực hiện bởi khách hàng/ người dùng cuối tại địa
điểm của người dùng cuối.

Mục đích

Đảm bảo phần mềm đáp ứng đúng yêu cầu của khách hàng. Sản phẩm nhận
được sự chấp nhận từ khách hàng/ người dùng cuối.

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

2.1.5.1 Kiểm thử tĩnh (Static testing)

Kiểm thử tĩnh là một hình thức của kiểm thử phần mềm mà phần mềm không
được sử dụng thực sự. Thường thì nó không kiểm thử chi tiết mà chủ yếu kiểm tra
tính đúng đắn của code (mã lệnh), thuật toán hay tài liệu. Chủ yếu kiểm tra cú pháp
của code/ hoặc review code (kiểm tra xem code có được viết đúng tiêu chuẩn code.
Đây là loại kiểm thử có thể được sử dụng bởi DEV (những người lập trình), làm
việc một cách độc lập. Các kỹ thuật review code, kiểm tra và walkthroughs cũng
được sử dụng trong test tĩnh này. Kiểm thử tĩnh liên quan đến việc xem xét các yêu
cầu và các tài liệu thiết kế chi tiết.

28
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2.1.5.2 Kiểm thử động (Dynamic testing)

Dynamic testing (kiểm thử động): là phương pháp kiểm thử thông qua việc
chạy chương trình để kiểm tra trạng thái từng hành động của chương trình.

+ Kỹ thuật kiểm thử hộp trắng (White box testing)

+ Kỹ thuật kiểm thử hộp đen (Black-Box Testing)

+ Kỹ thuật kiểm thử dựa trên kinh nghiệm (Experience-based Testing)

a) Kiểm thử hộp trắng (White box testing)

Kiểm thử hộp trắng còn gọi là kiểm thử cấu trúc. Dựa vào thuật giải cụ thể,
vào cấu trúc dữ liệu bên trong của đơn vị phần mềm cần kiểm thử để xác định đơn
vị phần mềm đó có thực hiện đúng không. Do đó người kiểm thử hộp trắng phải có
kỹ năng, kiến thức nhất định về ngôn ngữ lập trình được dùng, về thuật giải được
dùng trong phần mềm để có thể thông hiểu chi tiết về đoạn code cần kiểm thử.

Các kĩ thuật kiểm thử hộp trắng:

- Statement coverage: kiểm thử bao phủ câu lệnh. Thực thi tất cả các câu
lệnh ít nhất một lần.

- Decision (Branch) coverage: kiểm thử bao phủ đường rẽ nhánh. Thực thi
mỗi đường rẽ nhánh ít nhất một lần.

- Condition coverage: kiểm thử bao phủ điều kiện. Kiểm tra tất cả các điều
kiện kết hợp có thể.

- Path coverage: kiểm thử bao phủ đường dẫn. Kiểm thử tất cả các đường có
thể đi của đoạn chương trình.

b) Kiểm thử hộp đen (Black-Box Testing)

Là phương pháp tập trung vào các yêu cầu chức năng của phần mềm. Còn
được gọi là kiểm thử hướng dữ liệu hay là kiểm thử hướng in/out.

Các kỹ thuật kiểm thử hộp đen:

29
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

- Kỹ thuật phân vùng tương đương (Equivalence Partitioning - EP)

- Kỹ thuật phân tích giá trị biên (Boundary Value Analysis - BVA)

- Kỹ thuật bảng quyết định (Decision Table Testing Technique)

- Kỹ thuật chuyển đổi trạng thái (State Transition Testing Technique)

- Kỹ thuật kiểm thử dựa trên use case (Use CaseTesting)

 Kỹ thuật phân vùng tương đương (Equivalence Partitioning - EP)

Phân vùng lớp tương đương cho phép bạn phân chia tập hợp các điều kiện
kiểm tra thành một phân vùng nên được coi là giống nhau.

Phương pháp kiểm thử phần mềm này chia miền đầu vào của chương trình
thành các lớp dữ liệu mà từ đó các trường hợp kiểm thử nên được thiết kế.

Với các giá trị đầu vào chia thành các vùng tương đương:

Vùng tương đương hợp lệ: tập hợp các giá trị kiểm thử thỏa mãn điều kiện
của hệ thống

Vùng tương đương không hợp lệ: Tập hợp các giá trị kiểm thử mô tả trạng
thái khác của hệ thống: sai, thiếu, không đúng,...

Mục đích : Giảm đáng kể số lượng test case cần phải thiết kế vì với mỗi lớp
tương đương ta chỉ cần test trên các phần tử đại diện.

 Kỹ thuật phân tích giá trị biên (Boundary Value Analysis - BVA)

Phân tích giá trị biên dựa trên việc kiểm thử tại các ranh giới giữa các phân
vùng, Chúng ta sẽ tập trung vào các giá trị biên chứ không test toàn bộ dữ liệu.
Thay vì chọn nhiều giá trị trong lớp đương tương để làm đại diện, phân tích giá trị
biên yêu cầu chọn một hoặc vài giá trị là các cạnh của lớp tương đương để làm điều
kiện test.

Chúng ta thường thấy rằng một số lượng lớn lỗi xảy ra tại các ranh giới của
các giá trị đầu vào được xác định thay vì các giá trị giữa, còn được gọi là các giá trị
biên. Từ đó đưa ra lựa chọn các test cases thực hiện giá trị đầu vào các giá trị biên.

30
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Kỹ thuật thiết kế test cases này bổ sung cho phân vùng tương đương. Kỹ
thuật kiểm thử phần mềm này dựa trên nguyên tắc: Nếu một hệ thống hoạt động tốt
với các giá trị biên thì nó sẽ hoạt động tốt cho tất cả các giá trị nằm giữa hai giá trị
biên.

Phân tích giá trị biên sẽ chọn các giá trị:

- Giá trị ngay dưới giá trị nhỏ nhất

- Giá trị nhỏ nhất

- Giá trị ngay trên giá trị nhỏ nhất

- Giá trị ngay dưới giá trị lớn nhất

- Giá trị lớn nhất

- Giá trị ngay trên giá trị lớn nhất

 Kỹ thuật bảng quyết định (Decision Table Testing Technique)

Kỹ thuật này đôi khi còn được gọi là bảng "Nguyên nhân - kết quả". Lý do
cho điều này:

+ Bảng quyết định cung cấp một cách có hệ thống các quy tắc nghiệp vụ
phức tạp, rất hữu ích cho cả developer và tester.

+ Bảng quyết định có thể được sử dụng trong test design, vì chúng giúp
tester tìm được những tác động khi kết hợp các yếu tốt đầu vào khác nhau và các
trạng thái phần mềm mà phải thực hiện đúng các quy tắc nghiệp vụ khác.

Là cách tốt nhất để xây dựng test case trong trường hợp một yếu tố đầu vào
có nhiều điều kiện kết hợp và đầu ra là các hành động khác nhau của hệ thống.

Hoặc trong trường hợp kết hợp nhiều yếu tố đầu vào trong cùng một chức
năng.

Kỹ thuật bảng quyết định gồm 3 phần:

+ Hàng điều kiện

+ Hàng hành động

31
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

+ Các sự kết hợp hoặc các quy tắc.

 Kỹ thuật chuyển đổi trạng thái (State Transition Testing Technique)

Là kỹ thuật kiểm thử PM kiểm thử trường hợp thay đổi điều kiện đầu vào
gây ra sự thay đổi trạng thái trong hệ thống được kiểm thử (Application under Test -
AUT).

Đây là kỹ thuật mà tester phân tích cách xử lý của một ứng dụng được kiểm
thử để đưa ra các điều kiện đầu vào khác nhau trong một trình tự.

Trong kỹ thuật này, tester cung cấp cả giá trị kiểm thử đầu vào hợp lệ và
không hợp lệ, sau đó xác định cách xử lý của hệ thống.

Phù hợp khi kiểm thử các trường hợp chuyển đổi trạng thái trong hệ thống.

Sử dụng khi kiểm thử ứng dụng cho một tập hợp các giá trị đầu vào hữu hạn.

 Kỹ thuật kiểm thử dựa trên use case (Use CaseTesting)

Được sử dụng kiểm thử ở cấp độ kiểm thử mức hệ thống hoặc kiểm thử chấp
nhận.

Giúp xác định các test cases bao phủ toàn bộ hệ thống trên cơ sở chuyển giao
từ điểm bắt đầu đến điểm kết thúc

Kiểm thử Use Case để tìm các liên kết còn thiếu hay các yêu cầu không hoàn
chỉnh, từ đó tìm cách khắc phục để hệ thống hoạt động chính xác hơn.

c) Kiểm thử hộp xám

Kiểm thử hộp xám là một phương pháp kiểm thử phần mềm được kết hợp
giữa phương pháp kiểm thử Black Box và White Box. Trong kiểm thử hộp đen
tester kiểm thử các hạng mục mà không cần biết cấu trúc bên trong của chương
trình, còn kiểm thử hộp trắng thì tester biết được cấu trúc bên trong của chương
trình. Trong kiểm thử hộp xám, cấu trúc bên trong sản phẩm chỉ được biết một
phần. Tester có thể truy cập vào cấu trúc dữ liệu bên trong và thuật toán của chương

32
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

trình với mục đích là để thiết kế các trường hợp kiểm thử, nhưng khi thực hiện kiểm
thử thì test như người dùng cuối hoặc là ở mức hộp đen.

Mặc dù phương pháp kiểm thử hộp xám có thể được dùng trong các mức
khác nhau của kiểm thử, tuy nhiên nó chủ yếu được sử dụng trong kiểm thử tích
hợp.

Kiểm thử hộp xám nhằm tìm ra tối đa số lỗi về cấu trúc dữ liệu của hộp trắng
và lỗi chức năng của hộp đen. Trong kiểm thử hộp xám viết các trường hợp kiểm
thử dựa vào yêu cầu và nội dung Source Code (can thiệp vào bên trong Code của
chương trình). Thực hiện kiểm thử trên giao diện của chương trình (yêu cầu chương
trình phải chạy được mới kiểm thử được, không can thiệp vào code).

2.2 Đảm bảo chất lượng phần mềm

2.2.1 Giới thiệu về đảm bảo chất lượng phần mềm

Theo IEEE, chất lượng phần mềm được định nghĩa như sau:

Chất lượng phần mềm là:

- Mức độ mà một hệ thống, thành phần hoặc một tiến trình đạt được yêu cầu
đã đặc tả.

- Mức độ mà một hệ thống, thành phần hoặc một tiến tình đạt được những
yêu cầu hay mong đợi của khách hàng hoặc người sử dụng.

Ban đầu đảm bảo chất lượng phần mềm có mục tiêu đạt được các yêu cầu đề
ra, tuy nhiên thực tế phát triển phần mềm tồn tại rất nhiều ràng buộc đòi hỏi người
phát triển cần tối ưu hoá các công tác quản lý.

Theo Daniel Galin, khái niệm đảm bảo chất lượng phần mềm được xác định
như sau:

Đảm bảo chất lượng phần mềm là một tập các hoạt động đã được lập kế
hoạch và có hệ thống, cần thiết để cung cấp đầy đủ sự tin cậy vào quy trình phát
triển phần mềm hay quy trình bảo trì phần mềm của sản phẩm hệ thống phần mềm

33
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

phù hợp với các yêu cầu chức năng kỹ thuật cũng như với các yêu cầu quản lý mà
giữ cho lịch biểu và hoạt động trong phạm vi ngân sách.

2.2.2 Các tiêu chí để đảm bảo chất lượng phần mềm

Hình 2. 4: Các tiêu chí đảm bảo chất lượng phần mềm

Đảm bảo chất lượng phần mềm là 1 mô hình có kế hoạch và hệ thống của tất
cả các hành động cần thiết để đem lại sự tin cậy rằng 1 sản phẩm phần mềm tuân
thủ đầy đủ các yêu cầu về kĩ thuật đã đề ra.

Từ những khái niệm cơ bản trên, McCall đã đề ra 11 tiêu chí cho Đảm bảo
chất lượng phần mềm, được chia thành 3 loại:

 Tiêu chí vận hành sản phẩm (Product operation factors): Hệ thống có chạy
tốt không, có dễ sử dụng không

- Correctness: Tính đúng đắn: đặc tả về độ chính xác, sự toàn vẹn của output

34
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

- Reliability: Tính tin cậy: Đề cập tới lỗi khi cung cấp dịch vụ: tỉ lệ lỗi, thời
gian hệ thống chết

- Efficiency: Tính hiệu quả: Đề cập tới tài nguyên phần cứng cần để thực
hiện các chức năng của phần mềm.

- Integrity: Tính toàn vẹn: Đề cập tới bảo mật của hệ thống với việc ngăn
chặn truy cập trái phép

- Usability: Tính khả dụng: Đề cập tới quy mô nguồn lực để đào tạo nhân
viên mới sử dụng hệ thống

 Tiêu chí sửa đổi sản phẩm (Product revision factors): Hệ thống có dễ dàng
sửa lỗi không, dễ dàng kiểm thử không

- Maintainability: Mức công sức cần để bảo trì khi có lỗi, kiến trúc các
module như thế nào

- Flexibility: Đề cập tới nguồn lực để thay đổi phần mềm khi khách hàng
thay đổi

- Testability: Có hỗ trợ test hay không: tạo file log, backup

 Tiêu chí chuyển giao sản phẩm (Product transition factors): Hệ thống có dễ
dàng chuyển đổi sang các phần cứng không, có thể tái sử dụng không

- Portability: Nếu phần mềm cài ở môi trường mới, có giữ đc các tính năng
như cũ không

- Reusability: Có thể tái sử dụng các module nhỏ không

- Interoperability: Phần mềm có cần Interface với các hệ thống đã có

2.2.3 Một số chuẩn quản lý chất lượng phần mềm

ISO: International Organization for Standardization

CMM : Software Engineering Institute’s Capability Maturity Model

IEE: Institute of Electrical and Electronics Engineers

35
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

DOD: U.S Department of Defence

36
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

CHƯƠNG 3: NỘI DUNG THỰC HIỆN


3.1 Giới thiệu chung

 Khái niệm:

Redmine là một công cụ được tạo ra nhằm mục đích theo dõi các vấn đề xảy
ra của một dự án và quản lý dự án đó. Redmine hoạt động trên web miễn phí và mã
nguồn mở để người dùng dễ dàng sử dụng. Đây là phần mềm hỗ trợ cho người sử
dụng quản lý nhiều dự án cùng một lúc hoặc các tiểu dự án có liên quan đến nhau
và liên quan đến dự án chính. Redmine có tính năng cho mỗi một dự án khác nhau
và diễn đàn khác nhau. Redmine giúp theo dõi thời gian, kiểm soát các truy cập với
vai trò linh hoạt của nó trong từng dự án.

 Các tính năng của Redmine bao gồm như sau:

+ Cho phép việc theo dõi nhiều dự án cùng một lúc

+ Hỗ trợ cho việc kiểm soát về truy cập với vai trò linh hoạt

+ Theo dõi các vấn đề của dự án

+ Tạo biểu đồ

+ Quản lý các dữ liệu như: Tin tức, tài liệu, tập tin có liên quan đến dự án

+ Cho phép truy cập dữ liệu web và gửi thông báo về email của bạn

+ Hỗ trợ việc quản lý cho các dự án, và diễn đàn cho mỗi dự án đó

+ Cho phép người dùng theo dõi được thời gian một cách đơn giản

+ Bạn có thể tùy chỉnh cho các vấn đề của dự án và mực thời gian của dự án
cũng như người dùng

+ Hỗ trợ một loạt các tích hợp của quản lý cấu hình phần mềm như: hệ thống
kiểm soát sửa đổi, hệ thống đồng thời, hệ thống kiểm soát để theo dõi những thay
đổi trong mã nguồn, công cụ kiểm soát sửa đổi phân tán, hệ thống sửa đổi máy chủ
phân tán và máy khách,..

37
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

+ Hỗ trợ việc xác thực nhiều nhà cung cấp trung lập, và tiêu chuẩn công
nghệ ứng dụng để truy cập và duy trì các dịch vụ về thông tin, thư mục sử dụng trên
giao thức internet.

+ Hỗ trợ tính năng giúp người dùng tự đăng ký cài đặt

+ Hỗ trợ sử dụng với 49 ngôn ngữ trên thế giới. Trong đó có cả Redmine
tiếng Việt.

+ Cho phép truy cập nhiều cơ sở dữ liệu khác nhau

+ Redmine cho phép việc bổ trợ trong các dự án

+ Cung cấp một giao diện về lập trình ứng dụng để hỗ trợ truyền thông và
giúp chuyển trạng thái của đại diện.

 Ưu và nhược điểm của Redmine:

- Ưu điểm: Được thể hiện rõ ở tính năng như đã nói ở phần đầu; Cài đặt đơn
giản và miễn phí đối với người sử dụng; Tạo hữu ích trong quản lý dự án cho bạn.

- Nhược điểm: Giao diện hiện thì đơn giản, không bắt mắt đến mức nhàm
chán.
3.2 Nội dung

3.2.1 Các vai trò (role) trong hệ thống

Mục đích nhằm phân quyền phù hợp với từng vài trò trên hệ thống quản lý
dự án Redmine và cho phép chúng ta phân quyền chức năng và xây dựng workflow
phù hợp tương ứng với từng vài trò khi các thành viên làm việc trên hệ thống theo
dõi bug (lỗi), chức năng (feature), công việc (task).

Với mỗi thành viên trong dự án sẽ có một vai trò nhất định, mỗi vai trò trong
dự án sẽ được gán tương ứng với vai trò trên hệ thống Redmine. Ví dụ: Một dự án
có những vai trò như PM, BA, Backend Dev, QA, Tester, Frontend Dev. Chúng ta
có thể xem các vai trò như Dev, Front-end Dev tương ứng với vai trò Dev trên
Redmine.

38
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hệ thống sẽ có các vài trò chính như sau:

STT Vai trò Mô tả

1 Project Manager (PM) Vai trò này được gán cho người quản lý dự án
hoặc team lead

2 Developer Vài trò được gán cho front-end developer,


backend developer, tester, tech lead, designer

3 Tester Vài trò được gián cho cho tester và test lead

4 Business Analyst (BA) Vai trò được gán cho chuyên viên phân tích

5 Quality Assurance (QA) Vai trò được gán cho chuyên viên quản lý chất
lượng, kiếm soát quy trình

6 Administrator Vai trò được quán cho chuyên viên hệ thống

Bảng 3. 1: Các vai trò trong hệ thống

3.2.2 Định nghĩa Tracker trong hệ thống

Tracker là thuật ngữ để chỉ nhóm 1 loại công việc. Hệ thống theo dõi sẽ có
những tracker cụ thể để theo dõi những issue cụ thể. Việc phân loại tracker sẽ giúp
cho đội dự án trao đổi với nhau phù hợp và giúp cho Team lead, PM kiểm soát được
tình trạng dự án. Hệ thống hiện tại chúng ta sẽ sử dụng các loại tracker như sau:

STT Tracker Mô tả

1 Bug Tracker Bug tracker được sử dụng theo dõi các issue
trong quá trình kiểm thử. Trường hợp đội test
kiểm thử qua các test case và phát hiện ra bug,
những bug này sẽ được ghi lại trên trên thống
với tracker là Bug.

2 Task Tracker Task tracker được sử dụng để theo dõi các công
việc của đội dự án. PM, các thành viên sử dụng
Task tracker để lập kế hoạch dự án, lập kế

39
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

hoạch cá nhân.

3 Feature Tracker Feature tracker được sử dụng để theo dõi các


tính năng của một sản phẩm. Một dự án phát
triển phần mềm sẽ có nhiều giai đoạn phát
triển. Với mỗi giai đoạn phát triển, sản phẩm
release sẽ có những tính năng nhất định. Đối
với trường hợp dự án theo mô hình scrum, agile
thì mỗi issue của tracker này sẽ tương ứng với
một backlog hoặc một user story.

4 Support Tracker Suppor Tracker là Tracker được sử dụng để


theo dõi các issue không thuộc các tracker Bug,
Task, Feature. Tracker này dùng cho việc đặt
câu hỏi, đưa ra các vấn đề đề xuất.

Bảng 3. 2: Định nghĩa Tracker trong hệ thống

3.2.3 Định nghĩa trạng thái của issue


Thành viên dự án tạo ra issue để theo dõi công việc, bug, tính năng sản
phẩm. Một issue sẽ có những trạng thái cho phép chúng ta biết được tình trạng hiện
tại. Trạng thái của một issue bao gồm:

STT Vai trò Mô tả

1 Open Những issues mới hoặc bị reopen vì chưa giải


quyết xong. Issue có thể đã được assign hoặc
chưa assign cho thành viên.

2 In Progress Những issues đang xử lý

3 Resolved Những issues đã xử lý xong. Bug đã được xử lý


và task đã hoàn thiện

40
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

4 Closed Những issues đã được review và kiểm tra đã


hoàn thành

5 ReOpened Những issues bị mở lại

6 Pending Những issues chưa giải quyết được hoặc không


giải quyết được

7 Rejected Những issues không hợp lý (bao gồm task, bug


không hợp lý)

Bảng 3. 3: Các trạng thái của issue

3.2.4 Định nghĩa workflow


Workflow là thuật ngữ dùng để định nghĩa cách thức thay đổi trạng thái của
một issue. Workflow được thiết kế để đạt được mục đích là xử lý các công việc theo
đúng các trình tự, các quy định.

Trong một dự án, các thành viên sẽ được gán với những vai trò khác nhau.
Khi xử lý thay đổi trạng thái một issue thuộc về một Tracker, giả sử Bug Tracker,
mỗi thành viên sẽ thực hiện việc thay đổi trạng thái đúng theo quy định tương ứng
với vai trò mà thành viên đã được phân.

Với quy định hiện tại, chúng ta sẽ áp dụng workflow chung cho tất cả tracker
như hình sau [2]:

41
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 1: Quy trình quản lý lỗi

Với mô hình trên:

- Tất cả vai trò đều có thể chuyển trạng thái issue.

- Riêng đối với vai trò PM, Tester thì mới có quyền chuyển trạng thái từ
resolved sang closed và chuyển trạng thái từ closed sang reopened.

- Với trạng thái Rejected thì chỉ có PM mới được quyền chuyển trạng thái
sang closed.

3.2.5 Định nghĩa Roadmap (lộ trình)

Roadmap là thuật ngữ để chỉ một kế hoạch hoặc một lộ trình phù hợp để đáp
ứng mục tiêu ngắn hạn và dài hạn với các giải pháp kỹ thuật nhằm đáp ứng yêu cầu
cụ thể của sản phẩm.

Mục đích của việc sử dụng roadmap để lập kế hoạch, cho phép người quản lý
sản phẩm hoặc quản lý dự án đặt ra các milestone (version) để đạt được mục tiêu
release sản phẩm. Với mỗi milestone của sản phẩm sẽ gắn liền với tập các tính

42
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

năng, công nghệ, các issue đã xử lý bao gồm cả bug. Việc xây dựng sản phẩm dựa
trên roadmap sẽ giúp người quản lý kiểm soát thay đổi của sản phẩm, tra cứu dữ
liệu lịch sử của sản phẩm và có giải pháp xử lý cho những phiên bản tiếp theo.

Quy định về phiên bản


Sản phẩm khi release cần chỉ rõ phiên bản và danh sách các chức năng liên
quan đến phiên bản. Vì vậy sản phẩm cần được quy định cụ thể các phiên bản khi
release.

 Quy ước đặt tên phiên bản [tên gợi nhớ] major.minor[.build[.revision]]
trong đó:

- [tên gợi nhớ] dùng để nhóm các loại công việc được thực hiện trong 1 giai
đoạn hoặc nhóm các chức năng được phát triển trên 1 nên tảng công nghệ, hoặc tên
của một module/component được phát triển.

- major.minor[.build[.revision]] tham khảo quy ước định dạng phiên bản.

 Quy ước định dạng phiên bản major.minor[.build[.revision]]. Trong đó:

- Major: là số để đánh dấu có sự thay đổi lớn về chức năng, như thay đổi lỏi
framework, thay đổi có ảnh hưởng đến khả năng tương thích các chức năng đã có
của hệ thống hay thêm mới một loạt tính năng mới.

- Minor: là số để chỉ những thay đổi nhỏ về tính năng hoặc những cập nhật
để vá các lỗi lớn.

- Build: là số không bắt buộc, tuy nhiên số này có thể sử dụng để chỉ ra một
số trạng thái của phiên bản phần mềm được release. Các trạng thái được quy định
với các con số như:

 0 chỉ phiên bản alpha. Ví dụ: 1.2.0

 1 chỉ phiên bản beta. Ví dụ: 1.2.1

 2 chỉ phiên bản release candidate. Ví dụ: 1.2.2

 3 chỉ phiên bản final. Ví dụ: 1.2.3

- Revision: là số không bắt buộc, mục đích chủ yếu để chỉ những số lần
commit lên hệ thống quản lý mã nguồn như SVN, Git. Số này thường tăng lên khi
fix các bug nhỏ. Thường thì số revision đi chung với số build để chỉ rõ những thay
đổi nhỏ trong từng bản build. Khi release 1 component hoặc 1 module để gợi nhờ

43
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

các thay đổi sau cùng, revision được sử dụng để ghi lại cùng danh sách các thay
đổi ứng với nội dung trong file change log hoặc release note. Ví dụ.

 1.2.0.112 chỉ phiên bản alpha đã cập nhật vá lỗi tại revision 112

 1.2.1.244 chỉ phiên bản beta đã cập nhật vá lỗi tại revision 244

Các ví dụ về đặt tên phiên bản:

- Đặt tên phiên bản theo giai đoạn. Ví dụ: Spring 1.0, Milestone 1.0, Giai
đoạn 1.0

- Đặt tên phiên bản theo module/component phát triển. Ví dụ: User API 1.0,
Framework 1.0

3.2.6 Các quy định, hướng dẫn về issue

a) Quy định về bug severity


Một bug phát sinh cần được đánh giá độ nghiêm trọng của bug. Để đánh giá
được độ nghiêm trọng của bug, chúng ta dùng khái niệm severity. Các giá trị của
severity gồm:

STT Tracker Mô tả

1 Crash/Critial Những bug cực kỳ nghiêm trọng, hệ thống


không hoạt động được. Người dùng không thể
thực hiện thao tác tiếp theo trong hệ thống

2 Major Những bug ảnh hưởng đến tính năng hệ thống


và hệ thống vẫn hoạt động nhưng cho ra kết
quả sai, không đầy đủ, không chính xác, làm
ảnh hưởng đến các tính năng khác

3 Minor Những bug không làm hỏng khả năng sử dụng


của hệ thống. Bug có thể do đánh giá của người
dùng hoặc tester. Có trường hợp thuộc về đề
xuất không nằm trong scope dự án

4 Text/Cosmetic Lỗi có liên quan đến giao diện, nội dung. Mức

44
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

độ nghiệm trọng được đánh giá về quy định


thẩm mỹ

5 Normal Chưa đánh giá được mức độ nghiêm trọng của


bug hoặc chưa phân loại được

Bảng 3. 4: Mức độ nghiêm trọng của lỗi

b) Quy định về priority


Trong quá trình vận hành và phát triển sản phẩm. Để đảm bảo việc thực hiện
công việc theo đúng mong muốn PM, chúng ta cần phân loại độ ưu tiên công việc.
Các giá trị của priority gồm:

STT Tracker Mô tả

1 Urgent là những issue có độ ưu tiên khẩn, cần xử lý


gấp. Khi issue có độ ưu này thì cần xử lý trong
buổi hoặc chậm nhất 24h

2 High là những issue có độ ưu cao. Với issue những


issue này người được gán xử lý cần thực hiện
càng sớm càng tốt

3 Normal là những issue có độ ưu tiền bình thường. Với


những issue này, người gán xử lý thực hiện
theo plan đã đề ra

4 Low là những issue có độ ưu tiên thấp, thường


không ảnh hưởng đến việc release sản phẩm.
Có thể để xử lý sau

5 N/A là những issue chưa xác định được độ ưu tiên

45
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Bảng 3. 5: Mức độ ưu tiên của lỗi

c) Hướng dẫn đặt tiêu đề issue


Tiêu đề có thể được định dạng [Nhãn gợi nhớ] Tên tiêu đề. Trong đó
[Nhãn gợi nhớ] không bắt buộc, có thể sử dụng nhãn gợi nhớ để nhóm các issue
theo chủ đề. Ví dụ: nhóm theo chức năng, nhóm theo loại công việc.

Tiêu đề cần rõ ràng dễ hiểu. Tên tiêu đề có ít nhất 2 từ.

Đối với trường hợp issue là Bug Tracker. Nội dung mô tả tiêu đề cần chỉ rõ
lỗi của chức năng được kiểm thử.

d) Hướng dẫn nội dung mô tả issue


Nội dung mô tả issue là không bắt buộc. Trường hợp tiêu đề mô tả issue
chưa rõ thì nội dung mô tả issue nên được viết cụ thể, sử dụng hình ảnh đính kèm
khi cần thiết.

Đối với trường hợp issue là Bug Tracker. Nội dung mô tả nên được viết như
sau:

Chức năng được kiểm thử. (Một số dự án nội dung này không bắt buộc. Với
trường hợp có test case nên ghi rõ test case nào)

Các bước thực hiện

Kết quả

46
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3.3 Cài đặt công cụ

 Bước 1: Trước tiên chúng ta cần truy cập vào: https://bitnami.com/

 Bước 2: Sau đó chọn công cụ cần tải là Redmine:

47
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

 Bước 3: Tiếp đó nhấn chọn Win/Mac/Linux

 Bước 4: Chọn Download for Windows

 Bước 5: Sau khi ấn Dowload thành công thì mở tệp vừa tải

48
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

 Bước 6: Chọn OK

 Bước 7: Chọn Next

 Bước 8: Chọn Next

49
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

 Bước 9: Chọn nơi để cài để cài đặt Redmine, sau đó ấn Next

 Bước 10: Nhập Your real name, Email Adress, Login, Password sau đó chọn
Next

50
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

 Bước 11: Nhập Apache Web Server Port, tiếp tục chọn Next

 Bước 12: Nhập SSL Port, tiếp tục Next

51
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

 Bước 13: Chọn Gmail hoặc các hình thức khác, tiếp tục Next

52
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

 Bước 14: Nhập thông tin Gmail, chọn Next

 Bước 15: Tiếp tục chọn Next

53
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

 Bước 16: Chờ đợi cài đặt

 Bước 17: Sau khi cài dặt thành công, chọn private hoặc public, sau đó chọn
Allow access

54
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Vậy là cài đặt thành công công cụ Redmine

3.4 Hướng dẫn sử dụng


Mục đích:

- Quản lý yêu cầu, bug, công việc

- Thiết lập kênh trao đổi, tương tác giữa các thành viên dự án

- Lập kế hoạch và theo dõi lịch làm việc

- Hỗ trợ công cụ xem báo cáo

- Lưu trữ thông tin tin và dữ liệu lịch sử nhằm nâng cao hiệu quả việc tái sử
dụng kiến thức và giảm thiểu rủi ro trong công tác vận hành dự án.

3.4.1 Đăng nhập vào hệ thống

Để sử dụng hệ thống, bạn truy cập vào công cụ Redmine, nhập tài khoản và
mật khẩu được cập bởi người quản trị.

55
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 2: Login

Để lấy lại mật khẩu click vào link Lost password.

Sau khi đăng nhập để đăng xuất khỏi hệ thống. Chọn Sign out ở góc phải
màn hình

3.4.2 Đăng ký tài khoản

Để đăng ký cho một tài khoản chọn Register

Sau khi bạn chọn Register, bạn sẽ thấy màn hình đăng ký như sau:

Hình 3. 3: Đăng ký tài khoản

56
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Điền đầy đủ các thông tin để đăng ký.

Sau đó nhấn Submit thì đợi người quản trị viên phê diệt

Hình 3. 4: Đăng ký tài khoản và đợi được phê duyệt

Sau khi được phê duyệt thì quản trị viên có quyền Lock hoặc Delete

Hình 3. 5: Quản lý user

3.4.2 Khởi tạo dự án và cấu hình các thông tin cơ bản

a) Tạo dự án
Để tạo mới một dự án, có 2 cách sau:

- Chọn menu Administration > Projects > New project

- Hoặc chọn menu Projects > New project

57
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Sau khi chọn New project, bạn sẽ thấy màn hình nhập thông tin dự án như
sau:

Hình 3. 6: Tạo Project mới

Nhập các trường yêu cầu:

- Name: Tên dự án, viết hoa chữ cái của từ đầu tiên.

- Description: Yêu cầu nhập đầy đủ thông tin môt tả dự án.

- Identifier: Tên mã dự án.

- Subproject of: Chọn thuộc dự án nào. Hướng dẫn

 Chọn Developing project đối với dự án mới và đang phát triển.

 Chọn Completed project đối với dự án đã chuyển sang giai đoạn bảo
trì. Thường thì sau khi release chuyển giao cho khách hàng nhưng vẫn
tiếp tục nâng cấp. Các dự án thuộc loại này sẽ ở tình trạng chờ đóng dự
án.

 Với các dự án lớn và được chia nhỏ theo từng dự án con, khi tạo mới
1 dự án con thì lưu ý chọn dự án cha.

58
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Sau khi nhập các trường yêu cầu chọn nút Create để hoàn thành và tiếp tục
các bước thiết lập thông tin của dự án

b) Thêm thành viên và phân vai trò


Sau khi tạo thông tin dự án, bạn sẽ thấy màn hình Setting xuất hiện, tại đây
chọn tab Members và thực hiện bước thêm thành viên, gán vai trò.

Hình 3. 7: Thêm thành viên vào dự án

Ở trường Search for user or group, bạn gõ tên thành viên để thực hiện tìm
kiếm nhanh, nếu ít thành viên thì chọn luôn. Sau khi chọn tên thành viên, bạn chọn
vai trò ở mục Roles. Một thành viên có thể có nhiều hơn 1 vai trò. (Tham khảo mục
vai trò tại mục 3.2.1 Định nghĩa các vai trò trong hệ thống)

Để chỉnh sửa vai trò người dùng, tại mỗi bản ghi User/Group bạn chọn icon
Edit.

Để bỏ chọn thành viên click vào icon Delete

59
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 8: Chỉnh sửa, xoá user

c) Thiết lập phiên bản phục vụ cho việc lập kế hoạch


Hệ thống hỗ trợ quản lý các issue theo phiên bản. Thiết lập phiên bản cho
phép bạn quy định các mốc thời gian phát triển. (Tham khảo mục Quy định về
phiên bản trong mục 3.2.5)

Để thực hiện tại màn hình Settings > chọn tab Versions.

Hình 3. 9: Phiên bản dự án

Để chỉnh sửa version chọn icon Edit, và xóa version chọn icon Delete

Để tạo mới một version, chọn icon New version.

60
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 10: Thiết lập phiên bản mới

Thông tin version gồm có:

- Name: Tên bắt buộc. Quy tắt đặt tên tham khảo mục Quy định về phiên bản

- Description: Mô tả mục đích của phiên bản

- Status: Có 3 trạng thái:

 Open: Chỉ tình trạng đang phát triển

 Closed: Chỉ tình trạng đã hoàn thành

 Locks: Chỉ tình trạng tạm hoãn.

- Wiki page: Nếu dự án sử dụng wiki để viết tài liệu, bạn nhập tên của trang
wiki.

- Date: Ngày release phiên bản.

- Sharing: Để mặc định giá trị là Not shared

Sau khi nhập đủ thông tin, bấm nút Create để hoàn thành.

d) Thiết lập danh mục để nhóm chức năng, loại công việc
Để thiết lập danh mục, tại màn hình Setting > chọn tab Issue categories

61
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 11: Danh mục nhóm chức năng, công việc

Để tạo mới một version, chọn icon New category.

Hình 3. 12: Tạo new category

Thông tin danh mục gồm có:

- Name: Tên danh mục. Đặt tên nên có ý nghĩa là nhóm công việc, module,
component

- Assignee: Giá trị chọn là một người trong danh sách thành viên của dự án.
Trường hợp nếu có người được chọn ở trường Assignee. Khi tạo issue và gán danh
mục cho issue, thì hệ thống sẽ tự động gán issue cho người được chọn. Hay nói
cách khác là người được chọn ở trường Assignee sẽ là người được assign tự động
mỗi khi issue tạo ra có gắn với danh mục này.

Để chỉnh sửa Category chọn icon Edit, và xóa version chọn icon Delete

62
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3.4.3 Quản lý issue

a) Tạo issue
Để tạo mới issue, từ menu Projects > chọn 1 dự án > chọn New issue.
(Hoặc từ combobox “Jump to a project” > chọn 1 dự án > chọn New issue).

Hình 3. 13: Tạo issue

Thông tin của issue gồm có:

- Tracker: Tùy vào từng loại nội dung của issue bạn có thể chọn các tracker
như Bug, Task, Feature, Support. Tham khảo 3.2.2 Định nghĩa Tracker trong hệ
thống.

- Subject: Tiêu đề issue. Để nắm rõ quy định cách đặt tiêu đề tham khảo mục
3.2.6 a) Quy định tiêu đề issue.

- Description: Nội dung mô tả issue. Tham khảo mục 3.2.6 d) Quy định nội
dung mô tả issue.

- Status: Để hiểu về ý nghĩa của các giá trị của trường status tham khảo mục
3.2.2 Định nghĩa trạng thái của issue.

- Priority: Tham khảo mục 3.2.6 b) Quy định về priority

63
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

- Parent task: Nếu issue được nhóm bởi 1 issue hãy sử dụng trường này.

- Category: Danh mục phân loại issue. Để tạo mới một danh mục mới nhấn
vào icon (+). Tham khảo mục 3.4.2 d) Thiết lập danh mục để nhóm chức năng, loại
công việc. Lưu ý: chỉ có role PM được tạo mới danh mục

- Target version: Trường quy định issue được xử lý ở phiên bản nào. Để tạo
mới một danh mục mới nhấn vào icon (+). Tham khảo mục 3.4.2 c) Thiết lập phiên
bản phục vụ cho việc lập kế hoạch. Lưu ý: chỉ có role PM được tạo mới phiên bản

- Start date: Ngày bắt đầu. Sử dụng trường này để lập kế hoạch và xây dựng
gantt chart

- Due date: Ngày kết thúc. Sử dụng trường này để lập kế hoạch và xây dựng
gantt chart

- Severity: Đối với tracker bug, trường này quy định độ nghiêm trọng của
bug. Để hiểu về quy định của severity tham khảo mục 3.2.6 a)Quy định về bug
severity

- % Done: Để xác định mức độ hoàn thành của issue.

- Estimated Hours: Để uớc lượng thời gian hoàn thành.

- Watchers: Mục này sử đụng để thêm người cùng theo dõi công việc và gửi
thông tin cho người được chọn ở mục này mỗi khi thông tin issue có thay đổi.

Sau khi nhập đủ thông tin, bấm nút Create để hoàn thành. Nhấn Create và Continue
nếu như bạn muốn tiếp tục tạo mới 1 issue khác. Chọn preview nếu bạn muốn xem
trước nội dung mô tả ở ở trường Description.

64
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

b) Lọc và tìm kiếm issue

Hình 3. 14: Lọc và tìm kiếm issue

Tại danh sách issue, bạn có thể lọc (filter) và tìm kiếm theo nhiều tiêu chí.
Mặc định hệ thống sẽ lọc các issue theo trạng thái open. Để thay đổi điều kiện lọc,
chọn trường cần lọc ở mục Add filter. Bạn có thể thêm nhiều hơn một trường vào
mục Filters. Tùy vào loại giá trị của từng trường mà hệ thống cho phép chúng ta
thay đổi điều kiện lọc phù hợp. Với một số điều kiện, bạn có thể chọn nhiều hơn
một giá trị, ví dụ: điều kiện is hoặc is not. Trường hợp điều kiện cho phép chọn
nhiều giá trị, tại dropdown giá trị sẽ có icon [+]. Để chọn giá trị nhiều giá trị, nhấn
vào icon [+], sau đó giữ phím ctrl để chọn các giá trị cần lọc. Xem hình: Thêm điều
kiện tìm kiếm

Để áp dụng điều kiện lọc, nhấn vào nút Apply

Để xóa tất cả điều kiện lọc, nhấn vào nút Clear

Để lưu kết quả lọc (kết quả tìm kiếm), nhấn vào nút Save.

65
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 15: Thêm điều kiện tìm kiếm

Để thay đổi các tùy chọn như ẩn/hiển các trường trong danh sách issue,
nhóm kết quả tìm kiếm theo trường, ẩn/hiện nội dung chi tiết của issue, nhấn vào
mục Options, bạn sẽ thấy xuất hiện các tùy chọn:

Columns: là mục cho phép lựa chọn các cột cần hiển thị. Để lựa chọn cột
hiển thị bạn chuyển các trường từ danh sách Available Columns sang Selected
Columns. Sử dụng icon -> và icon <- để chuyển các trường qua lại giữa hai danh
sách.

Group results by: để nhóm kết quả tìm kiếm.

Show: tích chọn ô kiểm Description để hiển thị nội dung mô tả issue.

66
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 16: Thay đổi các trường trong danh sách issue

c) Chỉnh sửa, cập nhật issue


Chỉnh sửa nhanh bằng context menu

Tại danh sách issue, bạn có thể thao tác nhanh bằng cách click chuột phải
vào một issue. Một menu sẽ xuất hiện với các mục như Edit, Status, Priority, v.v..

67
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 17: Chỉnh sửa, cập nhật issue(1)

Từ danh sách issue, bạn có thể chọn nhiều issue cùng lúc bằng cách giữ phím
Ctrl hoặc phím Shift và nhấn chọn các issue. Sau khi chọn xong, bạn nhấn chuột
phải vào một dòng đã chọn để thực hiện thao tác chỉnh sửa nhiều issue cùng 1 lúc.

Chỉnh sửa thông tin một issue khi xem chi tiết.

Từ danh sách issue, bạn nhấn vào tiêu đề của một issue để xem chi tiết issue,
để thực hiện việc chỉnh sửa, bạn nhấn vào link Edit, form thông tin của issue sẽ
xuất hiện. Sau khi thay đổi thông tin bạn nhấn nút Save để lưu thông tin.

68
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 18: Chỉnh sửa, cập nhật issue(2)

e) Tổng hợp, thống kê issue


Từ Overview, chọn liên kết Summary để xem các báo cáo tổng hợp.

Hình 3. 19: Tổng hợp, thống kê issue

Sau khi click vào liên kết Summary, bạn sẽ thấy màn hình báo cáo xuất
hiện. Báo cáo thống kê tổng số issue của từng trạng thái theo Tracker, Version,
Priority, Category, Assignee, Author.

69
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 20: Báo cáo issue(1)

Để xem chi tiết số thống kê theo từng trạng thái nhấn vào icon

Trên mỗi con số thống kế sẽ có liên kết đến danh sách issue đã được theo
điều kiện tương ứng với kết quả thống kê. Bạn có thể sử dụng liên kết này để xem
chi tiết danh sách issue.

70
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 21: Báo cáo issues(2)

71
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 22: Báo cáo issue(3)

f) Kết xuất báo cáo


Hệ thống hỗ trợ tính năng xuất ra các định dạng file csv, pdf. Bạn sử dụng
tính năng này để xuất danh sách các issue khi cần cho việc in ấn, và trình báo cáo.

72
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 23: Kết xuất báo cáo

3.4.4 Quản lý tài liệu

Hệ thống cung cấp chức năng cho phép quản lý tài liệu, các thành viên có thể
chia sẻ các tài liệu với nhau dễ dàng. Từ menu Projects > chọn 1 dự án > chọn tab
Document. (Hoặc từ combobox “Jump to a project” > chọn 1 dự án > chọn tab
Document)

Hình 3. 24: Quản lý tài liệu

Để thêm tài liệu chọn liên kết New document. Thông tin tài liệu gồm:

Category: danh mục tài liệu, danh mục tài liệu tương ứng với thư mục chứa
tài liệu. Nếu bạn quản lý tài liệu bằng SVN hay google doc, bạn nên đặt tên thư mục
tương ứng với mục đích lưu trữ tài liệu.

Title: Tiêu đề của tài liệu, tương ứng với tên file bạn lưu trữ trên đĩa cứng.
Trường hợp bạn chọn việc lưu trữ tài liệu trên google doc, tiêu đề nên tương ứng
với tên thư mục lưu trữ trên google doc.

73
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Description: Trường hợp bạn lữu trữ tài liệu trực tiếp trên redmine. Nội
dung mô tả ghi rõ mục đích của tài liệu và hướng dẫn cách sử dụng tài liệu.

Hình 3. 25: Thêm tài liệu

3.4.5 Sử dụng roadmap


Chức năng road map cho phép người dùng quản lý lộ trình phát triển sản
phẩm. Từ menu Projects > chọn 1 dự án > chọn tab Roadmap. (Hoặc từ
combobox “Jump to a project” > chọn 1 dự án > chọn tab Roadmap)

74
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 26: Roadmap

Tại màn hình roadmap có các khối thông tin như:

- Thông tin về phiên bản

- Ngày phiên bản dự kiến hoàn thành.

- Thanh tiến độ để chỉ mức độ hoàn thành theo %.

- Nội dung mục tiêu của phiên bản.

- Danh sách các issue được đưa vào phiên bản. Nếu issue đã hoàn thành sẽ có
đường gạch ngang.

Ở thành sidebar bên phải cung cấp các mục:

- Roadmap: Chứa các loại Tracker, sử dụng tính năng lọc này để xem tiến
độ hoàn thành theo từng Tracker. Chọn trường Show completed version sử dụng
nếu bạn muốn xem lại các phiên bản đã đóng.

- Versions: Chứa các liên kết phiên bản. Chọn liên kết này để nhảy nhanh
đến một phiên bản

75
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3.4.6 Gantt chart

Chức năng Gantt chart cho phép hiển thị các vấn đề có một ngày bắt đầu và
ngày hoàn thành, hiển thị dưới dạng biểu đồ cột. Cho chúng ta biết tiến độ công
việc mà chúng ta đang thực hiện.

Hình 3. 27: Gantt chart

Tương tự, chọn filter/option để xem lọc kết quả hiển thị trong gantt chart

3.4.7 Calendar

Chức năng Gantt chart cho phép hiển thị các vấn đề có một ngày bắt đầu và
ngày hoàn thành, hiển thị dưới dạng lịch. Cho chúng ta biết tiến độ công việc mà
chúng ta đang thực hiện. Từ menu Projects > chọn 1 dự án > chọn tab Roadmap.
(Hoặc từ combobox “Jump to a project” > chọn 1 dự án > chọn tab Calendar).

76
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 28: Calendar

Tương tự, chọn filter để hiển thị các lịch tương ứng với các issue.

3.4.8 News

Chức năng News là nơi để thông báo các tin tức mới nhất.

77
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 29: News

3.4.9 Forums
Forums Cho phép người sử dụng từ một dự án để giao tiếp với nhau. Để
thêm vào một chủ đề trong một diễn đàn thì chúng ta nhấn vào New message.

Hình 3. 30: Forums

3.4.10 Kiểm soát công việc hằng ngày với tính năng activity

Trang activity cung cấp thông tin lịch sử của tất cả các hoạt động đã xảy ra
trong các dự án. Từ menu Projects > chọn 1 dự án > chọn tab Activity. (Hoặc từ
combobox “Jump to a project” > chọn 1 dự án > chọn tab Activity)

78
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 31: Kiểm soát công việc hằng ngày

3.5 Áp dụng vào dự án

3.5.1 Test Design

3.5.1.1 Thiết kế kiểm thử chức năng

79
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

a) Tổng quan hệ thống [1]

Hình 3. 32: Thiết kế kiểm thử tổng quan hệ thống

80
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

b) Đăng nhập

Hình 3. 33: Thiết kế kiểm thử chức năng Đăng nhập

81
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

c) Sign Up

Hình 3. 34: Thiết kế kiểm thử chức năng Đăng ký

e) Profile Khách hàng

82
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 35: Thiết kế kiểm thử chức năng Thông tin khách hàng

f) Quản lý loại xe

83
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 36: Thiết kế kiểm thử chức năng Quản lý loại xe

84
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

g) Quản lý sản phẩm

Hình 3. 37: Thiết kế kiểm thử chức năng Thêm sản phẩm

85
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 38: Thiết kế kiểm thử chức năng sửa, xoá, tìm kiếm

[1]: Altemative flow được lấy từ Hình 3.37

3.5.1.2 Thiết kế kiểm thử phi chức năng

a) Giao diện

Hình 3. 39: Thiết kế kiểm thử giao diện

86
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

b) Hiệu năng

Hình 3. 40: Thiết kế kiểm thử hiệu năng

c) Bảo mật

Hình 3. 41: Thiết kế kiểm thử bảo mật

d) Tính khả dụng

87
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 3. 42: Thiết kế kiểm thử tính khả dụng

3.5.2 Test Case

a) Đăng nhập
ID Test Case Test Case Expected Output Actual
Description Procedure Result

Đăng nhập

[Login- Kiểm tra 1. Thiết lập [User 3. Hiển thị thông báo Pass
1] Username Name] = "" “Đăng nhập không
2. Nhập [Password] đúng”
đúng 4. Đóng hộp thoại, trả
3. Click nút [Xác về giao diện đăng nhập
nhận] 5. Người dùng nhập
không thành công

[Login- 1. Thiết lập [User 3. Hiển thị thông báo Pass


Name] không chứa “Đăng nhập không

88
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2] ký tự@ đúng”
2. Nhập [Password] 4. Đóng hộp thoại, trả
đúng về giao diện đăng nhập
3. Click nút [Xác 5. Người dùng nhập
nhận] không thành công

[Login- 1. Thiết lập [User 1. Trả về giao diện Pass


3] Name] có ký tự @ chính của webiste
2. Nhập [Password] 2. Khách hàng đăng ký
đúng thành công
3. Click nút [Xác
nhận]

[Login- 1. Thiết lập [User 3. Hiển thị thông báo Fail


4] Name] = “Đăng nhập không
"@gmail.com" đúng”
2. Nhập [Password] 4. Đóng hộp thoại, trả
đúng về giao diện đăng nhập
3. Click nút [Xác 5. Người dùng nhập
nhận] không thành công

[Login- 1. Thiết lập [User 3. Hiển thị thông báo Fail


5] Name] >50 ký tự “Đăng nhập không
2. Nhập [Password] đúng”
đúng 4. Đóng hộp thoại, trả
3. Click nút [Xãc về giao diện đăng nhập
nhận] 5. Người dùng nhập
không thành công

[Login- 1. Thiết lập [User 3. Hiển thị thông báo Fail


6] Name] không gồm “Đăng nhập không
dấu chấm tên miền đúng”

89
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

(.) 4. Đóng hộp thoại, trả


2. Nhập [Password] về giao diện đăng nhập
đúng 5. Người dùng nhập
3. Click nút [Xác không thành công
nhận]

[Login- 1. Thiết lập [User 3. Hiển thị thông báo Pass


7] Name] =11 ký tự “Đăng nhập thành công
2. Nhập [Password] đúng”
đúng 4. Đóng hộp thoại, trả
3. Click nút [Xác về trang chủ website
nhận] 5. Người dùng nhập
thành công

[Login- 1. Thiết lập [User 3. Hiển thị thông báo Fail


8] Name] <11 ký tự “Đăng nhập không
2. Nhập [Password] đúng”
đúng 4. Đóng hộp thoại, trả
3. Click nút [Xác về giao diện đăng nhập
nhận] 5. Người dùng nhập
không thành công

[Login- 1. Thiết lập [User 3. Hiển thị thông báo Fail


9] Name] bao gồm “Đăng nhập không
khoảng trắng đầu và đúng”
cuối 4. Đóng hộp thoại, trả
2. Nhập [Password] về giao diện đăng nhập
đúng 5. Người dùng nhập
3. Click nút [Xác không thành công
nhận]

[Login- Kiểm tra 1. Thiết lập 3. Hiển thị thông báo Fail

90
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

10] Password [Password] = "" “Đăng nhập không


2. Nhập [Password] đúng”
đúng 4. Đóng hộp thoại, trả
3. Click nút [Xác về giao diện đăng nhập
nhận] 5. Người dùng nhập
không thành công

[Login- 1. Thiết lập 3. Hiển thị thông báo Pass


11] [Password] =10 ký “Đăng nhập thành công
tự đúng”
2. Nhập [Password] 4. Đóng hộp thoại, trả
đúng về trang chủ website
3. Click nút [Xác 5. Người dùng nhập
nhận] thành công

[Login- 1. Thiết lập 3. Hiển thị thông báo Pass


12] [Password] chứa các “Đăng nhập thành công
ký tự đặc biệt đúng”
(!,@,#,$..) 4. Đóng hộp thoại, trả
2. Nhập [Password] về trang chủ website
đúng 5. Người dùng nhập
3. Click nút [Xác thành công
nhận]

[Login- 1. Thiết lập 3. Hiển thị thông báo Fail


13] [Password] <5 ký tự “Đăng nhập không
2. Nhập [Password] đúng”
đúng 4. Đóng hộp thoại, trả
3. Click nút [Xác về giao diện đăng nhập
nhận] 5. Người dùng nhập
không thành công

91
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[Login- 1. Thiết lập 3. Hiển thị thông báo Fail


14] [Password] >50 ký “Đăng nhập không
tự đúng”
2. Nhập [Password] 4. Đóng hộp thoại, trả
đúng về giao diện đăng nhập
3. Click nút [Xác 5. Người dùng nhập
nhận] không thành công

[Login- 1. Thiết lập 3. Hiển thị thông báo Fail


15] [Password] bao gồm “Đăng nhập không
khoảng trắng đầu và đúng”
cuối 4. Đóng hộp thoại, trả
2. Nhập [Password] về giao diện đăng nhập
đúng 5. Người dùng nhập
3. Click nút [Xác không thành công
nhận]

[Login- Bussiness 1. Nhập đúng 2. Hiển thị thông báo Pass


16] username, password “Đăng nhập thành công
2. Click nút [Xác đúng”
nhận] 3. Đóng hộp thoại, trả
về trang chủ website
4. Người dùng nhập
thành công

[Login- 1. Nhập sai 2. Hiển thị thông báo Pass


17] username, password “Đăng nhập không
2. Click nút [Xác đúng”
nhận] 3. Đóng hộp thoại, trả
về giao diện đăng nhập
4. Người dùng nhập

92
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

không thành công

[Login- 1. Nhập đúng 2. Tải lại trang Pass


18] username, password 3. Clear toàn bộ dữ liệu
2. Click Refresh

[Login- 1. Nhập đúng 2. Thoát khỏi giao diện Pass


19] username, password đăng nhập
2. Nhấn thoát 3. Không đăng nhập
thành công

[Login- 1. Nhập đúng 2. Hiển thị thông báo Pass


20] username, sai “Đăng nhập không
password đúng”
2. Click nút [Xác 3. Đóng hộp thoại, trả
nhận] về giao diện đăng nhập
4. Người dùng nhập
không thành công

[Login- 1. Nhập sai 2. Hiển thị thông báo Pass


21] username, đúng “Đăng nhập không
password đúng”
2. Click nút [Xác 3. Đóng hộp thoại, trả
nhận] về giao diện đăng nhập
4. Người dùng nhập
không thành công

[Login- 1. Bỏ trống tất cả 2. Hiển thị thông báo Pass


22] các trường dữ liệu “Đăng nhập không
2. Click nút [Xác đúng”
nhận] 3. Đóng hộp thoại, trả
về giao diện đăng nhập
4. Người dùng nhập

93
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

không thành công

[Login- Nhập sai quá 3 lần 1. Hiển thị thông báo Fail
23] “Đăng nhập không
đúng”
2. Đóng hộp thoại,
chuyển sang giao diện
lấy lại password

[Sign href [Đăng 1. Click [Đăng nhập] 2.Trả về giao diện đăng Pass
Up-24] nhập] nhập

[Sign Button [Xác 1. Click nút [Xác 2. Đăng nhập thành Pass
Up-25] nhận] nhận] công
3. Trả về giao diện
trang chủ

[Sign href [Sign Up 1. Click link [Sign 2. Trả về giao diện Pass
Up-26] now] Up now] đăng ký khách hàng

Bảng 3. 6: Test case chức năng Đăng nhập

b) Đăng ký
ID Test Case Test Case Expected Output Actual
Description Procedure Result

Đăng ký

[Sign Kiểm tra tên 1. Thiết lập [Name] 1. Hiển thị thông báo Pass
Up-1] khách hàng = "" “Vui lòng nhập vào
2. Nhập dữ liệu hợp trường này”
lệ cho tất cả các 2. Con trỏ chuột nhấp
trường còn lại nháy trong trường
3. Click nút [Sign [Name]

94
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Up] 3. Khách hàng không


đăng ký thành công

[Sign 1. Thiết lập [Name] 3. Hiển thị thông báo Fail


Up-2] >50 kí tự “Vui lòng nhập không
2. Nhập dữ liệu hợp quá 50 ký tự”
lệ cho tất cả các 4. Con trỏ chuột nhấp
trường còn lại nháy trong trường
3. Click nút [Sign [Name]
Up] 5. Khách hàng không
đăng ký thành công

[Sign 1. Thiết lập [Name] 3. Trả về giao diện Pass


Up-3] =1 kí tự chính của webiste
2. Nhập dữ liệu hợp 4. Khách hàng đăng ký
lệ cho tất cả các tài khoản thành công
trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập [Name] 3. Hiển thị thông báo Fail


Up-4] = 10 khoảng trắng “Vui lòng nhập vào
2. Nhập dữ liệu hợp trường này”
lệ cho tất cả các 4.Con trỏ chuột nhấp
trường còn lại nháy trong trường
3. Click nút [Sign [Name]
Up] 5. Khách hàng đăng ký
không thành công

[Sign 1. Thiết lập [Tên 3. Trả về giao diện Pass


Up-5] KH] =18 ký tự chính của webiste
2. Nhập dữ liệu hợp 4. Khách hàng đăng ký

95
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lệ cho tất cả các tài khoản thành công


trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập [Name] 3. Trả về giao diện Pass


Up-6] là các chữ in hoa chính của webiste
2. Nhập dữ liệu hợp 4. Khách hàng đăng ký
lệ cho tất cả các tài khoản thành công
trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập [Name] 3. Trả về giao diện Pass


Up-7] có các khoảng trắng chính của webiste
đầu với cuối 4. Khách hàng đăng ký
2. Nhập dữ liệu hợp tài khoản thành công
lệ cho tất cả các
trường còn lại
3. Click nút [Sign
Up]

[Sign Kiểm tra Địa 1. Thiết lập [Địa chỉ] 1.Trả về giao diện Pass
Up-8] chỉ ="" chính của webiste
2. Nhập dữ liệu hợp 2. Khách hàng đăng ký
lệ cho tất cả các thành công
trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập [Địa chỉ] 3. Hiển thị hộp thoại Fail
< 2 ký tự thông báo “Có dữ liệu

96
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Up-9] 2. Nhập dữ liệu hợp nhập không hợp lệ, hãy


lệ cho tất cả các nhập lại”
trường còn lại 4. Con trỏ chuột nhấp
3. Click nút [Sign nháy trong trường [Địa
Up] chỉ]
5. Khách hàng đăng ký
không thành công

[Sign Thiết lập [Địa chỉ] = 1.Trả về giao diện Pass


Up-10] 25 ký tự chính của webiste
2. Nhập dữ liệu hợp 2. Khách hàng đăng ký
lệ cho tất cả các thành công
trường còn lại
3. Click nút [Sign
Up]

[Sign Thiết lập [Địa chỉ] 3. Hiển thị hộp thoại Fail
Up-11] >100 thông báo “Có dữ liệu
2. Nhập dữ liệu hợp nhập không hợp lệ, hãy
lệ cho tất cả các nhập lại”
trường còn lại 4. Con trỏ chuột nhấp
3. Click nút [Sign nháy trong trường [Địa
Up] chỉ]
5. Khách hàng đăng ký
không thành công

[Sign 1. Thiết lập [Địa chỉ] 1.Trả về giao diện Pass


Up-12] bao gồm các khoảng chính của webiste
trắng đầu và cuối 2. Khách hàng đăng ký
2. Nhập dữ liệu hợp thành công
lệ cho tất cả các
trường còn lại

97
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Sign


Up]

[Sign Thiết lập [Địa chỉ] là 1.Trả về giao diện Pass


Up-13] các chữ in hoa chính của webiste
2. Nhập dữ liệu hợp 2. Khách hàng đăng ký
lệ cho tất cả các thành công
trường còn lại
3. Click nút [Sign
Up]

[Sign Kiểm tra sdt 1.Thiết lập [Phone] 3. Hiển thị hộp thoại Fail
Up-14] >10 chữ số thông báo “Có dữ liệu
2. Nhập dữ liệu hợp nhập không hợp lệ, hãy
lệ tất cả các trường nhập lại”
còn lại 4. Con trỏ chuột nhấp
3. Click nút [Sign nháy trong trường
Up] [Phone]
5. Không thêm thông
tin vào danh sách

[Sign 1.Thiết lập [Phone] 3. Hiển thị hộp thoại Fail


Up-15] <10 chữ số thông báo “Có dữ liệu
2. Nhập dữ liệu hợp nhập không hợp lệ, hãy
lệ tất cả các trường nhập lại”
còn lại 4. Con trỏ chuột nhấp
3. Click nút [Sign nháy trong trường
Up] [Phone]
5. Không thêm thông
tin vào danh sách

[Sign 1.Thiết lập [Phone] 1.Trả về giao diện Pass

98
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Up-16] =10 chữ số chính của webiste


2. Nhập dữ liệu hợp 2. Khách hàng đăng ký
lệ tất cả các trường thành công
còn lại
3. Click nút [Sign
Up]

[Sign 1.Thiết lập [Phone] 3. Hiển thị hộp thoại Pass


Up-17] =" " thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập vào trường này”
lệ tất cả các trường 4. Con trỏ chuột nhấp
còn lại nháy trong trường
3. Click nút [Sign [Phone]
Up] 5. Khách hàng đăng ký
không thành công

[Sign 1.Thiết lập [Phone] 3. Hiển thị hộp thoại Pass


Up-18] có khoảng trắng 2 thông báo “Có dữ liệu
đầu nhập không hợp lệ, hãy
2. Nhập dữ liệu hợp nhập lại”
lệ tất cả các trường 4. Con trỏ chuột nhấp
còn lại nháy trong trường
3. Click nút [Sign [Phone]
Up] 5. Không thêm thông
tin vào danh sách

[Sign 1.Thiết lập [Phone] 3. Hiển thị thông báo Fail


Up-19] =các ký tự đặc biệt “Có dữ liệu nhập không
(!,@,#,$..) hợp lệ, hãy nhập lại”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ tất cả các trường nháy trong trường
còn lại [Phone]

99
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Sign 5. Không thêm thông


Up] tin vào danh sách

[Sign 1.Thiết lập [Phone] 3. Hiển thị thông báo Fail


Up-20] là sdt đã được đăng “Số điện thoại đã được
ký trước đó đăng ký”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ tất cả các trường nháy trong trường
còn lại [Phone]
3. Click nút [Sign 5. Không thêm thông
Up] tin vào danh sách

[Sign Kiểm tra 1. Thiết lập [E-mail] 1. Trả về giao diện Pass
Up-21] Email = "" chính của webiste
2. Nhập dữ liệu hợp 2. Khách hàng đăng ký
lệ cho tất cả các thành công
trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập [E-mail] 3. Hiển thị thông báo Fail


Up-22] không chứa ký tự@ “Vui lòng bao gồm '@'
2. Nhập dữ liệu hợp trong địa chỉ email”
lệ cho tất cả các 4. Con trỏ chuột nhấp
trường còn lại nháy trong trường
3. Click nút [Sign [Email]
Up] 5. Khách hàng đăng ký
không thành công

[Sign 1. Thiết lập [E-mail] 1. Trả về giao diện Pass


Up-23] có ký tự @ chính của webiste
2. Nhập dữ liệu hợp 2. Khách hàng đăng ký

100
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lệ cho tất cả các thành công


trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập [E-mail] 3. Hiển thị thông báo Pass


Up-24] = "@gmail.com" “Vui lòng nhập phần
2. Nhập dữ liệu hợp đứng trước @”
lệ cho tất cả các 4. Con trỏ chuột nhấp
trường còn lại nháy trong trường
3. Click nút [Sign [Email]
Up] 5. Khách hàng đăng ký
không thành công

[Sign 1. Thiết lập [E-mail] 3. Hiển thị thông báo Fail


Up-25] >50 ký tự “Vui lòng nhập đúng
2. Nhập dữ liệu hợp định dạng”
lệ cho tất cả các 4. Con trỏ chuột nhấp
trường còn lại nháy trong trường
3. Click nút [Sign [Email]
Up] 5. Khách hàng đăng ký
không thành công

[Sign 1. Thiết lập [E-mail] 3. Hiển thị thông báo Fail


Up-26] không gồm dấu “Vui lòng nhập đúng
chấm tên miền (.) định dạng”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ cho tất cả các nháy trong trường
trường còn lại [Email]
3. Click nút [Sign 5. Khách hàng đăng ký
Up] không thành công

101
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[Sign 1. Thiết lập [E-mail] 1. Trả về giao diện Pass


Up-27] =11 ký tự chính của webiste
2. Nhập dữ liệu hợp 2. Khách hàng đăng ký
lệ cho tất cả các thành công
trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập [E-mail] 3. Hiển thị thông báo Fail


Up-28] <11 ký tự “Vui lòng nhập đúng
2. Nhập dữ liệu hợp định dạng”
lệ cho tất cả các 4. Con trỏ chuột nhấp
trường còn lại nháy trong trường
3. Click nút [Sign [Email]
Up] 5. Khách hàng đăng ký
không thành công

[Sign 1. Thiết lập [E-mail] 3. Hiển thị thông báo Fail


Up-29] là email đã đăng ký “Email đã được đăng
trước đó ký”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ cho tất cả các nháy trong trường
trường còn lại [Email]
3. Click nút [Sign 5. Khách hàng đăng ký
Up] không thành công

[Sign 1. Thiết lập [E-mail] 1. Trả về giao diện Pass


Up-30] bao gồm khoảng chính của webiste
trắng đầu và cuối 2. Khách hàng đăng ký
2. Nhập dữ liệu hợp thành công
lệ cho tất cả các
trường còn lại

102
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Sign


Up]

[Sign Kiểm tra 1. Thiết lập 3. Hiển thị thông báo Pass
Up-31] Password [Password] = "" “Vui lòng điền vào
2. Nhập dữ liệu hợp trường này”
lệ cho tất cả các 4. Con trỏ chuột nhấp
trường còn lại nháy trong trường
3. Click nút [Sign [Password]
Up] 5. Khách hàng đăng ký
không thành công

[Sign 1. Thiết lập 1. Trả về giao diện Pass


Up-32] [Password] chứa các chính của webiste
ký tự đặc biệt 2. Khách hàng đăng ký
(!,@,#,$..) thành công
2. Nhập dữ liệu hợp
lệ cho tất cả các
trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập 3. Hiển thị thông báo Fail


Up-33] [Password] <5 ký tự “Vui lòng nhập lại”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ cho tất cả các nháy trong trường
trường còn lại [Password]
3. Click nút [Sign 5. Khách hàng đăng ký
Up] không thành công

[Sign 1. Thiết lập 3. Hiển thị thông báo Fail


[Password] >50 ký “Vui lòng nhập lại”

103
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Up-34] tự 4. Con trỏ chuột nhấp


2. Nhập dữ liệu hợp nháy trong trường
lệ cho tất cả các [Password]
trường còn lại 5. Khách hàng đăng ký
3. Click nút [Sign không thành công
Up]

[Sign 1. Thiết lập 3. Trả về giao diện Pass


Up-35] [Passwordl] =10 ký chính của webiste
tự 4. Khách hàng đăng ký
2. Nhập dữ liệu hợp thành công
lệ cho tất cả các
trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập 3. Hiển thị thông báo Fail


Up-36] [Password] bao gồm “Vui lòng nhập lại”
khoảng trắng đầu và 4. Con trỏ chuột nhấp
cuối nháy trong trường
2. Nhập dữ liệu hợp [Password]
lệ cho tất cả các 5. Khách hàng đăng ký
trường còn lại không thành công
3. Click nút [Sign
Up]

[Sign Kiểm tra 1. Thiết lập 3. Hiển thị thông báo Pass
Up-37] Confirm [Confirm Password] “Vui lòng điền vào
Password = "" trường này”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ cho tất cả các nháy trong trường
trường còn lại [Email]

104
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Sign 5. Khách hàng đăng ký


Up] không thành công

[Sign 1. Thiết lập 1. Trả về giao diện Pass


Up-38] [Confirm Password] chính của webiste
trùng với password 2. Khách hàng đăng ký
2. Nhập dữ liệu hợp thành công
lệ cho tất cả các
trường còn lại
3. Click nút [Sign
Up]

[Sign 1. Thiết lập 3. Hiển thị thông báo Fail


Up-39] [Confirm Password] “Vui lòng nhập lại”
không trùng với 4. Con trỏ chuột nhấp
password nháy trong trường
2. Nhập dữ liệu hợp [Email]
lệ cho tất cả các 5. Khách hàng đăng ký
trường còn lại không thành công
3. Click nút [Sign
Up]

[Sign Bussiness 1. Nhập hợp lệ các 2. Khách hàng đăng ký Pass


Up-40] trường dữ liệu thành công
2. Click nút [Sign 3. Trả về giao diện
Up] trang chủ

[Sign 1. Nhập không hợp 3. Hiển thị thông báo Fail


Up-41] lệ các trường dữ liệu “Xảy ra lỗi”
2. Click nút [Sign 4. Đóng hộp thoại
Up] Trả về màn hình đăng

105
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

5. Khách hàng đăng ký


không thành công

[Sign 1. Nhập hợp lệ các 3. Tải lại trang Pass


Up-42] trường dữ liệu 4. Clear toàn bộ dữ liệu
2. Click Refresh

[Sign 1. Nhập hợp lệ tất cả 2. Thoát khỏi giao diện Pass


Up-43] các trường dữ liệu đăng ký
2. Nhấn thoát 3. Không đăng ký thành
công

[Sign 1. Bỏ trống tất cả 2. Khách hàng đăng ký Pass


Up-44] các trường dữ liệu không thành công
2. Click nút [Sign
Up]

[Sign href Đăng ký 1. Click [Đăng ký] 2.Trả về giao diện đăng Pass
Up-45] ký tài khoản

[Sign Button Sign 1. Click nút [Sign 2. Khách hàng đăng ký Pass
Up-46] Up Up] thành công, lưu vào
trong csdl
3. Trả về giao diện
trang chủ

Bảng 3. 7: Test case chức năng Đăng ký

c) Profile Khách hàng


ID Test Case Test Case Expected Output Actual
Description Procedure Result

Cập nhật

106
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[Profile- Kiểm tra tên 1. Thiết lập [Tên 1. Hiển thị thông báo Fail
1] khách hàng người dùng] = "" “Vui lòng nhập vào
2. Nhập dữ liệu hợp trường này”
lệ cho tất cả các 2. Con trỏ chuột nhấp
trường còn lại nháy trong trường [Tên
3. Click nút [Save người dùng]
Changes] 3. Khách hàng không
cập nhật profile thành
công

[Profile- 1. Thiết lập [Tên 3. Hiển thị thông báo Fail


2] người dùng] >50 kí “Vui lòng nhập không
tự quá 50 ký tự”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ cho tất cả các nháy trong trường [Tên
trường còn lại người dùng]
3. Click nút [Save 5. Khách hàng không
Changes] cập nhật profile thành
công

[Profile- 1. Thiết lập [Tên 3. Trả về giao diện Pass


3] người dùng] =1 kí tự profile khách hàng
2. Nhập dữ liệu hợp 4. Khách hàng đăng ký
lệ cho tất cả các tài khoản thành công
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Tên 3. Hiển thị thông báo Fail


4] người dùng] = 10 “Vui lòng nhập vào
khoảng trắng trường này”
2. Nhập dữ liệu hợp 4.Con trỏ chuột nhấp

107
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lệ cho tất cả các nháy trong trường [Tên


trường còn lại người dùng]
3. Click nút [Save 5. Khách hàng đăng ký
Changes] không thành công

[Profile- 1. Thiết lập [Tên 3. Trả về giao diện Pass


5] KH] =18 ký tự profile khách hàng
2. Nhập dữ liệu hợp 4. Khách hàng đăng ký
lệ cho tất cả các tài khoản thành công
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Tên 3. Trả về giao diện Pass


6] KH] là các chữ in profile khách hàng
hoa 4. Khách hàng đăng ký
2. Nhập dữ liệu hợp tài khoản thành công
lệ cho tất cả các
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Tên 3. Trả về giao diện Pass


7] người dùng] có các profile khách hàng
khoảng trắng đầu 4. Khách hàng đăng ký
với cuối tài khoản thành công
2. Nhập dữ liệu hợp
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm]

[Profile- Kiểm tra Địa 1. Thiết lập [Địa chỉ] 3. Hiển thị hộp thoại Fail

108
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

8] chỉ ="" thông báo “Vui lòng


2. Nhập dữ liệu hợp nhập vào trường này”
lệ cho tất cả các 4. Con trỏ chuột nhấp
trường còn lại nháy trong trường [Địa
3. Click nút [Save chỉ]
Changes] 5. Khách hàng cập nhật
không thành công

[Profile- 1. Thiết lập [Địa chỉ] 3. Hiển thị hộp thoại Fail
9] < 2 ký tự thông báo “Có dữ liệu
2. Nhập dữ liệu hợp nhập không hợp lệ, hãy
lệ cho tất cả các nhập lại”
trường còn lại 4. Con trỏ chuột nhấp
3. Click nút [Save nháy trong trường [Địa
Changes] chỉ]
5. Khách hàng đăng ký
không thành công

[Profile- Thiết lập [Địa chỉ] = 1.Trả về giao diện Pass


10] 25 ký tự profile khách hàng
2. Nhập dữ liệu hợp 2. Khách hàng cập nhật
lệ cho tất cả các profile thành công
trường còn lại
3. Click nút [Save
Changes]

[Profile- Thiết lập [Địa chỉ] 3. Hiển thị hộp thoại Fail
11] >100 thông báo “Có dữ liệu
2. Nhập dữ liệu hợp nhập không hợp lệ, hãy
lệ cho tất cả các nhập lại”
trường còn lại 4. Con trỏ chuột nhấp
3. Click nút [Save nháy trong trường [Địa

109
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Changes] chỉ]
5. Khách hàng đăng ký
không thành công

[Profile- 1. Thiết lập [Địa chỉ] 1.Trả về giao diện Pass


12] bao gồm các khoảng profile khách hàng
trắng đầu và cuối 2. Khách hàng cập nhật
2. Nhập dữ liệu hợp profile thành công
lệ cho tất cả các
trường còn lại
3. Click nút [Save
Changes]

[Profile- Thiết lập [Địa chỉ] là 1.Trả về giao diện Pass


13] các chữ in hoa profile khách hàng
2. Nhập dữ liệu hợp 2. Khách hàng cập nhật
lệ cho tất cả các profile thành công
trường còn lại
3. Click nút [Save
Changes]

[Profile- Kiểm tra sdt 1.Thiết lập [Phone] 3. Hiển thị hộp thoại Fail
14] >10 chữ số thông báo “Có dữ liệu
2. Nhập dữ liệu hợp nhập không hợp lệ, hãy
lệ tất cả các trường nhập lại”
còn lại 4. Con trỏ chuột nhấp
3. Click nút [Save nháy trong trường
Changes] [Phone]
5. Không thêm thông
tin vào danh sách

[Profile- 1.Thiết lập [Phone] 3. Hiển thị hộp thoại Fail

110
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

15] <10 chữ số thông báo “Có dữ liệu


2. Nhập dữ liệu hợp nhập không hợp lệ, hãy
lệ tất cả các trường nhập lại”
còn lại 4. Con trỏ chuột nhấp
3. Click nút [Save nháy trong trường
Changes] [Phone]
5. Không thêm thông
tin vào danh sách

[Profile- 1.Thiết lập [Phone] 1. Hiển thị thông báo Pass


16] =10 chữ số message "cập nhật
2. Nhập dữ liệu hợp profile thành công"
lệ tất cả các trường 2. Khách hàng cập nhật
còn lại profile thành công
3. Click nút [Save
Changes]

[Profile- 1.Thiết lập [Phone] 3. Hiển thị hộp thoại Fail


17] =" " thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập vào trường này”
lệ tất cả các trường 4. Con trỏ chuột nhấp
còn lại nháy trong trường
3. Click nút [Save [Phone]
Changes] 5. Khách hàng đăng ký
không thành công

[Profile- 1.Thiết lập [Phone] 3. Hiển thị hộp thoại Fail


18] có khoảng trắng 2 thông báo “Có dữ liệu
đầu nhập không hợp lệ, hãy
2. Nhập dữ liệu hợp nhập lại”
lệ tất cả các trường 4. Con trỏ chuột nhấp
còn lại nháy trong trường

111
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Save [Phone]


Changes] 5. Không thêm thông
tin vào danh sách

[Profile- 1.Thiết lập [Phone] 3. Hiển thị thông báo Fail


19] =10 ký tự đặc biệt “Có dữ liệu nhập không
(!,@,#,$..) hợp lệ, hãy nhập lại”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ tất cả các trường nháy trong trường
còn lại [Phone]
3. Click nút [Save 5. Không thêm thông
Changes] tin vào danh sách

[Sign 1.Thiết lập [Phone] 3. Hiển thị thông báo Fail


Up-20] là sdt đã được đăng “Số điện thoại đã được
ký tài khoản khác đăng ký”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ tất cả các trường nháy trong trường
còn lại [Phone]
3. Click nút [Sign 5. Không thêm thông
Up] tin vào danh sách

[Profile- Kiểm tra Mật 1. Thiết lập [Mật 3. Hiển thị thông báo Fail
21] khẩu khẩu] = "" “Vui lòng điền vào
2. Nhập dữ liệu hợp trường này”
lệ cho tất cả các 4. Con trỏ chuột nhấp
trường còn lại nháy trong trường [Mật
3. Click nút [Save khẩu]
Changes] 5. Khách hàng đăng ký
không thành công

[Profile- 1. Thiết lập [Mật 1. Trả về giao diện Pass

112
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

22] khẩu] =10 ký tự profile khách hàng


2. Nhập dữ liệu hợp 2. Khách hàng cập nhật
lệ cho tất cả các profile thành công
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Mật 1. Trả về giao diện Pass


23] khẩu] chứa các ký tự profile khách hàng
đặc biệt (!,@,#,$..) 2. Khách hàng cập nhật
2. Nhập dữ liệu hợp profile thành công
lệ cho tất cả các
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Mật 3. Hiển thị thông báo Fail


24] khẩu] <5 ký tự “Vui lòng nhập lại”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ cho tất cả các nháy trong trường [Mật
trường còn lại khẩu]
3. Click nút [Save 5. Khách hàng đăng ký
Changes] không thành công

[Profile- 1. Thiết lập [Mật 3. Hiển thị thông báo Fail


25] khẩu] >50 ký tự “Vui lòng nhập lại”
2. Nhập dữ liệu hợp 4. Con trỏ chuột nhấp
lệ cho tất cả các nháy trong trường [Mật
trường còn lại khẩu]
3. Click nút [Save 5. Khách hàng đăng ký
Changes] không thành công

113
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[Profile- 1. Thiết lập [Mật 3. Hiển thị thông báo Fail


26] khẩu] bao gồm “Vui lòng nhập lại”
khoảng trắng đầu và 4. Con trỏ chuột nhấp
cuối nháy trong trường [Mật
2. Nhập dữ liệu hợp khẩu]
lệ cho tất cả các 5. Khách hàng đăng ký
trường còn lại không thành công
3. Click nút [Save
Changes]

[Profile- Kiểm tra Ảnh 1. Thiết lập [Ảnh] = 3. Trả về giao diện Pass
27] blank profile khách hàng
2. Nhập dữ liệu hợp 4. Khách hàng cập nhật
lệ cho tất cả các profile thành công
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Hiển thị thông báo Fail


28] =.docx “Vui lòng chọn đúng
2. Nhập dữ liệu hợp định dạng”
lệ cho tất cả các 4. Khách hàng cập nhật
trường còn lại profile không thành
3. Click nút [Save công
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Hiển thị thông báo Fail


29] =.csv “Vui lòng chọn đúng
2. Nhập dữ liệu hợp định dạng”
lệ cho tất cả các 4. Khách hàng cập nhật
trường còn lại profile không thành
3. Click nút [Save

114
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Changes] công

[Profile- 1. Thiết lập [Ảnh] 3. Trả về giao diện Pass


30] =.img profile khách hàng
2. Nhập dữ liệu hợp 4. Khách hàng cập nhật
lệ cho tất cả các profile thành công
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Trả về giao diện Pass


31] =.jpg profile khách hàng
2. Nhập dữ liệu hợp 4. Khách hàng cập nhật
lệ cho tất cả các profile thành công
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Chọn 1 ảnh 3. Trả về giao diện Pass


32] 2. Nhập dữ liệu hợp profile khách hàng
lệ cho tất cả các 4. Khách hàng cập nhật
trường còn lại profile thành công
3. Click nút [Save
Changes]

[Profile- 1. Chọn nhiều ảnh 3. Hiển thị thông báo Fail


33] 2. Nhập dữ liệu hợp “Vui lòng chọn 1 ảnh”
lệ cho tất cả các 4. Khách hàng cập nhật
trường còn lại profile không thành
3. Click nút [Save công
Changes]

[Profile- Bussiness 1. Nhập hợp lệ các 2. Đóng giao diện cập Pass

115
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

34] trường dữ liệu nhật người dùng


2. Click nút [Save Trả về giao diện profile
Changes] khách hàng
3. Cập nhật lại thông
tin

[Profile- 1. Giữ nguyên dữ 2.Đóng giao diện cập Pass


35] liệu cũ nhật người dùng
2. Click nút [Save Trả về giao diện profile
Changes] khách hàng
3. Giữ nguyên thông tin

[Profile- 1. Nhập hợp lệ các 2.Đóng giao diện cập Pass


36] trường dữ liệu nhật người dùng
2. Click nút [Close] Trả về giao diện profile
khách hàng
3. Giữ nguyên thông tin

[Profile- 1. Nhập hợp lệ các 2. Tải lại trang Pass


37] trường dữ liệu 3. Clear toàn bộ dữ liệu
2. Nhân Refresh

[Profile- 1. Nhập hợp lệ các 2. Đóng giao diện thêm Pass


38] trường dữ liệu loại xe
2. Nhấn thoát 3. Không cập nhật loại
xe vào danh sách

[Profile- 1. Bỏ trống tất cả 2. Hiển thị thông báo Fail


39] các trường “Vui lòng nhập vào
2. Click nút [Save thông tin”
Changes] 3. Đóng hộp thoại, trả
về màn hình cập nhật
người dùng

116
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[Sign href tên 1. Click [Tên khách 1.Chuyển đến giao diện Pass
Up-40] khách hàng hàng] thông tin người dùng

[Sign Button Cập 1. Click nút [Cập 1. Trả về giao diện cập Pass
Up-41] nhật nhật] nhật thông tin người
dùng

[Sign Button Xác 1. Click nút [Xác 1. Đăng nhập thành Pass
Up-42] nhận nhận] công
2. Trả về giao diện
trang chủ

[Sign Button Close 1. Click nút [Close] 1. Đóng giao diện cập Pass
Up-43] nhật người dùng
2. Trả về giao diện
thông tin người dùng

Giao diện

[Sign Kiểm tra thứ 1. Nhảy đến màn Khi người dùng nhấn
Up-43] tự tab, tab- hình Đăng ký phím Tab, con trỏ di
shift, di 2. Kiểm tra thứ tự chuyển từ trái sang
chuyển của tab, tab-shift, di phải, từ trên xuống
chuột chuyển của chuột dưới

[Sign Kiểm tra vị 1. Di chuyển đến Con trỏ nằm trong lĩnh
Up-44] trí con trỏ màn hình Đăng ký vực kích hoạt đầu tiên
2. Kiểm tra vị trí con khi màn hình được mở
trỏ ra.
- Sau khi thông báo lỗi
xảy ra, con trỏ chuột sẽ
nhấp nháy tại vị trị báo
lỗi

117
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[Sign Kiểm tra căn 1. Di chuyển đến - Các chữ viết được căn
Up-45] lề các trường màn hình Đăng ký trái hoặc căn phải
2. Kiểm tra căn lề - Các trường được căn
các trường trái hoặc căn phải

[Sign Kiểm tra giao 1. Di chuyển đến Các label, textbox,


Up-46] diện màn màn hình Đăng ký combo có độ dài, rộng
hình cập nhật 2. Kiểm tra giao và khoảng cách bằng
profile diện trực quan màn nhau, không xô lệch
hình

[Sign Kiểm tra giao 1. Di chuyển đến Các label sử dụng cùng
Up-47] diện màn màn hình Đăng ký 1 loại font, cỡ chữ, căn
hình cập nhật 2. Kiểm tra giao lề trái
profile diện trực quan màn
hình

[Sign Kiểm tra giao 1. Di chuyển đến Các trường hợp bắt
Up-48] diện màn màn hình Đăng ký buộc nhập phải có dấu
hình cập nhật 2. Kiểm tra giao (*)
profile diện trực quan màn
hình

[Sign Kiểm tra giao 1. Di chuyển đến Kiểm tra tất cả lỗi về
Up-49] diện màn màn hình Đăng ký chính tả, cấu trúc câu,
hình cập nhật 2. Kiểm tra giao ngữ pháp trên màn hình
profile diện trực quan màn
hình

[Sign Kiểm tra biểu 1. Di chuyển đến Con trỏ chuột xuất hiện
Up-50] tượng của trỏ màn hình Đăng ký hình bàn tay khi di đến
chuột khi 2. Kiểm tra biểu button hoặc link
click vào tượng của trỏ chuột

118
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

button hoặc khi click vào button


vào link hoặc vào link

[Sign Kiểm tra Refresh màn hình 1. Refesh lại màn hình
Up-51] trường hợp (Nhấn F5) 2. Sau khi refresh, các
Refresh màn chức năng vẫn thực
hình (Nhấn hiện đúng
F5)

[Sign Kiểm tra các Kiểm tra các


Up-52] message message có đúng
chính tả không

[Sign Kiểm tra 1. Trên màn hình Hệ thống sẽ hiển thị


Up-53] view profile Trang chủ thông tin chi tiết của
2. Người dùng click user đó
vào tên user

[Sign Cập nhật 1. Người dùng click Trên form cập nhật
Up-54] profile vào mục “Cập nhật ” người dùng cập nhật
thông tin: Tên khách
hàng, số điẹn thoại, mật
khẩu, địa chỉ

Bảng 3. 8: Test case chức năng quản lý thông tin khách hàng

d) Quản lý loại xe
ID Test Case Test Case Expected Output Actual
Description Procedure Result

Thêm loại xe

[LX-1] Kiểm tra tên 1. Thiết lập [Tên 1. Hiển thị thông báo Fail
loại xe loại] = "" “Vui lòng nhập vào

119
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2. Nhập dữ liệu hợp trường này”


lệ cho tất cả các 2. Đóng hộp thoại, trả
trường còn lại về màn hình thêm loại
3. Click nút [Save xe
Changes] 3. Không thêm loại xe
vào danh sách

[LX-2] 1. Thiết lập [Tên 3. Hiển thị hộp thoại Pass


loại] >50 kí tự thông báo “xảy ra lỗi”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm thể
trường còn lại loại
3. Click nút [Save 5. Không thêm loại xe
Changes] vào danh sách

[LX-3] 1. Thiết lập [Tên 3. Hiển thị thông báo Pass


loại] =1 kí tự “Thêm thành công”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các Trả về giao diện loại xe
trường còn lại 4. Thêm loại xe vào
3. Click nút [Save danh sách
Changes]

[LX-4] 1. Thiết lập [Tên 1. Hiển thị thông báo Fail


loại] = 10 khoảng “Vui lòng nhập vào
trắng trường này”
2. Nhập dữ liệu hợp 2. Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm loại
trường còn lại xe
3. Click nút [Save 3. Không thêm loại xe
Changes] vào danh sách

120
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[LX-5] 1. Thiết lập [Tên 3. Hiển thị thông báo Pass


loại] =18 ký tự “Thêm thành công”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các Trả về giao diện loại xe
trường còn lại 4. Thêm loại xe vào
3. Click nút [Save danh sách
Changes]

[LX-6] 1. Thiết lập [Tên 3. Hiển thị thông báo Pass


loại] là các chữ in “Thêm thành công”
hoa 4. Đóng hộp thoại
2. Nhập dữ liệu hợp Trả về giao diện loại xe
lệ cho tất cả các 4. Thêm loại xe vào
trường còn lại danh sách
3. Click nút [Save
Changes]

[LX-7] 1. Thiết lập [Tên 3. Hiển thị thông báo Pass


loại] có các khoảng “Thêm thành công”
trắng đầu với cuối 4. Đóng hộp thoại
2. Nhập dữ liệu hợp Trả về giao diện loại xe
lệ cho tất cả các 4. Thêm loại xe vào
trường còn lại danh sách
3. Click nút [Save
Changes]

[LX-8] Kiểm tra Ghi 1. Thiết lập [Ghi 3. Hiển thị hộp thoại Pass
chú chú] ="" thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập vào trường này”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm loại
3. Click nút [Save xe

121
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Changes] 5. Không thêm loại xe


vào danh sách

[LX-9] 1. Thiết lập [Ghi 3. Hiển thị hộp thoại Fail


chú] = các khoảng thông báo “xảy ra lỗi”
trắng 4. Đóng hộp thoại, trả
2. Nhập dữ liệu hợp về màn hình thêm loại
lệ cho tất cả các xe
trường còn lại 5. Không thêm loại xe
3. Click nút [Save vào danh sách
Changes]

[LX- Thiết lập [Ghi chú] 3. Hiển thị thông báo Pass
10] = 20 ký tự “Thêm thành công”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các Trả về giao diện loại xe
trường còn lại 4. Thêm loại xe vào
3. Click nút [Save danh sách
Changes]

[LX- Thiết lập [Ghi chú] 3. Hiển thị hộp thoại Pass
11] >100 thông báo “xảy ra lỗi”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các 5. Không thêm loại xe
trường còn lại vào danh sách
3. Click nút [Save
Changes]

[LX- 1. Thiết lập [Ghi 3. Hiển thị thông báo Pass


12] chú] bao gồm các “Thêm thành công”
khoảng trắng đầu và 4. Đóng hộp thoại
cuối Trả về giao diện loại xe

122
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2. Nhập dữ liệu hợp 4. Thêm loại xe vào


lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Save
Changes]

[LX- Thiết lập [Ghi chú] 3. Hiển thị thông báo Pass
13] là các chữ in hoa “Thêm thành công”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các Trả về giao diện loại xe
trường còn lại 4. Thêm loại xe vào
3. Click nút [Save danh sách
Changes]

[LX- Bussiness 1. Nhập hợp lệ các 2. Hiển thị thông báo Pass
14] trường dữ liệu “Thêm thành công”
2. Click nút [Save 3. Đóng hộp thoại
Changes] Trả về giao diện loại xe
4. Thêm loại xe vào
danh sách

[LX- 1. Nhập hợp lệ các 3. Đóng hộp thoại Pass


15] trường dữ liệu Trả về giao diện loại xe
2. Click nút [Close] 4. Không thêm loại xe
vào danh sách

[LX- 1. Nhập hợp lệ các 3. Tải lại trang Pass


16] trường dữ liệu 4. Clear toàn bộ dữ liệu
2. Nhân Refresh

[LX- 1. Nhập hợp lệ các 3. Đóng giao diện thêm Pass


17] trường dữ liệu loại xe
2. Nhân thoát 4. Không thêm loại xe

123
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

vào danh sách

[LX- 1. Bỏ trống tất cả 2. Hiển thị thông báo Fail


18] các trường “Xảy ra lỗi”
2. Click nút [Save 3. Đóng hộp thoại
Changes] Trả về giao diện loại xe
4. Không thêm loại xe
vào danh sách

[LX- Button [Thêm 1. Click nút [Thêm 1. Trả về giao diện Pass
19] Loại xe] Loại xe] thêm bản ghi

[LX- Button [Save 1. Click nút [Save 1. Thêm loại xe vào Pass
20] Changes] Changes] csdl
2. Trả về giao diện gồm
danh sách các loại xe

[LX- Button 1. Click nút [Close] 1. Đóng giao diện Pass


21] [Close] thêm bản ghi
2. Trả về giao diện gồm
danh sách các loại xe

Sửa loại xe

[LX- Kiểm tra tên 1. Thiết lập [Tên 1. Hiển thị thông báo Pass
23] loại xe loại] = "" “Vui lòng nhập vào
2. Nhập dữ liệu hợp trường này”
lệ cho tất cả các 2. Đóng hộp thoại, trả
trường còn lại về màn hình sửa bản
3. Click nút ghi
[Update] 3. Không cập nhật loại
xe vào danh sách

124
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[LX- 1. Thiết lập [Tên 3. Hiển thị hộp thoại Pass


24] loại] >50 kí tự thông báo “xảy ra lỗi”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại, trả
lệ cho tất cả các về màn hình sửa bản
trường còn lại ghi
3. Click nút 5. Không cập nhật loại
[Update] xe vào danh sách

[LX- 1. Thiết lập [Tên 3. Hiển thị thông báo Fail


25] loại] =1 kí tự “sửa thành công”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các Trả về giao diện loại xe
trường còn lại 4. cập nhật loại xe vào
3. Click nút danh sách
[Update]

[LX- 1. Thiết lập [Tên 1. Hiển thị thông báo Pass


26] loại] = 10 khoảng “Vui lòng nhập vào
trắng trường này”
2. Nhập dữ liệu hợp 2. Đóng hộp thoại, trả
lệ cho tất cả các về màn hình sửa bản
trường còn lại ghi
3. Click nút 3. Không cập nhật loại
[Update] xe vào danh sách

[LX- 1. Thiết lập [Tên 3. Hiển thị thông báo Pass


27] KH] =18 ký tự “sửa thành công”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các Trả về giao diện loại xe
trường còn lại 4. cập nhật loại xe vào
3. Click nút danh sách

125
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[Update]

[LX- 1. Thiết lập [Tên 3. Hiển thị thông báo Pass


28] KH] là các chữ in “sửa thành công”
hoa 4. Đóng hộp thoại
2. Nhập dữ liệu hợp Trả về giao diện loại xe
lệ cho tất cả các 4. cập nhật loại xe vào
trường còn lại danh sách
3. Click nút
[Update]

[LX- 1. Thiết lập [Tên 3. Hiển thị thông báo Pass


29] loại] có các khoảng “sửa thành công”
trắng đầu với cuối 4. Đóng hộp thoại
2. Nhập dữ liệu hợp Trả về giao diện loại xe
lệ cho tất cả các 4. cập nhật loại xe vào
trường còn lại danh sách
3. Click nút
[Update]

[LX- Kiểm tra Ghi 1. Thiết lập [Ghi 3. Hiển thị hộp thoại Fail
30] chú chú] ="" thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập vào trường này”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình sửa bản
3. Click nút ghi
[Update] 5. Không cập nhật loại
xe vào danh sách

[LX- 1. Thiết lập [Ghi 3. Hiển thị hộp thoại Pass


31] chú] = các khoảng thông báo “xảy ra lỗi”
trắng 4. Đóng hộp thoại, trả

126
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2. Nhập dữ liệu hợp về màn hình sửa bản


lệ cho tất cả các ghi
trường còn lại 5. Không cập nhật loại
3. Click nút xe vào danh sách
[Update]

[LX- Thiết lập [Ghi chú] 3. Hiển thị thông báo Pass
32] = 20 ký tự “sửa thành công”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các Trả về giao diện loại xe
trường còn lại 4. cập nhật loại xe vào
3. Click nút danh sách
[Update]

[LX- Thiết lập [Ghi chú] 3. Hiển thị hộp thoại Pass
33] >100 thông báo “xảy ra lỗi”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các 5. Không cập nhật loại
trường còn lại xe vào danh sách
3. Click nút
[Update]

[LX- 1. Thiết lập [Ghi 3. Hiển thị thông báo Pass


34] chú] bao gồm các “Thêm thành công”
khoảng trắng đầu và 4. Đóng hộp thoại
cuối Trả về giao diện loại xe
2. Nhập dữ liệu hợp 4. cập nhật loại xe vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút
[Update]

127
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[LX- Thiết lập [Ghi chú] 3. Hiển thị thông báo Pass
35] là các chữ in hoa “sửa thành công”
2. Nhập dữ liệu hợp 4. Đóng hộp thoại
lệ cho tất cả các Trả về giao diện loại xe
trường còn lại 4. cập nhật loại xe vào
3. Click nút danh sách
[Update]

[LX- Bussiness 1. Nhập hợp lệ các 2. Hiển thị thông báo Pass
36] trường dữ liệu “sửa thành công”
2. Click nút 3. Đóng hộp thoại
[Update] Trả về giao diện loại xe
5. cập nhật loại xe vào
danh sách

[LX- 1. Giữ nguyên dữ 2. Hiển thị thông báo Pass


37] liệu cũ “sửa thành công”
2. Click nút 3. Đóng hộp thoại
[Update] Trả về giao diện loại xe
5. cập nhật loại xe vào
danh sách

[LX- 1. Nhập hợp lệ các 2. Đóng hộp thoại Pass


38] trường dữ liệu Trả về giao diện loại xe
2. Click nút [Close] 3. Cập nhật loại xe vào
danh sách

[LX- 1. Nhập hợp lệ các 2. Tải lại trang Pass


39] trường dữ liệu 3. Clear toàn bộ dữ liệu
2. Nhân Refresh

[LX- 1. Nhập hợp lệ các 2. Đóng giao diện thêm Fail


40]

128
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

trường dữ liệu loại xe


2. Nhấn thoát 3. Không cập nhật loại
xe vào danh sách

[LX- 1. Bỏ trống tất cả 3. Hiển thị thông báo Pass


41] các trường “Xảy ra lỗi”
2. Click nút 4. Đóng hộp thoại, trả
[Update] về màn hình sửa bản
ghi
4. Không cập nhật loại
xe vào danh sách

[LX- 1. Trả về giao diện sửa Pass


Button 1. Click nút
42] bản ghi

[LX- Button 1. Click nút 1. Cập nhật loại xe vào Pass


43] [Update] [Update] csdl
2. Trả về giao diện gồm
danh sách các loại xe

[LX- Button 1. Click nút [Close] 1. Đóng giao diện sửa Pass
44] [Close] bản ghi
2. Trả về giao diện gồm
danh sách các loại xe

Xoá

[LX- Bussiness 1. Click [Xoá] 1 loại 1. Hiển thị hộp thoại


40] xe thông báo "bạn có
2. Click nút [Huỷ] muốn làm điều này
không?"
2. Đóng hộ thoại, trả về
giao diện Loại xe, dữ

129
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

liệu không bị xoá

[LX- 1. Click [Xoá] 1 loại 1. Hiển thị hộp thoại


41] xe thông báo "bạn có
2. Click nút [OK] muốn làm điều này
không?"
2. Đóng hộ thoại, trả về
giao diện Loại xe, dữ
liệu đã bị xoá

[LX- Button 1. Click 1. Hiển thị hộp thoại


48] thông báo "bạn có
muốn làm điều này
không? OK/Huỷ"

Tìm kiếm

[LX- Bussiness 1. Nhập dữ liệu hợp 1. Hiển thị thông tin


43] lệ trên thanh tìm tìm kiến lên giao diện
kiếm và tồn tại trong
csdl

[LX- 1. Nhập dữ liệu hợp 1. Hiển thị thông báo


44] lệ trên thanh tìm "No matching records
kiếm nhưng không found" trên giao diện
tồn tại trong csdl

[LX- 1. Nhập dữ liệu 1. Hiển thị thông báo


45] không hợp lệ trên "No matching records
thanh tìm kiếm found" trên giao diện

Bảng 3. 9: Test case quản lý loại xe

130
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

e) Quản lý sản phẩm


ID Test Case Test Case Expected Output Actual
Description Procedure Result

Thêm sản phẩm

[SP-1] Kiểm tra tên 1. Thiết lập [Tên sản 1. Hiển thị thông báo Fail
sản phẩm phẩm] = "" “Vui lòng nhập vào
2. Nhập dữ liệu hợp trường này”
lệ cho tất cả các 2. Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 3. Không thêm sản
phẩm vào danh sách

[SP-2] 1. Thiết lập [Tên sản 3.Trả về giao diện Pass


phẩm] chứa khoảng quản lý sản phẩm
trắng đầu và cuối 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-3] 1. Thiết lập [Tên sản 3.Trả về giao diện Pass


phẩm] =1 kí tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-4] 1. Thiết lập [Tên sản 1. Hiển thị thông báo Fail

131
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

phẩm] chứa các ký “Vui lòng nhập đúng


tự đặc biệt (!,@,#..) định dạng”
2. Nhập dữ liệu hợp 2. Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm loại
trường còn lại xe
3. Click nút [Thêm 3. Không thêm loại xe
mới] vào danh sách

[SP-5] 1. Thiết lập [Tên sản 3.Trả về giao diện


phẩm] =10 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-6] 1. Thiết lập [Tên sản 3.Trả về giao diện Pass


phẩm] là các chữ in quản lý sản phẩm
hoa 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-7] Kiểm tra list 1. Click vào [Loại 1. Hiển thị 1 list loại Pass
loại sản phẩm sản phẩm] sản phẩm

[SP-8] Kiểm tra list 1. Click vào [Nhà 1. Hiển thị 1 list nhà Pass
nhà cung cấp cung cấp] cung cấp

[SP-9] Kiểm tra Giá 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail
nhập nhập] ="" thông báo “Vui lòng

132
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2. Nhập dữ liệu hợp nhập vào trường này”


lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-10] 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail


nhập] có chứa các ký thông báo “Vui lòng
tự đặc biệt (!,@,#..) nhập đúng định dạng”
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-11] 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail


nhập] là số âm thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-12] 1. Thiết lập [Giá 3.Trả về giao diện Pass


nhập] gồm 9 ký tự số quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm

133
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

mới]

[SP-13] 1. Thiết lập [Giá 3.Trả về giao diện Pass


nhập] gồm 1 ký tự số quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-14] 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail


nhập] =0 thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập vào trường này”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-15] 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail


nhập] các chữ cái thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-16] Kiểm tra Giá 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail
bán bán] ="" thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập vào trường này”
lệ cho tất cả các 4.Đóng hộp thoại, trả

134
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

trường còn lại về màn hình thêm sản


3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-17] 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail


bán] có chứa các ký thông báo “Vui lòng
tự đặc biệt (!,@,#..) nhập đúng định dạng”
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-18] 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail


bán] là số âm thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-19] 1. Thiết lập [Giá 3.Trả về giao diện Pass


bán] gồm 9 ký tự số quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-20] 1. Thiết lập [Giá 3.Trả về giao diện Pass

135
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

bán] gồm 1 ký tự số quản lý sản phẩm


2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-21] 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail


bán] =0 thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập vào trường này”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-22] 1. Thiết lập [Giá 3. Hiển thị hộp thoại Fail


bán] các chữ cái thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-23] Kiểm tra 1. Thiết lập [Động 3.Trả về giao diện Pass
Động cơ cơ] các chữ cái in quản lý sản phẩm
hoa 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm

136
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

mới]

[SP-24] 1. Thiết lập [Động 3. Hiển thị hộp thoại Fail


cơ] có chứa các ký tự thông báo “Vui lòng
đặc biệt (!,@,#..) nhập đúng định dạng”
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-25] 1. Thiết lập [Động 3.Trả về giao diện Pass


cơ]="" quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-26] 1. Thiết lập [Động 3. Hiển thị hộp thoại Fail


cơ] toàn ký tự trắng thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-27] 1. Thiết lập [Động 3.Trả về giao diện Pass


cơ]= 30 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách

137
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

trường còn lại


3. Click nút [Thêm
mới]

[SP-28] 1. Thiết lập [Động 3.Trả về giao diện Pass


cơ]= 1 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-29] Kiểm tra Mức 1. Thiết lập [Mức 3.Trả về giao diện Pass
tiêu thụ tiêu thị nguyên liệu] quản lý sản phẩm
nguyên liệu các chữ cái in hoa 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-30] 1. Thiết lập [Mức 3.Trả về giao diện Pass


tiêu thị nguyên liệu] quản lý sản phẩm
có chứa các ký tự 4. Thêm sản phẩm vào
đặc biệt (!,@,#..) danh sách
2. Nhập dữ liệu hợp
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-31] 1. Thiết lập [Mức 3.Trả về giao diện Pass

138
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

tiêu thị nguyên quản lý sản phẩm


liệu]="" 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-32] 1. Thiết lập [Mức 3. Hiển thị hộp thoại Fail


tiêu thị nguyên liệu] thông báo “Vui lòng
toàn ký tự trắng nhập đúng định dạng”
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-33] 1. Thiết lập [Mức 3.Trả về giao diện Pass


tiêu thị nguyên quản lý sản phẩm
liệu]= 30 ký tự 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-34] 1. Thiết lập [Mức 3.Trả về giao diện Pass


tiêu thị nguyên quản lý sản phẩm
liệu]= 1 ký tự 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại

139
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Thêm


mới]

[SP-35] Kiểm tra 1. Thiết lập [Khung 3.Trả về giao diện Pass
Khung xe xe] các chữ cái in quản lý sản phẩm
hoa 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-36] 1. Thiết lập [Khung 3. Hiển thị hộp thoại Fail


xe] có chứa các ký tự thông báo “Vui lòng
đặc biệt (!,@,#..) nhập đúng định dạng”
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-37] 1. Thiết lập [Khung 3.Trả về giao diện Pass


xe]="" quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-38] 1. Thiết lập [Khung 3. Hiển thị hộp thoại Fail


xe] toàn ký tự trắng thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”

140
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lệ cho tất cả các 4.Đóng hộp thoại, trả


trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-39] 1. Thiết lập [Khung 3.Trả về giao diện Pass


xe]= 30 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-40] 1. Thiết lập [Khung 3.Trả về giao diện Pass


xe]= 1 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-41] Kiểm tra Màu 1. Thiết lập [Màu 3.Trả về giao diện Pass
sắc sắc] ="" quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-42] 1. Thiết lập [Màu 3. Hiển thị hộp thoại Fail


sắc] có chứa các ký thông báo “Vui lòng

141
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

tự đặc biệt (!,@,#..) nhập đúng định dạng”


2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-43] 1. Thiết lập [Màu 3.Trả về giao diện Pass


sắc]=1 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-44] 1. Thiết lập [Màu 3.Trả về giao diện Pass


sắc]=30 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-45] 1. Thiết lập [Màu 3. Hiển thị hộp thoại Fail


sắc]>50 ký tự thông báo “xảy ra lỗi”
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-46] 1. Thiết lập [Màu 3.Trả về giao diện Pass

142
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

sắc] các chữ cái in quản lý sản phẩm


hoa 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-47] Kiểm tra 1. Thiết lập [Dung 3.Trả về giao diện Pass
Dung tích xy tích xy lanh] ="" quản lý sản phẩm
lanh 2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-48] 1. Thiết lập [Dung 3. Hiển thị hộp thoại Fail


tích xy lanh] có chứa thông báo “Vui lòng
các ký tự đặc biệt nhập đúng định dạng”
(!,@,#..) 4.Đóng hộp thoại, trả
2. Nhập dữ liệu hợp về màn hình thêm sản
lệ cho tất cả các phẩm
trường còn lại 5. Không thêm sản
3. Click nút [Thêm phẩm vào danh sách
mới]

[SP-49] 1. Thiết lập [Dung 3.Trả về giao diện Pass


tích xy lanh] chứa quản lý sản phẩm
các chữ cái in hoa 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại

143
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Thêm


mới]

[SP-50] 1. Thiết lập [Dung 3.Trả về giao diện Pass


tích xy lanh]=10 ký quản lý sản phẩm
tự 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-51] 1. Thiết lập [Dung 3.Trả về giao diện Pass


tích xy lanh] chứa quản lý sản phẩm
khoảng trắng đầu và 4. Thêm sản phẩm vào
cuối danh sách
2. Nhập dữ liệu hợp
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-52] Kiểm tra 1. Thiết lập [Khối 3. Hiển thị hộp thoại Fail
Khối lượng lượng] ="" thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập vào trường này”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-53] 1. Thiết lập [Khối 3. Hiển thị hộp thoại Fail

144
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lượng] có chứa các thông báo “Vui lòng


ký tự đặc biệt nhập đúng định dạng”
(!,@,#..) 4.Đóng hộp thoại, trả
2. Nhập dữ liệu hợp về màn hình thêm sản
lệ cho tất cả các phẩm
trường còn lại 5. Không thêm sản
3. Click nút [Thêm phẩm vào danh sách
mới]

[SP-54] 1. Thiết lập [Khối 3.Trả về giao diện Fail


lượng] chứa các chữ quản lý sản phẩm
cái in hoa 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-55] 1. Thiết lập [Khối 3.Trả về giao diện Pass


lượng]=10 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-56] 1. Thiết lập [Khối 3. Hiển thị hộp thoại Fail


lượng]>50 ký tự thông báo “xảy ra lỗi”
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản

145
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

mới] phẩm vào danh sách

[SP-57] Kiểm tra 1. Thiết lập [Phuộc 3.Trả về giao diện Pass
Phuộc trước trước] các chữ cái in quản lý sản phẩm
hoa 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-58] 1. Thiết lập [Phuộc 3. Hiển thị hộp thoại Fail


trước] có chứa các thông báo “Vui lòng
ký tự đặc biệt nhập đúng định dạng”
(!,@,#..) 4.Đóng hộp thoại, trả
2. Nhập dữ liệu hợp về màn hình thêm sản
lệ cho tất cả các phẩm
trường còn lại 5. Không thêm sản
3. Click nút [Thêm phẩm vào danh sách
mới]

[SP-59] 1. Thiết lập [Phuộc 3.Trả về giao diện Pass


trước]="" quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-60] 1. Thiết lập [Phuộc 3. Hiển thị hộp thoại Fail


trước] toàn ký tự thông báo “Vui lòng
trắng nhập đúng định dạng”

146
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả


lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-61] 1. Thiết lập [Phuộc 3.Trả về giao diện Pass


trước]= 30 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-62] 1. Thiết lập [Phuộc 3.Trả về giao diện Pass


trước]= 1 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-63] Kiểm tra 1. Thiết lập [Phuộc 3.Trả về giao diện Pass
Phuộc sau sau] các chữ cái in quản lý sản phẩm
hoa 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-64] 1. Thiết lập [Phuộc 3. Hiển thị hộp thoại Fail

147
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

sau] có chứa các ký thông báo “Vui lòng


tự đặc biệt (!,@,#..) nhập đúng định dạng”
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-65] 1. Thiết lập [Phuộc 3.Trả về giao diện Pass


sau]="" quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-66] 1. Thiết lập [Phuộc 3. Hiển thị hộp thoại Fail


sau] toàn ký tự trắng thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-67] 1. Thiết lập [Phuộc 3.Trả về giao diện Pass


sau]= 30 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

148
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[SP-68] 1. Thiết lập [Phuộc 3.Trả về giao diện Pass


sau]= 1 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-69] Kiểm tra Số 1. Thiết lập [Số 3. Hiển thị hộp thoại Fail
lượng lượng] ="" thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập vào trường này”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-70] 1. Thiết lập [Số 3. Hiển thị hộp thoại Fail


lượng] là các chữ cái thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-71] 1. Thiết lập [Số 3. Hiển thị hộp thoại Fail


lượng] là số âm thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm

149
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

mới] 5. Không thêm sản


phẩm vào danh sách

[SP-72] 1. Thiết lập [Số 3. Hiển thị hộp thoại Fail


lượng] =0 thông báo “Vui lòng
2. Nhập dữ liệu hợp nhập đúng định dạng”
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về màn hình thêm sản
3. Click nút [Thêm phẩm
mới] 5. Không thêm sản
phẩm vào danh sách

[SP-73] 1. Thiết lập [Số 3.Trả về giao diện Pass


lượng] = 2 ký tự số quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-74] 1. Thiết lập [Số 3. Hiển thị hộp thoại Fail


lượng] là các ký tự thông báo “Vui lòng
đặc biệt (!,@,#..) nhập đúng định dạng”
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về màn hình thêm sản
trường còn lại phẩm
3. Click nút [Thêm 5. Không thêm sản
mới] phẩm vào danh sách

[SP-75] Kiểm tra Mô 1. Thiết lập [Mô tả] 3.Trả về giao diện Pass
tả ="" quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào

150
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lệ cho tất cả các danh sách


trường còn lại
3. Click nút [Thêm
mới]

[SP-76] 1. Thiết lập [Mô tả] 3.Trả về giao diện Pass


là các chữ cái in hoa quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-77] 1. Thiết lập [Số 3.Trả về giao diện Pass


lượng] chứa khoảng quản lý sản phẩm
trắng đầu và cuối 4. Thêm sản phẩm vào
2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[SP-78] 1. Thiết lập [Số 3.Trả về giao diện Pass


lượng] =20 ký tự quản lý sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Thêm
mới]

[SP-79] 1. Thiết lập [Mô tả] 3.Trả về giao diện Pass


chưa các ký tự đặc quản lý sản phẩm

151
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

biệt (!,@,#..) 4. Thêm sản phẩm vào


2. Nhập dữ liệu hợp danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Thêm
mới]

[Profile- Kiểm tra Ảnh 1. Thiết lập [Ảnh] = 3. Trả về giao diện Pass
80] blank xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Hiển thị thông báo Fail


81] =.docx “Vui lòng chọn đúng
2. Nhập dữ liệu hợp định dạng”
lệ cho tất cả các 4. Không thêm sản
trường còn lại phẩm vào danh sách
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Hiển thị thông báo Fail


82] =.csv “Vui lòng chọn đúng
2. Nhập dữ liệu hợp định dạng”
lệ cho tất cả các 4. Không thêm sản
trường còn lại phẩm vào danh sách
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Trả về giao diện Pass

152
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

83] =.img xem chi tiết sản phẩm


2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Trả về giao diện Pass


84] =.jpg xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Thêm sản phẩm vào
lệ cho tất cả các danh sách
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Chọn 1 ảnh 3. Trả về giao diện Pass


85] 2. Nhập dữ liệu hợp xem chi tiết sản phẩm
lệ cho tất cả các 4. Thêm sản phẩm vào
trường còn lại danh sách
3. Click nút [Save
Changes]

[Profile- 1. Chọn nhiều ảnh 3. Không cho phép Pass


86] 2. Nhập dữ liệu hợp chọn
lệ cho tất cả các
trường còn lại
3. Click nút [Save
Changes]

[LX- Bussiness 1. Nhập hợp lệ các 3.Trả về giao diện Pass


87] trường dữ liệu quản lý sản phẩm
2. Click nút [Thêm 4. Thêm sản phẩm vào

153
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

mới] danh sách

[LX- 1. Nhập hợp lệ các 2. Clear toàn bộ dữ Pass


88] trường dữ liệu liệu
2. Click nút [Làm
mới]

[LX- 1. Nhập hợp lệ các 2. Đóng hộp thoại Pass


89] trường dữ liệu Trả về giao diện loại
2. Click nút [Close] xe
3. Cập nhật loại xe vào
danh sách

[LX- 1. Nhập hợp lệ các 2. Tải lại trang Pass


90] trường dữ liệu 3. Clear toàn bộ dữ
2. Nhân Refresh liệu

[LX- 1. Bỏ trống cá trường 2. Đóng giao diện Pass


91] dữ liệu thêm loại xe
2. Nhấn [Thêm mới] 3. Không cập nhật loại
xe vào danh sách

[SP-92] Button [Thêm 1. Click nút [Thêm 1. Thêm loại xe vào Pass
mới] Loại mới] csdl
2. Trả về giao diện
gồm danh sách các sản
phẩm

[SP-93] Button [Làm 1. Click nút [Làm 1. Clear toàn bộ dữ Pass


mới] mới] liệu

[SP-94] Button 1. Click nút [Close] 1. Đóng giao diện Pass


[Close] thêm sản phẩm

154
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Sửa sản phẩm

[SP-96] Kiểm tra tên 1. Thiết lập [Tên sản 3. Hiển thị thông Fail
sản phẩm phẩm] = "" báo :"Vui lòng nhập
2. Nhập dữ liệu hợp vào trường này"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP-97] 1. Thiết lập [Tên sản 3. Trả về giao diện Pass


phẩm] chứa khoảng xem chi tiết sản phẩm
trắng đầu và cuối 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP-98] 1. Thiết lập [Tên sản 3. Trả về giao diện Pass


phẩm] =1 kí tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP-99] 1. Thiết lập [Tên sản 3. Hiển thị thông Fail


phẩm] chứa các ký báo :"Vui lòng nhập
tự đặc biệt (!,@,#..) vào trường này"
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả

155
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lệ cho tất cả các về giao diện sửa sản


trường còn lại phẩm
3. Click nút [Cập 5. Không cập nhật sản
nhật] phẩm vào danh sách

[SP- 1. Thiết lập [Tên sản 3. Trả về giao diện


100] phẩm] =10 ký tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Tên sản 3. Trả về giao diện Pass


101] phẩm] là các chữ in xem chi tiết sản phẩm
hoa 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- Kiểm tra list 1. Click vào [Loại 1. Hiển thị 1 list loại Pass
102] loại sản phẩm sản phẩm] sản phẩm

[SP- Kiểm tra list 1. Click vào [Nhà 1. Hiển thị 1 list nhà Pass
103] nhà cung cấp cung cấp] cung cấp

[SP- Kiểm tra Giá 1. Thiết lập [Giá 3. Hiển thị thông Fail
104] nhập nhập] ="" báo :"Vui lòng nhập
2. Nhập dữ liệu hợp vào trường này"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản

156
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Cập phẩm


nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Giá 3. Hiển thị thông Fail


105] nhập] có chứa các ký báo :"Vui lòng nhập
tự đặc biệt (!,@,#..) vào trường này"
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về giao diện sửa sản
trường còn lại phẩm
3. Click nút [Cập 5. Không cập nhật sản
nhật] phẩm vào danh sách

[SP- 1. Thiết lập [Giá 3. Hiển thị thông Fail


106] nhập] là số âm báo :"Vui lòng nhập
2. Nhập dữ liệu hợp vào trường này"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Giá 3. Trả về giao diện Pass


107] nhập] gồm 9 ký tự số xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Giá 3. Trả về giao diện Pass


nhập] gồm 1 ký tự số xem chi tiết sản phẩm

157
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

108] 2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm


lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Giá 3. Hiển thị thông Fail


109] nhập] =0 báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Giá 3. Hiển thị thông Fail


110] nhập] các chữ cái báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- Kiểm tra Giá 1. Thiết lập [Giá 3. Hiển thị thông Fail
111] bán bán] ="" báo :"Vui lòng nhập
2. Nhập dữ liệu hợp vào trường này"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

158
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[SP- 1. Thiết lập [Giá 3. Hiển thị thông Fail


112] bán] có chứa các ký báo :"Vui lòng nhập
tự đặc biệt (!,@,#..) đúng định dạng"
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về giao diện sửa sản
trường còn lại phẩm
3. Click nút [Cập 5. Không cập nhật sản
nhật] phẩm vào danh sách

[SP- 1. Thiết lập [Giá 3. Hiển thị thông Fail


113] bán] là số âm báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Giá 3. Trả về giao diện Pass


114] bán] gồm 9 ký tự số xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Giá 3. Trả về giao diện Pass


115] bán] gồm 1 ký tự số xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập

159
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

nhật]

[SP- 1. Thiết lập [Giá 3. Hiển thị thông Fail


116] bán] =0 báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Giá 3. Hiển thị thông Fail


117] bán] các chữ cái báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- Kiểm tra 1. Thiết lập [Động 3. Trả về giao diện Pass
118] Động cơ cơ] các chữ cái in xem chi tiết sản phẩm
hoa 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Động 3. Hiển thị thông Fail


119] cơ] có chứa các ký tự báo :"Vui lòng nhập
đặc biệt (!,@,#..) đúng định dạng"

160
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả


lệ cho tất cả các về giao diện sửa sản
trường còn lại phẩm
3. Click nút [Cập 5. Không cập nhật sản
nhật] phẩm vào danh sách

[SP- 1. Thiết lập [Động 3. Trả về giao diện Pass


120] cơ]="" xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Động 3. Hiển thị thông Fail


121] cơ] toàn ký tự trắng báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Động 3. Trả về giao diện Pass


122] cơ]= 30 ký tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Động 3. Đóng hộp thoại, trả Pass

161
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

123] cơ]= 1 ký tự về giao diện xem chi


2. Nhập dữ liệu hợp tiết sản phẩm
lệ cho tất cả các 4. Cập nhật sản phẩm
trường còn lại vào danh sách
3. Click nút [Cập
nhật]

[SP- Kiểm tra Mức 1. Thiết lập [Mức 3. Trả về giao diện Pass
124] tiêu thụ tiêu thị nguyên liệu] xem chi tiết sản phẩm
nguyên liệu các chữ cái in hoa 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Mức 3. Trả về giao diện Pass


125] tiêu thị nguyên liệu] xem chi tiết sản phẩm
có chứa các ký tự 4. Cập nhật sản phẩm
đặc biệt (!,@,#..) vào danh sách
2. Nhập dữ liệu hợp
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Mức 3. Trả về giao diện Pass


126] tiêu thị nguyên xem chi tiết sản phẩm
liệu]="" 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại

162
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Cập


nhật]

[SP- 1. Thiết lập [Mức 3. Hiển thị thông Fail


127] tiêu thị nguyên liệu] báo :"Vui lòng nhập
toàn ký tự trắng đúng định dạng"
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về giao diện sửa sản
trường còn lại phẩm
3. Click nút [Cập 5. Không cập nhật sản
nhật] phẩm vào danh sách

[SP- 1. Thiết lập [Mức 3. Trả về giao diện Pass


128] tiêu thị nguyên xem chi tiết sản phẩm
liệu]= 30 ký tự 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Mức 3. Trả về giao diện Pass


129] tiêu thị nguyên xem chi tiết sản phẩm
liệu]= 1 ký tự 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- Kiểm tra 1. Thiết lập [Khung 3. Trả về giao diện Pass
Khung xe xe] các chữ cái in xem chi tiết sản phẩm

163
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

130] hoa 4. Cập nhật sản phẩm


2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Khung 3. Hiển thị thông Fail


131] xe] có chứa các ký tự báo :"Vui lòng nhập
đặc biệt (!,@,#..) đúng định dạng"
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về giao diện sửa sản
trường còn lại phẩm
3. Click nút [Cập 5. Không cập nhật sản
nhật] phẩm vào danh sách

[SP- 1. Thiết lập [Khung 3. Trả về giao diện Pass


132] xe]="" xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Khung 3. Hiển thị thông Fail


133] xe] toàn ký tự trắng báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản

164
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

phẩm vào danh sách

[SP- 1. Thiết lập [Khung 3. Trả về giao diện Pass


134] xe]= 30 ký tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Khung 3. Trả về giao diện Pass


135] xe]= 1 ký tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- Kiểm tra Màu 1. Thiết lập [Màu 3. Trả về giao diện Pass
136] sắc sắc] ="" xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Màu 3. Hiển thị thông Fail


137] sắc] có chứa các ký báo :"Vui lòng nhập
tự đặc biệt (!,@,#..) đúng định dạng"
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về giao diện sửa sản
trường còn lại phẩm

165
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Cập 5. Không cập nhật sản


nhật] phẩm vào danh sách

[SP- 1. Thiết lập [Khung 3. Đóng hộp thoại, trả Pass


138] xe]=1 ký tự về giao diện xem chi
2. Nhập dữ liệu hợp tiết sản phẩm
lệ cho tất cả các 4. Cập nhật sản phẩm
trường còn lại vào danh sách
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Khung 3. Trả về giao diện Pass


139] xe]=30 ký tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Khung 3. Hiển thị thông Fail


140] xe]>50 ký tự báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Khung 3. Trả về giao diện Pass


141] xe] các chữ cái in xem chi tiết sản phẩm
hoa 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách

166
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lệ cho tất cả các


trường còn lại
3. Click nút [Cập
nhật]

[SP- Kiểm tra 1. Thiết lập [Dung 3. Trả về giao diện Pass
142] Dung tích xy tích xy lanh] ="" xem chi tiết sản phẩm
lanh 2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Dung 3. Trả về giao diện Fail


143] tích xy lanh] có chứa xem chi tiết sản phẩm
các ký tự đặc biệt 4. Cập nhật sản phẩm
(!,@,#..) vào danh sách
2. Nhập dữ liệu hợp
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Dung 3. Trả về giao diện Pass


144] tích xy lanh] chứa xem chi tiết sản phẩm
các chữ cái in hoa 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

167
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[SP- 1. Thiết lập [Dung 3. Trả về giao diện Pass


145] tích xy lanh]=10 ký xem chi tiết sản phẩm
tự 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Dung 3. Trả về giao diện Pass


146] tích xy lanh] chứa xem chi tiết sản phẩm
khoảng trắng đầu và 4. Cập nhật sản phẩm
cuối vào danh sách
2. Nhập dữ liệu hợp
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- Kiểm tra 1. Thiết lập [Khối 3. Đóng hộp thoại, trả Fail
147] Khối lượng lượng] ="" về giao diện xem chi
2. Nhập dữ liệu hợp tiết sản phẩm
lệ cho tất cả các 4. Cập nhật sản phẩm
trường còn lại vào danh sách
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Khối 3. Hiển thị thông Fail


148] lượng] có chứa các báo :"Vui lòng nhập
ký tự đặc biệt đúng định dạng"
(!,@,#..) 4.Đóng hộp thoại, trả
2. Nhập dữ liệu hợp về giao diện sửa sản

168
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lệ cho tất cả các phẩm


trường còn lại 5. Không cập nhật sản
3. Click nút [Cập phẩm vào danh sách
nhật]

[SP- 1. Thiết lập [Khối 3. Trả về giao diện Fail


149] lượng] chứa các chữ xem chi tiết sản phẩm
cái in hoa 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Khối 3. Trả về giao diện Pass


150] lượng]=10 ký tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Khối 3. Hiển thị thông Fail


151] lượng]>50 ký tự báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- Kiểm tra 1. Thiết lập [Phuộc 3. Trả về giao diện Pass

169
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

152] Phuộc trước trước] các chữ cái in xem chi tiết sản phẩm
hoa 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Phuộc 3. Hiển thị thông Fail


153] trước] có chứa các báo :"Vui lòng nhập
ký tự đặc biệt đúng định dạng"
(!,@,#..) 4.Đóng hộp thoại, trả
2. Nhập dữ liệu hợp về giao diện sửa sản
lệ cho tất cả các phẩm
trường còn lại 5. Không cập nhật sản
3. Click nút [Cập phẩm vào danh sách
nhật]

[SP- 1. Thiết lập [Phuộc 3. Đóng hộp thoại, trả Pass


154] trước]="" về giao diện xem chi
2. Nhập dữ liệu hợp tiết sản phẩm
lệ cho tất cả các 4. Cập nhật sản phẩm
trường còn lại vào danh sách
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Phuộc 3. Hiển thị thông Fail


155] trước] toàn ký tự báo :"Vui lòng nhập
trắng đúng định dạng"
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về giao diện sửa sản
trường còn lại phẩm

170
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

3. Click nút [Cập 5. Không cập nhật sản


nhật] phẩm vào danh sách

[SP- 1. Thiết lập [Phuộc 3. Trả về giao diện Pass


156] trước]= 30 ký tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Phuộc 3. Trả về giao diện Pass


157] trước]= 1 ký tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- Kiểm tra 1. Thiết lập [Phuộc 3. Trả về giao diện Pass
158] Phuộc sau sau] các chữ cái in xem chi tiết sản phẩm
hoa 4. Cập nhật sản phẩm
2. Nhập dữ liệu hợp vào danh sách
lệ cho tất cả các
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Phuộc 3. Hiển thị thông Fail


159] sau] có chứa các ký báo :"Vui lòng nhập
tự đặc biệt (!,@,#..) đúng định dạng"
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả

171
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

lệ cho tất cả các về giao diện sửa sản


trường còn lại phẩm
3. Click nút [Cập 5. Không cập nhật sản
nhật] phẩm vào danh sách

[SP- 1. Thiết lập [Phuộc 3. Trả về giao diện Pass


160] sau]="" xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Phuộc 3. Hiển thị thông Fail


161] sau] toàn ký tự trắng báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Phuộc 3. Trả về giao diện Pass


162] sau]= 30 ký tự xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Phuộc 3. Trả về giao diện Pass


sau]= 1 ký tự xem chi tiết sản phẩm

172
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

163] 2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm


lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- Kiểm tra Số 1. Thiết lập [Số 3. Hiển thị thông Fail
164] lượng lượng] ="" báo :"Vui lòng nhập
2. Nhập dữ liệu hợp vào trường này"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Số 3. Hiển thị thông Fail


165] lượng] là các chữ cái báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Số 3. Hiển thị thông Fail


166] lượng] là số âm báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản

173
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

phẩm vào danh sách

[SP- 1. Thiết lập [Số 3. Hiển thị thông Fail


167] lượng] =0 báo :"Vui lòng nhập
2. Nhập dữ liệu hợp đúng định dạng"
lệ cho tất cả các 4.Đóng hộp thoại, trả
trường còn lại về giao diện sửa sản
3. Click nút [Cập phẩm
nhật] 5. Không cập nhật sản
phẩm vào danh sách

[SP- 1. Thiết lập [Số 3. Trả về giao diện Pass


168] lượng] = 2 ký tự số xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Cập
nhật]

[SP- 1. Thiết lập [Số 3. Hiển thị thông Fail


169] lượng] là các ký tự báo :"Vui lòng nhập
đặc biệt (!,@,#..) đúng định dạng"
2. Nhập dữ liệu hợp 4.Đóng hộp thoại, trả
lệ cho tất cả các về giao diện sửa sản
trường còn lại phẩm
3. Click nút [Cập 5. Không cập nhật sản
nhật] phẩm vào danh sách

[Profile- Kiểm tra Ảnh 1. Thiết lập [Ảnh] = 3. Trả về giao diện Pass
170] blank xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách

174
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

trường còn lại


3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Hiển thị thông báo Fail


171] =.docx “Vui lòng chọn đúng
2. Nhập dữ liệu hợp định dạng”
lệ cho tất cả các 4. Không cập nhật sản
trường còn lại phẩm vào danh sách
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Hiển thị thông báo Fail


172] =.csv “Vui lòng chọn đúng
2. Nhập dữ liệu hợp định dạng”
lệ cho tất cả các 4. Không cập nhật sản
trường còn lại phẩm vào danh sách
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Trả về giao diện Pass


173] =.img xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các vào danh sách
trường còn lại
3. Click nút [Save
Changes]

[Profile- 1. Thiết lập [Ảnh] 3. Trả về giao diện Pass


174] =.jpg xem chi tiết sản phẩm
2. Nhập dữ liệu hợp 4. Cập nhật sản phẩm
lệ cho tất cả các

175
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

trường còn lại vào danh sách


3. Click nút [Save
Changes]

[Profile- 1. Chọn 1 ảnh 3. Trả về giao diện Pass


175] 2. Nhập dữ liệu hợp xem chi tiết sản phẩm
lệ cho tất cả các 4. Cập nhật sản phẩm
trường còn lại vào danh sách
3. Click nút [Save
Changes]

[Profile- 1. Chọn nhiều ảnh 3. Không cho phép Pass


176] 2. Nhập dữ liệu hợp chọn
lệ cho tất cả các
trường còn lại
3. Click nút [Save
Changes]

[LX- Bussiness 1. Nhập hợp lệ các 3. Trả về giao diện Pass


177] trường dữ liệu xem chi tiết sản phẩm
2. Click nút [Cập 4. Cập nhật sản phẩm
nhật] vào danh sách

[LX- 1. Nhập hợp lệ các 2. Clear toàn bộ dữ Pass


178] trường dữ liệu liệu
2. Click nút [Làm
mới]

[LX- 1. Nhập hợp lệ các 3. Trả về giao diện Pass


179] trường dữ liệu xem chi tiết sản phẩm
2. Click nút [Close] 4. Không cập nhật sản
phẩm vào danh sách

176
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

[LX- 1. Nhập hợp lệ các 2. Tải lại trang Pass


180] trường dữ liệu 3. Clear toàn bộ dữ
2. Nhân Refresh liệu

[LX- 1. Bỏ trống cá trường 3. Hiển thị thông Pass


181] dữ liệu báo :"Vui lòng nhập
2. Nhấn [Cập nhật] đầy đủ thông tin"
4.Đóng hộp thoại, trả
về giao diện chi tiết
sản phẩm
5. Không cập nhật sản
phẩm vào danh sách

[SP- Button [Cập 1. Click nút [Cập 1. Thêm loại xe vào Pass
182] nhật] nhậti] csdl

[SP- Button [Làm 1. Click nút [Làm 1. Clear toàn bộ dữ Pass


183] mới] mới] liệu

[SP- Button 1. Click nút [Close] 1. Đóng giao diện Pass


184] [Close] thêm sản phẩm

[SP- Button [Sửa 1. Click nút [Sửa sản 1. Trả về giao diện Sửa Pass
185] sản phẩm] phẩm] sản phẩm

[SP- Button 1. Click nút 1. Trả về giao diện Chi Pass


186] tiết sản phẩm

Xoá sản phẩm

[SP- Bussiness 1. Click [Xoá] 1 sản 1. Hiển thị hộp thoại Pass
187] phẩm thông báo "bạn có
2. Click nút [Huỷ] muốn làm điều này
không?"

177
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

2. Đóng hộ thoại, trả


về giao diện sản phẩm,
dữ liệu không bị xoá

[SP- 1. Click [Xoá] 1 loại 1. Hiển thị hộp thoại Pass


188] xe thông báo "bạn có
2. Click nút [OK] muốn làm điều này
không?"
2. Đóng hộ thoại, trả
về giao diện sản phẩm,
dữ liệu đã bị xoá

[SP- Button 1. Click 1. Hiển thị hộp thoại Pass


189] thông báo "bạn có
muốn làm điều này
không? OK/Huỷ"

Tìm kiếm

[SP- Bussiness 1. Nhập dữ liệu hợp 1. Hiển thị thông tin Pass
190] lệ trên thanh tìm tìm kiến lên giao diện
kiếm và tồn tại trong
csdl

[SP- 1. Nhập dữ liệu hợp 1. Hiển thị thông báo Pass


191] lệ trên thanh tìm "No matching records
kiếm nhưng không found" trên giao diện
tồn tại trong csdl

[SP- 1. Nhập dữ liệu 1. Hiển thị thông báo Pass


192] không hợp lệ trên "No matching records
thanh tìm kiếm found" trên giao diện

178
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Bảng 3. 10: Test case quản lý sản phẩm

f) Giao diện
ID Test Case Test Case Expected Output Actual
Description Procedure Result
Giao diện

[GUI-1] Kiểm tra thứ 1. Di chuyển đến Khi người dùng nhấn Pass
tự tab, di màn hình phím Tab, con trỏ di
chuyển của 2. Kiểm tra thứ tự chuyển từ trái sang
chuột tab, di chuyển của phải, từ trên xuống
chuột dưới

[GUI-2] Kiểm tra thứ 1. Di chuyển đến Con trỏ di chuyển Pass
tự con trỏ di màn hình ngược lại theo thứ tự:
chuyển ngược 2. Kiểm tra thứ tự từ dưới lên trên, từ
lại trên màn tab, tab-shift, di phải qua trái
hình khi nhấn chuyển của chuột
Shift-Tab

[GUI-3] Kiểm tra tổng 1. Di chuyển đến 1. Các label, textbox, Pass
quan màn màn hình website combo có độ dài, rộng
hình 2. Kiểm tra giao diện và khoảng cách bằng
trực quan màn hình nhau, không xô lệch
2. Các label sử dụng
cùng 1 loại font, cỡ
chữ, căn lề trái
3. Các trường hợp bắt
buộc nhập phải có dấu
(*)
4. Kiểm tra tất cả lỗi
về chính tả, cấu trúc

179
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

câu, ngữ pháp trên


màn hình
5. Form được bố trí
hợp lý và dễ sử dụng

[GUI-4] Kiểm tra con Kiểm tra biểu tượng Con trỏ chuột có xuất Pass
trỏ chuột của trỏ chuột khi hiện hình bàn tay khi
click vào button hoặc di đến button hoặc link
vào link không?

[GUI-5] Kiểm tra Kiểm tra trường text Với các trường nhập Pass
trường text tại các gao diện, Text thì đã test các
trang của website trường hợp sau chưa:
Blank, Max Length,
Validad, unvalidad, ký
tự đặc biệt, số âm

[GUI-6] Kiểm tra khi Tại các đường link, Truy cập đến màn hình Pass
click link kiểm tra khi click tương ứng với 1 mục
vào các link được chọn

[GUI-7] Kiểm tra màn 1. Di chuyển đến các Màn hình chức năng Pass
hình ở trạng mục, trang website được mở:
thái mặc định Kiểm tra màn hình ở – Hiển thị title của
trạng thái mặc định chức năng trên màn
hình
– Focus được set vào
trường đầu tiên có thể
edit
– Hiển thị đầy đủ các
trường như trong tài
liệu thiết kế

180
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

– Hiển thị các giá trị


mặc định của các
trường đúng.

[GUI-8] Kiểm tra khi Tại các đường link, Truy cập đến màn hình Pass
click link kiểm tra khi click tương ứng với 1 mục
vào các link được chọn

[GUI-9] Kiểm tra thực Thực hiện chức năng 1. Nếu chuột ko focus Fail
hiện chức chính của màn hình vào button nào thì
năng chính khi nhấn Enter Thực hiện chức năng
của màn hình của button chính
khi nhấn 2. Nếu đang focus vào
Enter 1 button thì sẽ thực
hiện chức năng của
button

[GUI- Kiểm tra Thực hiện chức năng 1. Nếu chuột ko focus Pass
10] trường hợp chính của màn hình vào button nào thì
Refresh màn khi nhấn Enter Thực hiện chức năng
hình (Nhấn của button chính
F5) 2. Nếu đang focus vào
1 button thì sẽ thực
hiện chức năng của
button

[GUI- Kiểm tra Kiểm tra phân trang – Đánh số thứ tự tăng Pass
11] phân trang dần và liên tục
– Không hiển thị link
[Trước] khi ở trang 1
– Không hiển thị link
[Sau] khi ở trang cuối

181
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

– Chuyển về trang đầu,


trang cuối, trước, sau
hoặc 1 trang bất kỳ

[GUI- Kiểm tra sự Điều hướng cho Kiểm tra giao diện các Pass
12] tương thích trang web chạy ở các trang phải hiển thị tốt
trình duyệt: Google trên các môi trường
Chorme, Coc yêu cầu
Coc,IE…

[GUI- Kiểm tra sự Màu sắc của những Đúng với thiết kế Pass
13] màu sắc các siêu liên kết
đường link, (hyperlink) có đúng
hyperlink chuẩn?

[GUI- Kiểm tra màn 1. Nhấn Ctrl- 1.Màn hình thu nhỏ Pass
14] hình khi 2. Nhấn Ctrl+ 2.Màn hình phóng to
phóng to, thu
nhỏ

[GUI- Kiểm tra các Kiểm tra các control Tất cả các control trên Pass
15] control trên trên màn hình màn hình được căn
màn hình đều (Label, textbox,
checkbox, list , …)

[GUI- Kiểm tra Số Kiểm tra Số bản ghi Hiển thị đúng số bản Pass
16] bản ghi trên 1 trên 1 trang ghi được thiết lập hiển
trang thị trên 1 trang

[GUI- Kiểm tra Số Kiểm tra Số bản ghi Hiển thị đúng số bản Pass
17] bản ghi trên 1 trên 1 trang ghi được thiết lập hiển
trang thị trên 1 trang

182
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Bảng 3. 11: Test case giao diện

183
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC

4.1 Quản lý lỗi

184
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 4. 1: Chi tiết của một issue

4.2 Báo cáo lỗi

Hình 4. 2: Test report

4.3: Quản lý dự án

- Quản lý được hoạt động công việc hằng ngày.

- Quản lý được lịch công việc, theo dõi được các issue.

185
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

186
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

Hình 4. 3: Các hoạt động, báo cáo, issue

187
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

KẾT LUẬN

Kết quả đạt được:

Sau khi hoàn thành đề tài “Quản lý dự án bằng công cụ Redmine”, em đã


thực hiện được đầy đủ kiểm thử cho website cửa hàng bán xe máy gồm có Test
plan, Test design, Test case, Test report, Bug management. Đã test được giao diện
trang web, các chức năng như: “Quản lý user”, “Quản lý sản phẩm”, “Quản lý loại
xe”, “Quản lý đơn hàng... Xây dụng được checklist đảm bảo chất lượng phần mềm
cho website, kiểm soát công việc hằng ngày

Những hạn chế của đề tài:

Tuy nhiên vẫn tồn tại một vài hạn chế như:

Xây dựng tài liệu chưa chặt chẽ, tính logic chưa cao.

Kịch bản test còn hạn chế, thiếu kinh nghiệm trong việc xây dựng kịch bản
test dẫn tới chưa tối ưu trong việc phát hiện lỗi phần mềm.

Một vài chức năng test chưa hoàn thiện.

Hướng phát triển của đề tài:

Trong tương lai sẽ tiếp tục xây dựng thêm nhưng kịch bản test để phần mềm
ít lỗi nhất có thể, thực hiện test những chức năng chưa hoàn thiện, xây dựng trang
web hoàn thiện.

Đưa việc quản lý lỗi vào những công cụ hỗ trợ như công cụ Jira, Bug Mantis,
Testlink, Redmine... Để quản lý một cách dễ dàng hơn.

188
Bài tập lớn: Quản lý dự án bằng công cụ Redmine

TÀI LIỆU THAM KHẢO


[1] Kỹ thuật kiểm thử phần mềm
[2] Vòng đời của bug và cách log 1 bug lên redmine

189

You might also like