Chúng em đã thiết cơ sở dữ liệu cho chương trình xây dựng phần mềm quản lí chi 
tiêu gia đình gồm có các bảng: User,importing,import_type,exporting,export_type,
share,state_project, project, project_contribute. Từ cơ sở dữ liệu đã cho nhóm đã xây 
dựng được các chức năng chính: Add(thêm giao dịch của user), Statistics (thống kê), 
Account(tài khoản), Category, Project. Việc thiết kế cơ sở dữ liệu đã bám sát với các 
chức năng đề ra của nhóm, và sử dụng thông tin trong các table một cách có hiệu quả. 
Trong quá trình làm về đề tài nhóm chúng em thấy có thể mở rộng nhiều chức 
năng cho bài làm(ví dụ như quản lí việc cho vay nơ của các thành viên trong gia đình, 
vay nợ là có lãi hay không có lãi). Do đó CSDL củanhóm thiết kế cũng có nhiều hạn 
chế, chưa đượcchuẩn. Để xây dựng dữ liệu chuẩn phải trải qua thực tế bài làm và vấn đề 
yêu cầu gặp, như đã nêu vấn đề trên, thì CSDL của nhóm chúng em có thể thêm table 
borrow_lend với các trường dữ liệu liên qua để có thế thực hiện quản lí chức năng cho 
vay nợ của thành viên trong gia đình.
                
              
                                            
                                
            
 
            
                
20 trang | 
Chia sẻ: superlens | Lượt xem: 1891 | Lượt tải: 1
              
            Bạn đang xem nội dung tài liệu Báo cáo Tự kiểm thử chương trình Quản lí chi tiêu gia đình, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1 
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 
──────── * ──────── 
BÀI TẬP LỚN 
PROJECT 1 
Báo cáo tự kiểm thử 
chương trình Quản lí chi tiêu gia đình 
 Giáo viên hướng dẫn: 
 TS. Vũ Thị Hương Giang 
 ThS. Nguyễn Ngọc Dũng 
 Sinh viên thực hiện: 
 Lê Trung Hiếu 20111568 
 Đỗ Đăng Hiển 20111581 
 Phạm Văn Đại 20111363 
2 
Mục lục 
1 Thiết kế chương trình .................................................................................................. 3 
1.1 Thiết kế CSDL .................................................................................................... 3 
1.2 Thiết kế tầng nghiệp vụ....................................................................................... 4 
1.3 Thiết kế giao diện................................................................................................ 5 
1.4 Kết luận............................................................................................................. 11 
2 Kiểm thử chương trình .............................................................................................. 11 
2.1 Danh sách các chức năng cần có....................................................................... 11 
2.2 Kiểm thử cho chức năng Login......................................................................... 11 
2.3 Kiểm thử chức năng Add .................................................................................. 13 
2.4 Kiểm thử chức năng Account ........................................................................... 14 
2.5 Kiểm thử chức năng Project.............................................................................. 15 
2.6 Kiểm thử cho chức năng Category ................................................................... 17 
2.7 Kiểm thử cho chức năng Statictisc ................................................................... 18 
2.8 Kết luận............................................................................................................. 19 
3 Đánh giá báo cáo ....................................................................................................... 20 
3 
1 Thiết kế chương trình 
1.1 Thiết kế CSDL 
 Chúng em đã thiết cơ sở dữ liệu cho chương trình xây dựng phần mềm quản lí chi 
tiêu gia đình gồm có các bảng: User, importing, import_type, exporting, export_type, 
share, state_project, project, project_contribute. Từ cơ sở dữ liệu đã cho nhóm đã xây 
dựng được các chức năng chính: Add(thêm giao dịch của user), Statistics (thống kê), 
Account(tài khoản), Category, Project. Việc thiết kế cơ sở dữ liệu đã bám sát với các 
chức năng đề ra của nhóm, và sử dụng thông tin trong các table một cách có hiệu quả. 
 Trong quá trình làm về đề tài nhóm chúng em thấy có thể mở rộng nhiều chức 
