Tải bản đầy đủ (.pdf) (16 trang)

BÁO CÁO CHUYÊN ĐỀ CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI: Các phương pháp kiểm thử phần mềm và Phần tích thiềt kế hệ thống quản lý thư viện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (252.48 KB, 16 trang )

lOMoARcPSD|12114775

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐÊỀ
CÔNG NGHỆ PHẦỀN MÊỀM

ĐÊỀ TÀI: Các phương pháp kiểm thử phầần mềầm và Phần tch thiềết

kềế hệ thốếng quản lý thư viện

Sinh viên thực hiện

: NGUYÊỄN TÙNG LẦM
: VŨ ĐỨC MINH
: LÊ HOÀNG SƠN

Giảng viên bộ môn

: Phạm Hôồng Đức

Ngành

: CÔNG NGHỆ THÔNG TIN


lOMoARcPSD|12114775

Chun ngành


: CƠNG NGHỆ PHẦỀN MÊỀM

Lớp

: D15CNPM5

Khóa

: D15

Hà Nội, ngày 11 tháng 11 năm 2022

PHIÊẾU CHẦẾM ĐIỂM
Sinh viên thực hiện:
Họ và tên

Chữ ký

Ghi chú

Chữ ký

Ghi chú

NGUYỄỄN TÙNG LÂM

VŨ ĐỨC MINH

LỄ HOÀNG SƠN


Giảng viên chấấm:
Họ và tên


lOMoARcPSD|12114775

Giảng viên chấấm 1 :

Giảng viên chấấm 2 :


lOMoARcPSD|12114775

LỜI NÓI ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, đặc biệt là sự
phát triển nhanh chóng của lĩnh vực cơng nghệ thơng tin, cơng nghệ phần mềm
ngày càng đi vào đời sống và được con người khai thác một cách rất hiệu quả biến
nó thành cơng cụ lao động hữu ích và đóng vai trò rất quan trọng trong đời sống xã
hội và là công cụ lao động. Công nghệ phần mềm là một phần quan trọng của lĩnh
vực cơng nghệ thơng tin, nó giúp con người có thể quản lí cơ sở dữ liệu một cách
đơn giản, dễ dàng và nhanh chóng hơn, giúp tiết kiệm được rất nhiều thời gian và
nhân lực. Em thực hiện đề tài đồ án “Các phương pháp kiểm thử phần mềm và
Phân tích thiết kế hệ thống quản lý thư viện” nhằm nâng cao thêm kiến thức và tầm
hiểu biết của mình về lĩnh vực này lĩnh vực cơng nghệ thơng tin nói chung và bộ
mơn thiết kế và quản lý hệ thống nói riêng.
Đặc biệt, trong học kì này. Với niềm hân hạnh và vinh dự khi được thầy Phạm
Hồng Đức là người cố vấn, một người giáo viên tận tâm đã hướng dẫn, góp ý, thảo
luận, giúp em có thể hồn thiện được bài báo cáo này. Trong thời gian được học tập
và thực hành dưới sự hướng dẫn của thầy, thầy giúp chúng em không những tiếp
thu được nhiều kiến thức thực tế và bổ ích, mà cịn được truyền sự say mê và thích

thú với bộ mơn Cơng nghệ phần mềm.
Chúng em đã rất cố gắng hoàn thiện báo cáo với tất cả sự nỗ lực, niềm say mê
và sự thích thú, tuy nhiên, do bước đầu đi vào kiến thức môi trường thực tế, tìm
hiểu và xây dựng đồ án trong một thời gian nhất định, với lượng kiến thức còn hạn
chế, nhiều bỡ ngỡ, nên đồ án “Các phương pháp kiểm thử phần mềm và Phân
tích thiết kế hệ thống quản lý thư viện” chắc chắn sẽ không thể tránh được những
mặt hạn chế và thiếu sót. Chúng em rất mong nhận được sự quan tâm, thơng cảm
và những đóng góp vô cùng quý giá của các thầy cô và các bạn để báo cáo của
chúng em sẽ ngày càng hoàn thiện hơn.
Sau cùng, chúng em xin kính chúc các thầy cô trong Khoa Công Nghệ Thông
Tin dồi dào sức khoẻ, niềm tin vững vàng để tiếp tục thực hiện sứ mệnh cao đẹp
của mình là truyền đạt kiến thức cho thế hệ mai sau. Trân trọng!


lOMoARcPSD|12114775

