1. Trang chủ
  2. » Luận Văn - Báo Cáo

Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý

154 525 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Tác giả Nguyễn Văn Sen, Nguyễn Th Quỳên
Người hướng dẫn Thầy Lâm Quang V, Thầy Phạm Minh Tấn
Trường học Đại Học Bách Khoa Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ thuật phần mềm
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2004
Thành phố Hồ Chí Minh
Định dạng
Số trang 154
Dung lượng 3,27 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý

Trang 1

L i u tiên, chúng em xin chân thành cám n th y Lâm Quang V , th y

tài này

óng góp nh ng kinh nghi m, ý ki n quý báu cho chúng em

Chúng em xin g i l i cám n t t c các quý th y cô ã gi ng d y, cung c pcho chúng em v n ki n th c quý báu su t nh ng n m h c v a qua

tài lu n v n t t nghi p này

Tp H Chí Minh, 07/2004Nhóm sinh viên th c hi n

V Ng c Sen – Nguy n Th Quyên

Trang 2

Sau cu c kh ng ho ng trong ngành công ngh thông tin vào u nh ng n m

Trang 3

1.1 T m quan tr ng c a vi c qu n lý ti n trình ki m th 1

1.2 Khái quát vai trò qu n lý ki m th 1

1.3 M c tiêu tài 2

Ch ng 2 ng quan v ki m th ph n m m 4

2.1 Ki m th ph n m m là gì? 4

2.2 M c ích c a vi c ki m th ph n m m 4

2.3 Các giai n ki m th ph n m m 5

2.3.1 Giai n 1: Phác h a môi tr ng c a ph n m m 6

2.3.2 Giai n 2: Tìm các k ch b n ki m th 9

2.3.3 Giai n 3: Th c thi và ánh giá k ch b n ki m th 11

2.3.4 Giai n 4: ánh giá ti n trình ki m th 12

2.4 Ki m th trong các giai n phát tri n ph n m m 13

2.4.1 Ki m th trong giai n c t yêu c u 14

2.4.2 Ki m th trong giai n thi t k 15

2.4.3 Ki m th trong giai n l p trình .16

2.5 Ng i ki m th .16

2.6 Lu ng thông tin ki m th 18

2.7 Phân bi t các khái ni m 19

2.7.1 Phân bi t QC và QA 19

2.7.2 Phân bi t Error, Fault, Failure 20

2.8 Ch t l ng ph n m m và vi c m b o ch t l ng ph n m m 22

2.8.1 Các nhân t ch t l ng c a ph n m m 22

2.8.2 o ch t l ng ph n m m 24

2.8.3 Vai trò c a vi c qu n lý ch t l ng ph n m m 26

2.8.4 T i sao c n qu n lý ch t l ng ? 30

Ch ng 3 Các lo i ki m th ph n m m 31

3.1 Ki m th h p en 31

3.2 Ki m th h p tr ng 33

3.3 Nh ng nét khác nhau c b n gi a ki m th h p en và h p tr ng 34

3.4 Ki m th cho h th ng th i gian th c 35

3.5 Các lo i ki m th h p en 36

3.5.1 Oracles testing 36

3.5.2 Domain testing 37

3.5.3 Function testing 39

3.5.4 Combination testing 40

3.5.5 Regression testing 47

3.5.6 Risk based testing 50

3.5.7 Senario testing 55

3.5.8 Specification based testing 58

3.5.9 User testing 62

3.5.10 Stress testing 63

3.5.11 Integration Testing 64

Trang 4

3.6 Các lo i ki m th h p tr ng 70

Unit testing 70

Ch ng 4 Các công c h tr 72

4.1 Công c h tr qu n lý ki m th 72

4.1.1 Nh n xét chung 72

4.1.2 TestLink 73

4.1.3 Qatraq 75

4.1.4 RTH 77

4.1.5 Mantis Bugtracking 77

4.2 Công c ki m th ph n m m t ng 78