năng cho bài làm(ví dụ như quản lí việc cho vay nơ của các thành viên trong gia đình, 
vay nợ là có lãi hay không có lãi ). Do đó CSDL của nhóm thiết kế cũng có nhiều hạn 
chế, chưa được chuẩn. Để xây dựng dữ liệu chuẩn phải trải qua thực tế bài làm và vấn đề 
yêu cầu gặp, như đã nêu vấn đề trên, thì CSDL của nhóm chúng em có thể thêm table 
borrow_lend với các trường dữ liệu liên qua để có thế thực hiện quản lí chức năng cho 
vay nợ của thành viên trong gia đình. 
4 
1.2 Thiết kế tầng nghiệp vụ 
 Menu chính của chương trình thiết kế lựa chọn các chức năng, và gồm có các 
table Account summary, Project today, Transaction today 
 Account summary: Tóm tắt về tổng thu, tổng chi, số dư 
 Project today: Thông tin về dự án user đề xuất trong ngày 
 Transaction today : Giao dịch thực hiện trong ngày 
 Nhập thông tin giao dịch của cá nhân thông qua chức năng Add: 
 Nhập dữ liệu đầu vào 
 Lựa chọn chia sẻ với người khác để thấy giao dịch(Ý tưởng từ facebok) 
 Cập nhập dữ liệu vào CSDL 
 Chức năng Category thêm , xóa , update các thông tin vào các trường Income, 
Expense, Project. Chưc năng chỉ admin có thể quản lí. 
 Mỗi cá nhân có thể tạo các project, mọi người có thể tham gia, đây có thể coi là 
khoản mục chi chung của các thành viên trong gia đình 
 Mọi người đề xuất dự án, những thành viên khác đông ý tham gia dự án 
thi đóng góp tiền. 
 Người đề xuất dự án có quyền hủy dư án, khởi tạo dự án  cập nhập 
CSDL 
 Ngoài ra người dùng có thể xem các dự án theo bộ lọc (hoàn thành, gây 
quỹ, không hoàn thành, thời gian) 
 Người dùng có thiết lập tài khoản Account 
 Cập nhập thông tin 
 Admin có quyền xóa tài khoản người dùng 
 Statistics là chức năng thống kê 
 Ta có thể thực hiện thống kê theo từng loại và theo nhóm income(thu 
nhập) và chi tiêu (expense). Ngoài ra ta còn có thể kết hợp với theo ngày 
hoặc tháng và năm để có được sự thống kê theo ý muốn. 
 Một chức năng khác nữa ta có thể đưa ra biểu đồ cho sự thống kê vừa liệt 
kê với 2 button là Bar và Pie 
 Ngoài ra người dùng còn thiết lập được bộ lọc dữ hiển thị một cách chi tiết 
trong chức năng Filter 
Kết luân: Tầng nghiệp vụ do nhóm em xây dung đã bám sát so với việc tự thiết kế cơ sở 
dữ liệu. Chương trình còn thể mở rộng một số chức năng như xuất thông tin của mỗi 
người dùng và dự án ra bản PDF, hoặc còn có thể thực hiện chức năng nhắc người dùng 
về thu chi, và các dự án. Vậy chức năng nghiệp vụ là được chuẩn. 
5 
1.3 Thiết kế giao diện 
Giao diện login: 
6 
Gia diện menu chính của chương trình 
Giao diện Add(thêm các khoản giao dịch thu chi của cá nhân) 
7 
Giao diện chức năng Statistics(Thống kê) 
8 
Giao diện chức năng Account: 
9 
Giao diện chức năng Category : 
Giao diện chức năng Project(AddProject) 
10 
Giao diện chức năng Project(ViewProject) 
11 
1.4 Kết luận 
Qua giao diện đã thiết kế, chương trình do nhóm thực hiện đã sử dụng được toàn 
bộ thông tin liên quan trong việc xây dựng CSDL . Giao diện chương trình đã giúp người 
sử dụng có cái nhìn trực quan về chương trình và có các thao tác dễ dàng hơn với các 
trường dữ liệu. Một hạn chế của giao diện chương trình là chưa có nhiều hình ảnh đẹp và 
chưa được giống giao diện của các hệ điều hành phổ biến. 
 Nhóm tự đánh giá giao diện thiết kế là tốt, và nhận thang điểm 8.5/10đ. 