PHẦN I: CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM

1. Khái niệm
- Là sự kiểm tra việc phát triển phần mềm.
- Cơng việc xun suốt q trình phát triển phần mềm.
- Kiểm tra xem sản phầm có đúng với đặc tả khơng,
- Có đáp ứng được nhu cầu của người dùng khơng,
- Có hoạt động hiệu quả khơng.
=> Tức là chú trọng vào việc phát hiện lỗi phân tích, lỗi thiết kế
2. Các phương pháp kiểm thử phần mềm
2.1 Khái niệm về phép thử
- Một phép thử được gọi là thành cơng nếu nó phát hiện ra khiếm khuyết của phần
mềm.
- Phép thử chỉ chứng minh được sự tồn tại của lỗi trong hệ thống chứ không chứng

minh được hệ thống khơng có lỗi.
- Một phép thử (ca thử nghiệm) bao gồm:
+ Tên của mô đun thử nghiệm
+ Dữ liệu vào
+ Dữ liệu ra mong muốn (đúng)
+ Dữ liệu ra thực tế (khi đã tiến hành thử nghiệm)
=> Các ca thử nghiệm nên được thiết kế khi tạo các tài liệu phân tích và thiết kế,
khơng phải khi đã viết xong mã nguồn.
2.2 Thử nghiệm chức năng và thử nghiệm cấu trúc
- Có hai kỹ thuật thử nghiệm tìm khuyết tật:


lOMoARcPSD|12114775

+ Thử nghiệm chức năng
+ Thử nghiệm cấu trúc
2.2.1 Hộp đen – thừ nghiệm chức năng
- Thử nghiệm chức năng (functional testing) còn gọi là thử nghiệm hộp đen
(black box testing)
+ Là sự thử nghiệm sử dụng các ca thử nghiệm được thiết kế dựa trên đặc tả yêu
cầu,
+ Tài liệu người dùng nhằm mục đích pháp hiện ra các khiếm khuyết.
+ Thử nghiệm chức năng nhìn nhận mơ đun được thử nghiệm như là một hộp đen
và chỉ quan tâm đến chức năng (hành vi) của mô đun, tức là kiểm tra xem có hoạt
động đúng với đặc tả hay không.
- Các ca kiểm thử bao gồm:
+ Các trường hợp bình thường và khơng bình thường (dữ liệu khơng hợp lệ…) của
mô đun.
+ Thông thường, không thể thử nghiệm với mọi dữ liệu.
+ Chiến lược chung khi thiết kế dữ liệu thử nghiệm là phân hoạch (dữ liệu) tương

đương.
+ Phân hoạch tương đương chia miền dữ liệu vào ra thành các vùng, mà mỗi vùng
chứa các dữ liệu có cùng hành vi.
+ Do đó, đối với mỗi vùng dữ liệu chỉ cần xây dựng một ca thử nghiệm.
+ Thêm vào đố là các ca sử dụng đối với biên giới của các vùng.
+ Theo kinh nghiệm, các sai sót về lập trình thường sảy ra đối với các dữ liệu
biên.
Ví dụ:
Đối với hàm tính trị tuyệt đối của số nguyên, có thể chia
miền đối số thành 2 vùng:
- vùng dữ liệu ≥ 0
- vùng dữ liệu < 0


lOMoARcPSD|12114775

Do đó các dữ liệu đầu vào để kiếm thử có thể là:
100,
-20,
và số 0.

Ngồi thử nghiệm trên, thơng thường còn cần kiểm tra với các dữ liệu đặc thù như:
- Biên của số trong máy tính (ví dụ -32768, 32767)
- Số 0, số âm, số thập phân
- Khơng có input
- Input ngẫu nhiên
- Input sai kiểu…

- Thử nghiệm chức năng có thể giúp chúng ta:
+ Phát hiện sự thiếu sót chức năng

+ Phát hiện khiếm khuyết
+ Sai sót về giao diện giữa các mô đun
+ Sự không hiệu quả của chương trình
+ Lỗi khởi tạo, lỗi kết thúc
- Thử nghiệm chức năng chỉ dựa trên đặc tả nên:
+ Không thể kiểm thử được các trường hợp không được khai báo trong đặc tả.
+ Không đảm bảo thử hết được các khối mã nguồn của mô đun.
- Thử nghiệm chức năng cũng không phát hiện được các đoạn mã yếu (có khả năng
sinh lỗi với một trạng thái đặc biệt nào đó của hệ thơng) và trong nhiều trường hợp
việc đảm bảo xây dựng đầy đủ các ca thử nghiệm là khó khăn.
Ví dụ: Xét hàm tìm một phần tử trong mảng