4.2.1 TestComplete 78

4.2.2 Winrunner 80

4.3 Công c ki m th web t ng 81

4.3.1 Gi i thi u 81

4.3.2 Proxy Sniffer 82

4.3.3 Công c Webserver Stress 84

4.3.4 Apche Jmeter 85

4.3.5 Wapt 86

4.4 Công c ki m th Unit [6] 88

4.4.1 PHP Unit Testing 88

4.4.2 Cunit testing [7] 98

4.4.3 JUnit Testing [8] 100

Ch ng 5 Phát tri n công c qu n lý ki m th 108

5.1 Gi i thi u công c RTH 108

5.2 Lý do ch n công c RTH 114

5.3 Phát tri n công c RTH 114

5.4 M t vài giao di n 117

Ch ng 6 Th nghi m 118

6.1 Th nghi m v i các lo i test 118

6.1.1 Oracles 118

6.1.2 Domain testing 120

6.1.3 Function testing 121

6.1.4 Combination testing 123

6.1.5 Regressiont testing 125

6.1.6 Risk-based testing 128

6.1.7 Scenario testing 130

6.1.8 User testing 134

6.1.9 Stress testing 135

6.1.10 Exploratory testing 135

6.2 Th nghi m công c RTH 140

6.2.1 T o d án 140

6.2.2 Thêm Requirement vào Project 140

6.2.3 Thêm m t release 141

6.2.4 Thêm Build vào Release 141

6.2.5 Thêm TestSet vào Build 141

Trang 5

6.3 Th nghi m công c RTH k t h p v i WinRunner 144

Ch ng 7 ng k t và H ng phát tri n 145

7.1 T ánh giá 145

7.1.1 Nh ng k t qu t c 145

7.1.2 Nh ng m t còn h n ch 146

7.2 H ng phát tri n c a ch ng trình 146

DANH SÁCH B NG ng 2-1 Các tr ng h p ki m th ph các nhánh và các câu l nh 6

ng 2-2 So sánh nh ngh a c a QC và QA 19

ng 2-3 Nh ng m khác nhau gi a QC và QA 20

ng 2-4 Ví d so sánh error, fault, failure 20

ng 2-5 Các nhân t và o ch t l ng [1] 25

ng 3-1 B ng k t h p giá tr các bi n 40

ng 3-2 B ng k t h p giá tr các bi n v i cách ti p c n th 1 41

ng 3-3 B ng k t h p giá tr các bi n v i cách ti p c n K t h p y 41

ng 3-4 B ng k t h p giá tr các bi n v i cách ti p c n K t h p t ng ôi 42

CÔNG TH C Công th c 2-1 Công th c o ch t l ng ph n m m [1] 23

Trang 6

Hình 2-3 Ki n th c c n có c a ng i ki m th 17

Hình 2-4 Mô hình lu ng thông tin ki m th [1] 18

Hình 2-5 Mô hình mô ph ng các b c QC c b n [9] 19

Hình 2-6 Mô hình mô ph ng các b c QA c b n [9] 19

Hình 2-7 Mô hình các nhân t ch t l ng c a McCall [1] 22

Hình 2-8 Mô hình các ho t ng trong CM [10] 27

Hình 2-9 T ng quan v CM [10] 28

Hình 3-1 Ki m th h p en [11] 31

Hình 3-2 Ki m th h p tr ng [11] 33

Hình 3-3 Font trong Word và Word Pad 37

Hình 3-4 Chu trình ki m th d a trên r i ro 51

Hình 4-1 Mô hình use case c a công c qu n lý ki mth TestLink 73

Hình 4-2 Quá trình ghi l i d li u – công c Proxy Sniffer 82

Hình 4-3 Qui trình th c thi load test – Công c Proxy Sniffer 83

Hình 4-4 Công c Wapt 86

Hình 4-5 Giao di n h a ng i dùng – JUnit testing 107

Hình 5-1 Giao di n TreeView tr c quan h n 117