2 Kiểm thử chương trình 
2.1 Danh sách các chức năng cần có 
Người sử dụng có thể lưu lại các thông tin chi tiêu hàng ngày. Các thông tin lưu trữ cho 
một phần chi tiêu bao gồm: thời gian, lý do, mục chi tiêu, hình ảnh liên quan.. 
Có phần thống kê, đánh giá theo các khoảng thời gian nhất định 
Các danh mục chi tiêu có thể được tạo ra bởi người dùng một cách linh hoạt 
Có chức năng tìm kiếm theo tên, ngày tháng, mô tả. 
Có chức năng đánh tag phục vụ cho tìm kiếm. 
Có phân quyền người dùng, yêu cầu đăng nhập hệ thống 
 Các chức năng này đã được phân tách hoặc tổng hợp thành các chức năng trong 
chương trình thực tế như sau. 
2.2 Kiểm thử cho chức năng Login 
STT input output Exception Kết 
quả 
1  Trường hợp nhập sai username 
hoặc passwod 
Username = aaaa 
Password = bbbb 
 Thông báo có lỗi 
Xử lí 
chuẩn 
OK 
12 
2  Trường hợp nhập sai username 
hoặc passwod 
Username = bbbb 
Password = null 
Thông báo có lỗi 
Xử lí 
chuẩn 
OK 
3 
 Trường hợp nhập đúng 
username hoặc passwod 
Username = hien 
Password = hien 
Vào menu chính của chương trình 
Không xử 
lí 
ok 
13 
2.3 Kiểm thử chức năng Add 
STT input output Exception Kết 
quả 
1  Nhập thiếu thông tin 
Type = Income 
Category = Lương 
Date = null 
Amount = null 
Description = null 
Info = null 
 Không có thông báo 
 Giao dịch chưa thành công 
Không xử 
lí 
OK 
2  Nhập đủ thông tin 
Type = Income 
Category = Lương 
Date = 2013/12/23 
Amount = 214211 
Description = lương 
Info = lương 
Thông báo thành công 
Không xử 
lí 
OK 
14 
2.4 Kiểm thử chức năng Account 
STT input output Exception Kết 
quả 
1  Chức năng Add Account 
 Nhập thiếu thông tin 
name, password 
name = null 
password = null 
birthday = null 
gender = Male 
phone = 0985238651 
email = null 
 Chọn button Add 
 Thông báo có lỗi 
Xử lí 
chuẩn 
OK 
2  Chức năng Add Account 
 Nhập đủ thông tin 
name = dai 
password = dai 
birthday = 1993-12-17 
gender = Male 
phone = 0985238651 
 email = dai@gmail 
 Chọn button Add 
Thông báo thành công 
Xuất hiện thêm tài khoản trong Accounts 
Không xử 
lí 
OK 
3  Chức năng Add 
 Nhập thiếu thông tin 
(birthday) 
name = hieu 
password = hieu 
birthday = null 
gender = Male 
phone = null 
 email = null 
 Chọn button Add 
Không có hoạt động, không có thông báo 
Việc thêm tài khoản vẫn chưa thành công 
Không xử 
lí 
OK 
15 
4  Chức năng Remove(chỉ có 
admin mới có quyền xóa tài 
khoản user) 
 Lựa chọn user muốn xóa 
 Chọn button Remove 
Có thông báo cảnh báo 
Không xử 
lí 
OK 
5  Chức năng Update(Chí user 
có quyền sửa thông tin chính 
mình) 
 Chọn thông sửa thông tin 
Có thông báo 
Không xử 
lí 
OK 
2.5 Kiểm thử chức năng Project 
STT input output Exception Kết 
quả 
1  Bảng AddProject 
 Nhập thiếu thông tin 
