Professional Documents
Culture Documents
5 - Bùi Thị Hồng Hạnh - BTL ĐBCLPM
5 - Bùi Thị Hồng Hạnh - BTL ĐBCLPM
2
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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
MỤC LỤC..................................................................................................................5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT....................................................................14
5
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
KẾT LUẬN.............................................................................................................189
6
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
7
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
8
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
9
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
10
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
Để 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.
- Đăng nhập
11
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
- Đăng ký
- Quản lý loại xe
…
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.
- 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
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ý
- Quản lý loại xe
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
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)
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.
Để 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.
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.
- Làm rõ vai trò và trách nhiệm của việc kiểm thử phần mềm
- 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).
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:
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:
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 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ử:
- Hết budget
- Đ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ử
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.
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
- Đá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
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:
- 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 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:
- Đố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.
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 hoạt động bảo trì hay cập nhật hệ thống hoàn tất.
- 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
- 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.
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ử.
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.
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.
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).
22
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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).
- Unit testing
- Integration testing
- System testing
- Acceptance testing
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
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 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.
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.
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
- 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
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 đó
- Cơ sở hạ tầng ( Infrastructure).
- Giao diện.
- Phát hiện lỗi giao tiếp xảy ra giữa các modules/ components
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.
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.
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.
- SRS
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ử 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.
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.
Các quy trình nghiệp vụ trên hệ thống đã được tích hợp đầy đủ.
27
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
Các Forms.
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.
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.
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
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.
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ử.
- 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.
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.
29
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
- Kỹ thuật phân tích giá trị biên (Boundary Value Analysis - BVA)
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.
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.
31
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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.
Đượ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.
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).
Theo IEEE, chất lượng phần mềm được định nghĩa như sau:
- 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
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
35
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
36
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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.
+ Hỗ trợ cho việc kiểm soát về truy cập với vai trò linh hoạt
+ 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ợ sử dụng với 49 ngôn ngữ trên thế giới. Trong đó có cả Redmine
tiếng Việt.
+ 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 đ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
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
1 Project Manager (PM) Vai trò này được gán cho người quản lý dự án
hoặc team lead
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
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.
40
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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
- 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.
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 ướ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: 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ư:
- 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
- Đặ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
STT Tracker Mô tả
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
STT Tracker Mô tả
45
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
Đố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ử.
Đố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)
Kết quả
46
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
47
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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
49
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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
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
53
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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
- Thiết lập kênh trao đổi, tương tác giữa các thành viên dự án
- 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.
Để 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
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
Sau khi bạn chọn Register, bạn sẽ thấy màn hình đăng ký như sau:
56
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
Sau đó nhấn Submit thì đợi người quản trị viên phê diệt
Sau khi được phê duyệt thì quản trị viên có quyền Lock hoặc Delete
a) Tạo dự án
Để tạo mới một dự án, có 2 cách sau:
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:
- Name: Tên dự án, viết hoa chữ cái của từ đầu tiê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
Ở 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.
59
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
Để thực hiện tại màn hình Settings > chọn tab Versions.
Để chỉnh sửa version chọn icon Edit, và xóa version chọn icon Delete
60
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
- 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
- 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.
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
- 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
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).
- 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.
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
- 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
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
Để 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
Để 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.
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
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
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
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
Để 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
71
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
72
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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)
Để 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.
74
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
- 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.
- 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
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.
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
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
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.
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
79
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
80
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
b) Đăng nhập
81
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
c) Sign Up
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
84
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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
a) 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
c) Bảo mật
87
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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
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
89
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
91
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
92
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
93
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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 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
95
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
[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
97
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
98
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
99
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
100
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
101
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
102
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
103
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
105
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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ủ
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
107
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
[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ỉ] 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- 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
110
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
111
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
112
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
113
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
114
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
Changes] công
[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
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 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
[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 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
120
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
[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]
122
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
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
123
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
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
125
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
126
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
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]
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
128
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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á
129
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
Tìm kiếm
130
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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-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
[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
133
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
mới]
[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
135
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
137
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
138
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
139
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
140
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
141
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
142
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
143
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
144
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
145
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
146
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
147
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
148
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
149
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
151
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
152
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
153
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
154
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
155
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
157
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
159
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
nhật]
[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]
160
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
161
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
162
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
164
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
165
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
166
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
167
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
168
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
170
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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]
171
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
172
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
173
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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
175
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
176
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
[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 [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- 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
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
178
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
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
[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
[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
[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
183
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
184
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
4.3: Quản lý dự án
- 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
187
Bài tập lớn: Quản lý dự án bằng công cụ Redmine
KẾT LUẬN
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.
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
189