Hình 5-2 Màn hình t o Template Testcase 117

Hình 6-1 Th nghi m th c t v i Oracles testing 119

Hình 6-2 Th nghi m th c t v i Domain testing 121

Hình 6-3 Th nghi m th c t 1 v i Function testing 122

Hình 6-4 Th nghi m th c t v i Function testing 123

Hình 6-5 Th nghi m th c t v i Combination testing 124

Hình 6-6 WinAmp phiên b n 2 79 & phiên b n 5.03 125

Hình 6-7 C p nh t thông tin v bài hát trong Winamp 126

Hình 6-8 L i trong Winamp v5.03 v i Regression testing 127

Hình 6-9 Th nghi m th c t v i Risk-based testing 129

Hình 6-10 Th nghi m th c t v i Scenario testing 130

Hình 6-11 Th nghi m th c t v i User testing 134

Hình 6-12 Giao di n ng d ng Paint 136

Hình 6-13 Màn hình t o d án c a RTH 140

Hình 6-14 Màn hình t o yêu c u c a RTH 140

Hình 6-15 Màn hình t o release c a RTH 141

Hình 6-16 Màn hình thêm build c a RTH 141

Hình 6-17 Màn hình thêm TestSet c a RTH 141

Hình 6-18 Màn hình thêm test c a RTH 142

Hình 6-19 Màn hình thêm t ng b c test c a RTH 142

Hình 6-20 Màn hình thêm TestRun c a RTH 143

Hình 6-21 Màn hình thêm l i Defect c a RTH 143

Hình 6-22 Giao di n công c ki m th ph n m m t ng WinRunner 144

Trang 7

APIs Software Interfaces: Giao di n ph n m m.

m m

Trang 8

Ch ng 1 u

1.1 T m quan tr ng c a vi c qu n lý ti n trình ki m th

n, không còn gi i h n m c tiêu th a mãn yêu c u khách hàng M t s n ph m

thi u trong công ngh ph n m m

1.2 Khái quát vai trò qu n lý ki m th

Trang 9

Do ó chúng ta có th nói r ng m t d án mu n thành công không th không có

Trang 11

nh ng l i này?

2.2 M c ích c a vi c ki m th ph n m m

Theo Deutsch[1]:

có l i là r t l n L i có th x y ra ngay lúc kh i u c a ti n trình, hay trong các giai o n thi t k và phát tri n sau này

Trang 12

Nh ng m c ích trên ng c v i quan m thông th ng là “ki m th thànhcông là ki m th không tìm ra l i nào” N u ki m th không phát hi n ra l i thì ta

s ngh r ng c u hình ki m th này ch a úng và l i v n còn ti m n trong ph n

xác nh l i có th g p r t nhi u l n chi phí tìm l i trong quá trình phát tri n V y

ki m th thành công là ki m th tìm ra l i

không có khi m khuy t, nó ch có th ch ng minh r ng khi m khuy t ph n m m hi n

h u.”

2.3 Các giai n ki m th ph n m m

4 giai o n trong quá trình ki m th :

Trang 13

Sau ây là o n mã ngu n cho ch ng trình trên:

Trang 14

Nhìn vào b ng trên, chúng ta c n ki m th 8 tr ng h p V i m i câu l nh

False Th c t , chúng ta s tìm c 2x-1 cách( x là s i u ki n trong câu l nh)

2.3.1.1 Gi i thi u chung

Ngoài vi c ki m th mã ngu n c a ph n m m, ta còn ph i ki m nh ng giá tr

Có bao nhiêu giá tr th i gian trong m t ngày?

giá tr h p l , còn giá tr không h p l (ví d : 29 gi ) c ng ph i c ki m tra

Sau ó, ta ph i ki m th :

2006 là d li u h p l , còn ngày 31 tháng 2 n m 2006 là không h p l vìtháng 2 ch có 30 ngày