Type = Income 
Category = Quạt 
StartDay = null 
EndDay = null 
Description = null 
Info = null 
Cost = null 
Contribute = null 
 Khôn có thông báo 
 Chưa tạo giao dịch thành công 
Không xử 
lí 
OK 
16 
2  Bảng AddProject 
 Nhập đủ thông 
tin(contribute > cost) 
Type = Income 
Category = Quạt 
StartDay = 2013-12-22 
EndDay = 2013-12-23 
Description = quạt 
Info = quạt 
Cost = 1500000 
Contribute = 15000000 
Thông báo lỗi 
Xử lí 
chuẩn 
Ok 
3  Bảng AddProject 
 Nhập đầy đủ thông tin 
chính xác 
Type = Income 
Category = Quạt 
StartDay = 2013-12-22 
EndDay = 2013-12-23 
Description = quạt 
Info = quạt 
Cost = 1500000 
Contribute = 1000000 
Có được thông báo thành công 
Không xử 
lí 
OK 
  Bảng ViewProject 
 Chọn trong combobox 
State theo bộ lọc 
VD: chọn Hoàn thành 
Table hiện thông tin theo project theo bộ 
lọc State : Hoàn thành 
Không xử 
lí 
OK 
4  Bảng ViewProject 
 Chọn dự án trên Table 
bằng nhấp chuột 
 Dự án được chọn trong 
table có mục name = 
hoàn thành 
 Chọn button đóng góp 
Có lỗi sảy ra 
xử lí 
chuẩn 
OK 
17 
  Bảng ViewProject 
 Chọn dự án trong table có 
name = gây quỹ 
 Người đề xuất dự án hieu, 
người sử dụng dai 
 Không nhập giá trị đóng góp 
 Chọn button Thamgia 
Có thông báo lỗi hiện ra 
Không tăng số tiền vào trường contribute 
của dự án được khởi tạo 
Xử lí 
chuẩn 
OK 
  Bảng ViewProject 
 Chọn dự án table có name = 
gây quỹ 
 Người đề xuất dự án hieu, 
người đang sử dụng dai 
 Có nhập giá trị đóng góp 
 Chọn button Thamgia 
Có thông báo “ đóng góp thành công” 
Tăng số tiền đóng góp trong table lên 
Không xử 
lí 
OK 
  Bảng ViewProject 
 Chọn dự án table có name = 
gây quỹ 
 Người đề xuất dự án hieu, 
người đang sử dụng hieu 
 Table có cost = contribute 
 Chọn button Thamgia 
Thông báo khởi động dự án thành công 
Name = “hoàn thành” 
Cập nhập vào CSDL của từng người 
đóng góp về giá trị đóng góp 
Không xử 
lí 
OK 
  Bảng ViewProject 
 Chọn dự án table có name = 
gây quỹ(hoàn thành) 
 Người đề xuất dự án hieu, 
người đang sử dụng hieu 
 Chọn button Xóa dự án 
 Nếu name = gây quỹ  Xóa dự 
án thành công  Cập nhâp lại 
table và trong CSDL 
 Nếu name = hoàn thành  
Thông báo dự án “Dự án đã 
được thực hiện không xóa 
được” 
Không xử 
lí 
OK 
2.6 Kiểm thử cho chức năng Category 
STT input output Exception Kết 
quả 
1  Chỉ có admin mới có chức 
năng này 
 Chọn khoản mục muốn xóa 
 Chọn button Remove 
 Thông báo hỏi admin có muốn xóa 
 Chọn Yes  Xóa Category 
thành công 
 Chọn No  quay trở lại chương 
trình 
Không xử 
lí 
OK 
18 
2  Image = null 
 Name = null 
 Chọn Add 
Có thông báo “bạn chưa nhập tên 
category” 
Không xử 
lí 
OK 
  Name = null 
 Chọn button Update 
Có thông báo “bạn chưa category” Xử lí 
chuẩn 
OK 
  Sửa tên name 
 Chọn button Update 