lOMoARcPSD|12114775

Function TimX ( X: integer; A: mang; l : integer):
integer;
Đặc tả:
+Tham số nhập:
X: số nguyên cần tìm
A: mảng các số nguyên (bắt đầu chỉ số là 1)
l: chiều dài của mảng
+Kết quả xuất:
= 0 : nếu khơng tìm thấy
≠ 0 : nếu tìm thấy, giá trị kết quả chính là chỉ số của
phần tử đầu tiên được tìm thấy
Các bước tiến hành:
Bước 1: Phân lớp. Dựa vào kết quả
- Không tìm thấy (= 0)
- Tìm thấy (≠ 0)

+ chiều dài l = 1
+ chiều dài l > 1
X xuất hiện 1 lần
X xuất hiện nhiều lần
+ ở đầu mảng
+ giữa mảng
+ cuối mảng

Bước 2: Chọn các phần tử đại diện
STT

X

A

1

Kết quả


lOMoARcPSD|12114775

1

5

3267

4


0

2

-4

81234

5

0

3

7

7

1

1

4

6

5361

4


1

5

-2

1 -2 8 -2 3

5

2

2.2.2 Hộp trắng – thử nghiệm cấu trúc
Thử nghiệm cấu trúc (structural testing)
- Là sự thử nghiệm dựa trên phân tích chương trình.
- Là xác định đường đi (path) của chương trình (điều khiển) từ input đến output.
- Mục đích của thử nghiệm cấu trúc là kiểm tra tất cả các đường đi có thể.
- Tức là đảm bảo mọi lệnh đều được thực hiện ít nhất một lần trong một ca thử
nghiệm nào đó.
- Thử nghiệm cấu trúc chú trọng vào phân tích các cấu trúc rẽ nhánh và các
vòng lặp.
- Thử nghiệm cấu trúc xem xét chương trình ở mức độ chi tiết và phù hợp khi kiểm
tra các mô đun nhỏ.
- Thử nghiệm cấu trúc có thể khơng đầy đủ vì kiểm thử hết các lệnh không chứng
tỏ là chúng ta đã kiểm thử hết các trường hợp có thể.
- Có khả năng tồn tại các tổ hợp lệnh khác nhau gây lỗi.
- Ngồi ra, chúng ta khơng thể kiểm thử hết các đường đi đối với các vịng lặp lớn.
Ví dụ:
[1]
Lệnh 1;

[2]
Lệnh 2;
[3]

Downloaded by Vu Vu ()


lOMoARcPSD|12114775

If điều kiện 1 then Lệnh 3;
[4]
Lệnh 4;
[5]
If điều kiện 2 then Lệnh 5
Else Lệnh 6;
[6]
Lệnh 7;
Các con đường thực hiện có thể có:
1->2->3->4->5->7
1->2->3->4->6->7
1->2->4->5->7
1->2->4->6->7
Tóm lại:
Thử nghiệm chức năng và thử nghiệm cấu trúc đều rất quan trọng và chúng
bổ khuyết lẫn nhau.

Downloaded by Vu Vu ()


lOMoARcPSD|12114775


Phần 2.phân tích dữ liệu
qua phần đánh giá trên em xin đưa ra mơ hình quản lý thư viện của Khoa
CNTT như sau:
1.Biểu đồ phân cấp chức năng.
QLTV KHOA
CNTT

XỬ LÝ THÔNG TIN

NHẬP DỮ LIỆU

MƯỢN TÀI LIỆU

NHẬP DL ĐỘC GIẢ

TK/IN/BC

LÀM THẺ THƯ VIỆN

TRẢ TÀI LIỆU
NHẬP TÀI LIỆU

TÌM KIẾM

LẬP PHIẾU MƯỢN

CẬP NHẬT DANH MỤC
BÁO CÁO THEO
YÊU CẦU


Downloaded by Vu Vu ()


lOMoARcPSD|12114775

2.BIỂU ĐỒ LUỒNG:
2.1Cấp khung cảnh:

TT
ĐỘC GIẢ

Kết quả

HTQLTV
Hồi đáp

BPQL

TT yêu cầu
TT

TÀI LIỆU

2.2.Mức đỉnh
TT YC