Nh ng thi t b nh p bao g m: chu t, s ki n bàn phím, Nh ng nhà ki m th stìm cách thao tác trên các thi t b này nh m làm cho ph n m m bi u hi n l i

Trang 15

2 Giao di n ph n m m, APIs8: ph n m m s d ng m t h i u hành, c s

d li u t bên ngoài Nh ng nhà phát tri n ph n m m ph i vi t r t nhi u o n mã

th làm cho các giao th c h p l và không h p l c th c hi n H t o ra cáccách k t h p khác nhau c a nh ng câu l nh và d li u, trong nh d ng gói tinchu n

li u u vào t i các giá tr biên ho c xung quanh nh ng giá tr biên Ví d , vi c

8

Software Interfaces

Trang 16

ki m th giá tr c c ti u, c c i ho c b ng 0 trong yêu c u nh p m t s nguyên c a

c a các giá tr

pháp, nh ng công c , t lý thuy t v ngôn ng

2.3.2 Giai o n 2: Tìm các k ch b n ki m th

Vi c phân chia nh ng mô hình và giá tr s t o ra vô s k ch b n ki m th

M i k ch b n s có th i gian và chi phí c n thi t Ch ch n m t s k ch b n tiêu bi u dùng trong k ho ch phát tri n ph n m m V y cách ch n l a nào là t t nh t? 17

g ng:

chu n ki m th mi n nh p

Trang 17

2.3.2.1 Tiêu chu n 9 ki m th ng i 10 th c thi

có th có c a nó

Trang 18

2.3.3 Giai o n 3: Th c thi và ánh giá k ch b n ki m th

Th c thi k ch b n ki m th : k t lu n k t qu ki m th là úng hay sai,

ánh giá k ch b n ki m th : lúc b t u thì d nh ng r t khó th c hi n.ánh giá ph i d a trên k t qu th c thi c a ph n m m, k t qu th c thi k ch b n

mu n xem có sai khác không S so sánh này r t khó V lý thuy t s so sánh c ahai giá tr tu ý thì không th tìm ra l i gi i Ví d : ng d ng trình so n th o: n u

xu t ra “Tô sáng t sai l i chính t ” Làm th nào chúng ta có th xác nh r ng t t

2.3.3.1 Ki m th h i quy 12

tri n s t o ra phiên b n m i c a ph n m m Vi c ki m th ti n hành v i t t c các

h p nh t Câu h i t ra: khi ta ã ti n hành ki m th phiên b n n-1, thì v i phiên

Trang 19

Vì nh ng tr ng h p này r t có th x y ra, nên khi ki m th phiên b n n, ta

ph i th c thi l i các b ki m th t phiên b n n-1, r i m i ti n hành các b ki m th

2.3.3.2 Các m i quan tâm liên quan 13

: mô ph ng l i và tái th c thi k ch b n ki m th

Trang 20

• Có ph i tôi ch t p trung vào d li u bên trong kh i t o và s d ng?

Trang 22

2 m b o r ng b n c t yêu c u áng tin c y, có th duy trì c, kh thi

3 Xem l i danh sách các mô un và ch c n ng t ng quát c a m i mô un

4 Phát hi n các thi t k không úng theo yêu c u, sau ó s a ch a l i theoyêu c u

8 Xác nh n tính h p l c a các giao di n nh p xu t

2.4.2.2 Ki m tra thi t k chi ti t

M c ích c a vi c ki m tra thi t k chi ti t:

Trang 23

ra, h ph i có kh n ng nh y bén trong vi c phát hi n nh ng l i ph c t p Nói

Trang 24

Hình 2-2 Ng i ki mth

Hình 2-3 Ki n th c c n có c a ng i ki m th

n ph mChuyên môn

Ki n th c v thu t

Trang 25

2.6 Lu ng thông tin ki m th

Hình 2-4 Mô hình lu ng thông tin ki m th [1]

Trang 27

• Error: sai, l i Nó là cái gì ó sai trong chính ph n m m.