Có thông báo “Update thành công” Không xử 
lí 
OK 
2.7 Kiểm thử cho chức năng Statictisc 
STT input output Exception Kết 
quả 
1  For = AllCategory 
 View = Expense 
 From = 2013-01-22 
 To = 2013-12-22 
 Filter Account = Phạm Văn 
Đại 
 Month = July 
 According to July = true 
 Year = 2013 
 According to 2013 = true 
 Chọn button List  ra danh 
sách thống kê Phạm Văn Đai 
 Chọn button Bar  hiện biểu 
đồ tháng 3 gồm có cột Ăn uống, 
Giải Trí, Giáo Dục 
 Chọn button Pie  hiện biểu 
đồ hình tròn gồm 3 phần Ăn 
Uống, Giải Trí, Giáo Dục 
Không xử 
lí 
Không xử 
lí 
Không xử 
lí 
OK 
OK 
OK 
19 
2  For = Lương 
 View = InCome 
 From = 2013-01-22 
 To = 2013-12-22 
 Filter Account = hien 
 Year = 2013 
 According to 2013 = true 
 Chọn button List hiện ra danh 
sách tài khoản tên hien với mục 
Lương từ ngày 2013-01-22 đến 
2013-12-22 
 Button Bar  biểu đồ cột thu 
nhập “Lương” của hien 2013 trong 
12 tháng 
 Button Pie  biểu đồ hình tròn thu 
nhập hien trong 12 tháng 
Không Xử 
Lí 
Không Xử 
lí 
Không Xử 
lí 
OK 
OK 
OK 
3  For = Ăn uống 
 View = Expense 
 From = 2013-01-22 
 To = 2013-12-22 
 Filter Account = Lê Trung 
Hiếu 
 Year = 2013 
 According to 2013 = false 
 Chọn button List  danh sách 
khoản mục ăn uống của Lê Trung 
Hiếu trong 2013 
 Chọn button Bar  hiện ra bảng 
thống kê chi tiêu ăn uống trong 
năm 2013 của Lê Trung Hiếu 
Chọn button Resfesh  thiết lập 
bộ lọc theo thông số mặc định 
Không Xử 
Lí 
Không Xử 
lí 
Không Xử 
lí 
OK 
OK 
OK 
4  For = All category 
 View = Expense 
 From = 2013-01-22 
 To = 2013-12-22 
 Filter Account = hien 
 Chọn button Filter 
 Filter Date 
+ Option = inluclde 
+ from = 2013-01-22 
+ to = 2013-12-22 
 Filter Amount 
+Option = include 
+from = 500 
+to = 1000 
Chọn button Close 
Chọn button List 
 Hiện các thông tin giao dịch 
(incom) của hien có value từ 500 
đến 1000 
Không xử 
lí 
OK 
2.8 Kết luận 
 Qua một số phép kiểm thử của nhóm chúng em thấy chương trình chạy được ổn 
và cho kết quả khả quan là chạy ổn định. Nhưng khi thực hiện nhóm vẫn vấp phải một số 
lỗi chương trình, và đang trong quá trình hoàn thiện bài làm được tốt hơn. Việc nhập 
điểm tự đánh giá là 8/10đ. 
20 
3 Đánh giá báo cáo 
STT Tiêu chí Nhận xét 
1 Giao diện Ít (không có) lỗi trình bày/lỗi chính tả 
(Không vi phạm các lỗi trình bày cơ bản). 
2 Đầy đủ các phần quy định Nhóm đã thực hiện được đầy đủ các phần theo 
mẫu quy định. 
3 Nội dung trình bày khoa học Trình bày khoa học, theo sự chỉ dẫn của các thầy 
cô, đánh đề mục thống nhất, có mục lục rõ rang. 
4 Phân chia công việc hợp lý Phần phân công thể hiện rõ công việc từng người 
theo các tuần. 
5 Nội dung báo cáo Đầy đủ hầu hết các phần như trong mẫu báo cáo. 
Đánh giá báo cáo tốt. Cho điểm 8.5/10