BPQL
ĐỘC GIẢ


TT
TT HỒI ĐÁP
DM TÀI LIỆU
NHẬP DỮ
LIỆU

CAP NHAT

CAP NHAT

TT

KHO MƯỢN
ĐỘC GIẢ

DM ĐỘC GIẢ
KHO TRẢ
Tài liệu

XỬ LÝ TT

TT

TT

TT

THỐNG KÊ
BÁO CÁO


Downloaded by Vu Vu ()


lOMoARcPSD|12114775

2.3Mức dưới đỉnh:
BPQL
TT
NHẬP DL
ĐỘC GIẢ

ĐỘC GIẢ

TT

TT

DM ĐỘC GIẢ
TT CN

NHẬP TÀI
LIỆU

TT

CẬP NHẬT
DANH

TL MỚI


TÀI LIỆU

DM TÀI LIỆU

TÀI LIỆU PL,CN
BPQL

DM ĐỘC GIẢ
TÌM KIẾM

TT

DM NGƯỜI MƯỢN
QL MƯỢN
TÀI LIỆU

TT
TT

QL TRẢ TÀI
LIỆU

DM NGƯỜI TRẢ

TL CN

TL CN
DM TÀI LIỆU

TT(1)


TT(2)
TT

ĐỘC GIẢ

TT(3)
THẺ TV(PHẠT)

Downloaded by Vu Vu ()


lOMoARcPSD|12114775

ĐỘC GIẢ

ĐO

DM ĐỘC GIẢ
THẺ

TT
ĐỘC GIẢ
LÀM THẺ
THƯ VIỆN

LẬP PHIẾU
MƯỢN

DM NGƯỜI MƯỢN

DM TÀI LIỆU

BPQL
BÁO CÁO
THEO YÊU

TT(1):thông tin trong thẻ thư viện, thông tin về tài liệu muốn đọc,muốn mượn,phiếu yêu cầu...
TT (2): tài liệu được chấp nhận cho mượn, cho đọc...
TT(3):thông tin về các độc giả và tài liệu muốn trả....
TL CN:tài liệu cập nhật: mỗi khi 1 tài liệu được mượn hay được trả thì trong danh mục tài liệu
lại được cập nhật lại
Chú thích:
BPQL: bao gồm nhân viên làm việc tại thư viện, các cấp quản lý thư viện từ trên.
ĐỘC GIẢ: sinh viên, giáo viên, nhân viên ... trong khoa có thẻ thư viện.

Downloaded by Vu Vu ()


lOMoARcPSD|12114775

3.Phân tích về dữ liệu
Xác định các thực thể:
PHIẾU YC

ĐỘC GIẢ

PHIẾU YC

TÀI LIỆU


TÀI LIỆU

ĐỘC GIẢ

Độc giả

phiếu yêu cầu

tài liệu

#mã độc giả

#Số phiếu

#mã tài liệu

Tên độc giả

Mã độc giả

Tên tài liệu

Địa chỉ

Tên độc giả

Nhà XB

Địa chỉ


Tác giả

Mã tài liệu

Năm XB

Tên tài liệu
Nhà XB
Năm XB
Tác giả
Ngày mượn

3.2.Xác định biểu đồ cấu trúc dữ liệu:
Thuộc tính
#số phiếu
Mã độc giả
Tên độc giả
Địa chỉ

1NF
#số phiếu
Mã độc giả
Tên độc giả
Địa chỉ

2NF
#số phiếu
Mã độc giả
Tên độc giả
Địa chỉ


Downloaded by Vu Vu ()

3NF
#số phiếu
Ngày mượn
Mã tài liệu
Mã độc giả


lOMoARcPSD|12114775

Mã tài liệu
Tên tài liệu
Nhà XB
Năm XB
Tác giả
Ngày mượn

Mã tài liệu
Tên tài liệu
Nhà XB
Năm XB
Tác giả
Ngày mượn

Mã tài liệu
Tên tài liệu
Nhà XB
Năm XB

Tác giả
Ngày mượn

Ta có các thực thể sau:
PYC(#số phiếu,MaTL,MaDG,Ngaymuon)
DG(#MaDG,TenDG,Diachi)
TL(#MaTL,TenTL,NhaXB,A\NămXB,Tacgia)

Downloaded by Vu Vu ()

#mã độc giả
Tên độc giả
Địa chỉ
#mã tài liệu
Tên tài liệu
Nhà XB
Năm XB
Tác giả



×