• Fault: l i, khi m khuy t Nó là th hi n c a m t error

• Failure: không th c hi n c, th t b i Nó là cái gì ó sai trong cách gi iquy t19c a ph n m m Failure do m t ho c nhi u faults gây nên

Các nguyên nhân gây ra fault:

Trang 28

• B n phác th o l p trình23 có th có l i

• L p trình có th có l i

M c ích c a vi c ki m th là phát hi n ra các faults và ng n ng a các failuresCác nguyên nhân gây ra Failure:

Trang 31

14 Tính an toàn: kh n ng ki m soát hay b o v ch ng trình và d li u.

Trang 32

M i liên h gi a các nhân t ch t l ng ph n m m và các o c thi t k

li t kê trong b ng d i ây:

úng

n

Tin y

Hi u qu

Toàn n

o trì

m o

Ki m th

Kh chuy n

Tái

ng

Liên tác

Dùng c

Trang 33

2.8.3 Vai trò c a vi c qu n lý ch t l ng ph n m m

m m

1 Standards32: là m t y u t m u ch t trong SQS Các chu n là n n t ng

qua các cu c h p xét duy t, m c ích c a các cu c h p này nh m phát

khi m khuy t trong s n ph m

3 Testing34: M c ích c a vi c ki m th là tìm các l i và ki m tra l i xem

ph n m m ch y úng hay sai h n là xem ph n m m có th a yêu c u

m c tiêu th a mãn yêu c u thì ch phí th i gian

Trang 34

4 Defect analysing35: H u h t các t ch c dùng thu t ng ch t l ng ng

Trang 35

nh danh m i th hi n c a s n ph m, m i h s tài li u m i, t ng

này ngày càng quan tr ng h n trong vi c tích h p các module vào

yêu c u, b n thi t k , ki m th , mã ngu n, v.v

Trang 36

6 Security40: Các d li u và trung tâm l u tr d li u ph i c b o m an

u tr d li u thì r t d b h h i ho c b phá h y hoàn toàn Các r i ro

c ng nh trung tâm l u tr d li u là m t u c n thi t

hi n úng các công vi c, các thao tác

b nh ng ki n th c ó cho nhân viên c a mình

trò quan tr ng Qu n lý nh ng công vi c nh nh t xung quanh vi c pháttri n ph n m m nh liên h mua b n quy n các ph n m m h tr , các

ng

m m ó và cho c h th ng K ho ch qu n lý d án nên có ph n mô t

Trang 38

Trong ki m th h p en ta s không ý n bên trong c a h th ng, mà

ch t p trung vào m i quan h gi a d li u vào và thông tin c a ra.

Hình 3-1 Ki m th h p en [11]

c quan sát t bên ngoài

Ki m th h p en t p trung vào nh ng yêu c u mang tính ch c n ng c a

Trang 39

Ki m th h p en c g ng tìm l i trong các lo i sau ây:

Vi c t h p các d li u c bi t có tác ng gì lên s v n hành c a h th ng?

Trang 40

3.2 Ki m th h p tr ng

trong th t c nào không? …

Trang 41

• L i gõ sai: Trong khi l p trình, có th gõ sai t bàn phím (ví d d u + thì

Trang 42

Là k thu t ki m th d a vào b n miêu

t - báo cáo k thu t bên trong h th ng

ho c các thành ph n c a ph n m m

3.4 Ki m th cho h th ng th i gian th c

tr ng thái khác thì k t qu cho ra l i có th d n t i l i

Ch ng h n, ph n m m th i gian th c ki m soát m t máy photocopy, v icùng l nh ng ng c a thao tác viên s không có l i gì khi máy ang sao chép (tr ngthái “sao”) nh ng n u máy ang tr ng thái “k t gi y” thì l i gây ra l i

t ng nhi m v Vi c ki m th này phát hi n ra l i v logic và ch c n ng

nh ng s không phát hi n ra l i v th i gian hay hành vi

v i các s ki n bên ngoài.Vi c phân tích này làm c s cho vi c thi t k

Trang 43

ng ng, các s ki n (ng t, tín hi u u khi n, d li u) c phân

lo i cho vi c ki m th

Trang 44

Hình 3-3 Font trong Word và Word Pad

Trang 45

d ng tính t ng có úng không V y hãy tính xem ta s có bao nhiêu testcase?

99 giá tr t 1 à 99

1 giá tr 0

99 giá tr t -99 à -1

à Có 199 giá tr v i m i bi n T ng c ng là có 199*199= 39601 testcases.Sau ó b n s ki m th giá tr nh p vào t 100 tr lên, d i -99, hay không là s

Th t kh ng khi p n u ta ph i ki m h t nh ng testcases này! Nh ng hãy nghxem, khi b n ã ki m th 5 + 9 thì có c n ki m thêm 5+4 hay 9+6 … không? i unày không c n thi t Và b n s phân các testcase này thành các nhóm (mi n):

tiêu bi u nh t)

• Mi n g m 2 s mà >99 ho c <-99 (chi n l c ki m giá tr tiêu bi u nh t)

Trang 46

• Mi n g m 2 s có giá tr là -99, 99, -100, 100 (chi n l c ki m nh ng giá

Ki m tra dài các c nh v i giá tr b ng 0 (a=0, b=0; c=0), hay giá tr âm,

u i m: H u d ng cho t t c các m c ích: ánh giá tin c y, ánh giá kh

nhi u nh t

Khuy t m: K thu t Domain testing quá n gi n, không áp ng c nh ng

Ngày đăng: 02/04/2014, 08:49

HÌNH ẢNH LIÊN QUAN

Hình 2-2 Ng i ki mth - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 2 2 Ng i ki mth (Trang 24)
Hình 2-4 Mô hình lu ng thông tin ki m th  [1] - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 2 4 Mô hình lu ng thông tin ki m th [1] (Trang 25)
Hình 2-9 T ng quan v  CM  [10] - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 2 9 T ng quan v CM [10] (Trang 35)
Hình 3-3 Font trong Word và Word Pad - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 3 3 Font trong Word và Word Pad (Trang 44)
Hình 4-1 Mô hình use case c a công c  qu n lý ki mth  TestLink - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 4 1 Mô hình use case c a công c qu n lý ki mth TestLink (Trang 80)
Hình 4-2 Quá trình ghi l i d  li u   công c  Proxy Sniffer - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 4 2 Quá trình ghi l i d li u công c Proxy Sniffer (Trang 89)
Hình 4-4 Công c  Wapt - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 4 4 Công c Wapt (Trang 93)
Hình 5-1 Giao di n TreeView tr c quan h n - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 5 1 Giao di n TreeView tr c quan h n (Trang 124)
Hình 6-4 Th  nghi m th c t  v i Function testing - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 6 4 Th nghi m th c t v i Function testing (Trang 130)
Hình 6-6 WinAmp phiên b n 2. 79 &amp; phiên b n 5.03 - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 6 6 WinAmp phiên b n 2. 79 &amp; phiên b n 5.03 (Trang 132)
Hình 6-7 C p nh t thông tin v  bài hát trong Winamp. - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 6 7 C p nh t thông tin v bài hát trong Winamp (Trang 133)
Hình 6-8 L i trong Winamp v5.03 v i Regression testing - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 6 8 L i trong Winamp v5.03 v i Regression testing (Trang 134)
Hình 6-10  Th  nghi m th c t  v i Scenario testing - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 6 10 Th nghi m th c t v i Scenario testing (Trang 137)
Hình 6-11 Th  nghi m th c t  v i User testing - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 6 11 Th nghi m th c t v i User testing (Trang 141)
Hình 6-12 Giao di n  ng d ng Paint - Kiểm thử phần mềm và xây dựng hệ thống hỗ trợ quản lý
Hình 6 12 Giao di n ng d ng Paint (Trang 143)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w