luận văn này nghiên cứu, tìm hiểu, đề xuất quy trình kiểm thử tự động ứng dụng xây dựng trên công nghệ trục tích hợp cụ thể là bộ thư viện MuleESB, áp dụng quy trình tích hợp liên tục và chuyển giao liên tục. Mời các bạn cùng tham khảo.
Trang 1Đ I H C QU C GIA HÀ N IẠ Ọ Ố Ộ
TRƯỜNG Đ I H C CÔNG NGHẠ Ọ Ệ
Trang 2Hà N i – 2018ộ
Trang 3M C L CỤ Ụ
Trang 5DANH M C CÁC HÌNH V , Đ THỤ Ẽ Ồ Ị
Trang 6M Đ UỞ Ầ
Ki n trúc ph n m m (Software Architecture) đ c p đ n c u trúcế ầ ề ề ậ ế ấ
m c cao c a h th ng ph n m m cùng v i quy t c và tài li u c a vi cứ ủ ệ ố ầ ề ớ ắ ệ ủ ệ
t o nên các c u trúc này. M i ki n trúc bao g m các ph n t ph n m m,ạ ấ ỗ ế ồ ầ ử ầ ề
m i quan h gi a chúng và các đ c tính c a các ph n t và quan h đó.ố ệ ữ ặ ủ ầ ử ệ
Th c tr ng hi n nay là nhi u h th ng ph n m m đự ạ ệ ề ệ ố ầ ề ược xây d ng quáự
ph c t p, chi phí phát tri n và b o trì cao, đ c bi t v i các h th ngứ ạ ể ả ặ ệ ớ ệ ố
ph n m m cao c p. Hàng ch c năm qua, nhi u đ tài nghiên c u v ki nầ ề ấ ụ ề ề ứ ề ế trúc ph n m m đã c g ng gi i quy t v n đ này. Tuy nhiên, đ ph cầ ề ố ắ ả ế ấ ề ộ ứ
t p v n ti p t c tăng và vạ ẫ ế ụ ượt quá kh năng x lý c a các ki n trúcả ử ủ ế truy n th ng. Nh ng năm g n đây, ki n trúc hề ố ữ ầ ế ướng d ch v (Serviceị ụoriented Architecture SOA) n i lên nh m t gi i pháp t i u cho bàiổ ư ộ ả ố ư toán này. Đ c đi m chính c a SOA là tách r i ph n giao ti p/g i d ch vặ ể ủ ờ ầ ế ọ ị ụ
v i ph n th c hi n d ch v ớ ầ ự ệ ị ụ
Ki n trúc hế ướng d ch v (SOA) là m t hị ụ ộ ướng ti p c n trong vi c tíchế ậ ệ
h p các ng d ng trong cùng h th ng, gi i pháp này cung c p m t cáchợ ứ ụ ệ ố ả ấ ộ
ti p c n linh ho t cho ki n trúc h th ng ph n m m cho doanh nghi pế ậ ạ ế ệ ố ầ ề ệ
hi n nay. H th ng xây d ng theo ki n trúc SOA có tính m r ng cao vàệ ệ ố ự ế ở ộ
kh năng s d ng l i t t. Các d ch v trên h th ng đả ử ụ ạ ố ị ụ ệ ố ược công khai trên internet thông qua các giao di n API giúp cho vi c k t n i các ng d ngệ ệ ế ố ứ ụ
d dàng. Bên yêu c u g i thông đi p t i bên nh n và nh n l i ph n h iễ ầ ử ệ ớ ậ ậ ạ ả ồ
mà không c n quan tâm đ n quá trình x lý bên trong c a bên nh n.ầ ế ử ủ ậCông ngh tr c tích h p (Enterprise Service Bus ESB) là m t lo iệ ụ ợ ộ ạ
ki n trúc ph n m m, ch a m t t p các lu t và nguyên t c cho vi c tíchế ầ ề ứ ộ ậ ậ ắ ệ
h p nhi u ng d ng khác nhau (v n n t ng, ngôn ng ) vào m t hayợ ề ứ ụ ề ề ả ữ ộ nhi u h th ng. Công ngh tr c tích h p chính là c u n i gi a các ngề ệ ố ệ ụ ợ ầ ố ữ ứ
d ng, d ch v trong ki n trúc hụ ị ụ ế ướng d ch v Áp d ng công ngh tr cị ụ ụ ệ ụ tích h p giúp cho các thành ph n trong h th ng có tính tái s d ng cao,ợ ầ ệ ố ử ụ chi phí cho vi c phát tri n và tích h p các ng d ng ngoài hay ng d ngệ ể ợ ứ ụ ứ ụ
c a bên th ba th p.ủ ứ ấ
Tuy nhiên, tích h p nhi u ng d ng khác nhau trên cùng m t h th ngợ ề ứ ụ ộ ệ ố làm cho quá trình ki m th tr nên khó khăn, ph c t p h n và yêu c uể ử ở ứ ạ ơ ầ
ki m th cũng tr nên kh t khe h n. Công ngh tr c tích h p có th k tể ử ở ắ ơ ệ ụ ợ ể ế
n i nhi u ng d ng v i nhau, k c ng d ng trong và ngoài doanhố ề ứ ụ ớ ể ả ứ ụ
Trang 7nghi p, vì v y, quá trình ki m th h th ng ph i xem xét bao quát nhi uệ ậ ể ử ệ ố ả ề
y u t : các nhà cung c p d ch v , các thành ph n d ch v , ngế ố ấ ị ụ ầ ị ụ ười dùng
d ch v , giao ti p gi a các thành ph n.ị ụ ế ữ ầ
Quá trình ki m th h th ng s d ng công ngh tr c tích h p t pể ử ệ ố ử ụ ệ ụ ợ ậ trung vào giao ti p gi a các thành ph n và các tính năng có s trao đ iế ữ ầ ự ổ tích h p thông tin, hay nói cách khác là các API, vì v y, không th th cợ ậ ể ự
hi n đệ ược ph n ki m th trên giao di n ngầ ể ử ệ ười dùng. Ngoài ra, quá trình
ki m th c n để ử ầ ược th c hi n song song, t đ ng hóa v i quá trình phátự ệ ự ộ ớ tri n, khi tích h p m t thành ph n m i vào h th ng, giúp rút ng n th iể ợ ộ ầ ớ ệ ố ắ ờ gian cũng nh ti t ki m chi phí. ư ế ệ
Hi n nay, quá trình ki m th các h th ng s d ng ki n trúc tr c tíchệ ể ử ệ ố ử ụ ế ụ
h p g p ph i nh ng khó khăn v xây d ng môi trợ ặ ả ữ ề ự ường ki m th , s c épể ử ứ
v th i gian phát tri n ng n, các công c h tr ch a nhi u ho c ph iề ờ ể ắ ụ ỗ ợ ư ề ặ ả
m t phí. Vi c này d n t i quy trình ki m th ch a đấ ệ ẫ ớ ể ử ư ượ ự ộc t đ ng hóa, quy trình b rút ng n ho c b qua, khi x y ra l i t i m t ng d ng trongị ắ ặ ỏ ả ỗ ạ ộ ứ ụ
h th ng s đòi h i vi c tìm l i và s a đ i nhi u ng d ng cùng lúc, gâyệ ố ẽ ỏ ệ ỗ ử ổ ề ứ ụ
m t th i gian và t n kém tài nguyên, các l i không đấ ờ ố ỗ ược ki m soát ch tể ặ
ch ẽ
Do đó, v n đ c n gi i quy t đây là quy trình tích h p khi có nhi uấ ề ầ ả ế ở ợ ề thay đ i di n ra liên t c trên h th ng trong th i gian ng n. bài toánổ ễ ụ ệ ố ờ ắ Ở này, quy trình tích h p liên t c và chuy n giao liên t c chính là gi i phápợ ụ ể ụ ả phù h p nh t. Tích h p liên t c là quy trình phát tri n ph n m m đòi h iợ ấ ợ ụ ể ầ ề ỏ
m i thay đ i đ i v i h th ng đ u ph i đỗ ổ ố ớ ệ ố ề ả ược ki m tra t đ ng, và thôngể ự ộ báo k t qu đ n đ i phát tri n, trế ả ế ộ ể ước khi thay đ i đó đổ ược đ a lên môiư
trường tri n khai th c t theo quy trình tri n khai liên t c. ể ự ế ể ụ
Vì v y, lu n văn này nghiên c u, tìm hi u, đ xu t quy trình ki mậ ậ ứ ể ề ấ ể
Ngoài ph n m đ u và k t lu n, lu n văn đầ ở ầ ế ậ ậ ượ ổc t ch c thành cácứ
chương nh sau. Chư ương 1 khái quát khái ni m ki n trúc hệ ế ướng d ch v ,ị ụ công ngh tr c tích h p, quy trình tích h p, chuy n giao liên t c, cácệ ụ ợ ợ ể ụ
Trang 8công c h tr , l i ích c a vi c s d ng công ngh tr c tích h p trongụ ỗ ợ ợ ủ ệ ử ụ ệ ụ ợ
vi c phát tri n ng d ng doanh nghi p và m t s khái ni m liên quanệ ể ứ ụ ệ ộ ố ệ
đ n ki m th ng d ng. Chế ể ử ứ ụ ương 2 đ a ra th c tr ng, khó khăn c aư ự ạ ủ
ki m th trên h th ng s d ng công ngh tr c tích h p, phân tích cácể ử ệ ố ử ụ ệ ụ ợ
v n đ c n gi i quy t. Chấ ề ầ ả ế ương này cũng đ a ra quy trình ki m th hư ể ử ệ
th ng và công c t đ ng sinh mã ngu n ki m th h tr quy trình đố ụ ự ộ ồ ể ử ỗ ợ ượ ctrình bày. Chương 3 đ a ra các bư ước áp d ng th c t c a quy trình v iụ ự ế ủ ớ
m t ng d ng đ n gi n xây d ng d a trên MuleESB. Ph n t ng k t tómộ ứ ụ ơ ả ự ự ầ ổ ế
t t k t qu đ t đắ ế ả ạ ược, các đi m h n ch và đ nh hể ạ ế ị ướng phát tri n trongể
tương lai
Trang 9CHƯƠNG 1. C S LÝ THUY T VÀ CÁC KHÁI NI M LIÊNƠ Ở Ế Ệ
QUANNgày nay, vi c phát tri n ph n m m càng tr nên ph c t p và khóệ ể ầ ề ở ứ ạ
ki m soát do s xu t hi n c a nhi u công ngh m i t o nên môi trể ự ấ ệ ủ ề ệ ớ ạ ườ ngphát tri n và n n t ng không đ ng nh t, trong khi nhu c u trao đ i, chiaể ề ả ồ ấ ầ ổ
s và tẻ ương tác gi a các ng d ng ngày càng tăng. Trong nh ng năm g nữ ứ ụ ữ ầ đây, vi c phát tri n h th ng ph n m m đang d n chuy n sang xu thệ ể ệ ố ầ ề ầ ể ế
hướng d ch v trong đó, công ngh tr c tích h p là gi i pháp đị ụ ệ ụ ợ ả ược sử
d ng đ cung c p c ng giao ti p gi a các thành ph n trong h th ngụ ể ấ ổ ế ữ ầ ệ ố
hướng d ch v Tuy nhiên v n đ m i đ t ra là c n đ m b o đị ụ ấ ề ớ ặ ầ ả ả ược khả năng ki m soát l i t t song song v i quá trình phát tri n khi mà càng lúcể ỗ ố ớ ể càng có nhi u thành ph n m i đề ầ ớ ược tích h p thêm. Nh ng k thu t ki mợ ữ ỹ ậ ể
th và các quy trình tích h p, tri n khai liên t c c n đử ợ ể ụ ầ ược áp d ng đ hụ ể ỗ
tr quy trình ki m th ợ ể ử
Đ giúp làm rõ h n nh ng n i dung trong các chể ơ ữ ộ ương ti p theo,ế
chương này s gi i thi u các khái ni m c b n v ki n trúc hẽ ớ ệ ệ ơ ả ề ế ướng d chị
v , công ngh tr c tích h p, gi i thi u v n n t ng tr c tích h p doụ ệ ụ ợ ớ ệ ề ề ả ụ ợ MuleSoft phát tri n MuleESB, quy trình tích h p, tri n khai liên t c,ể ợ ể ụ
m t s công c h tr và các khái ni m v ki m th ộ ố ụ ỗ ợ ệ ề ể ử
1.1 Ki n trúc h th ngế ệ ố
1.1.1. Ki n trúc hế ướng d ch vị ụ
Ki n trúc hế ướng d ch v (Service Oriented Architecture SOA) [1] [2]ị ụ
là m t chi n lộ ế ược xây d ng ki n trúc ph n m m. Đây là quá trình tíchự ế ầ ề
h p các thành ph n đ c l p k t n i v i nhau m t cách linh đ ng thôngợ ầ ộ ậ ế ố ớ ộ ộ qua các giao th c đứ ược đ nh nghĩa s n, và tính tái s d ng cao. SOA giúpị ẵ ử ụ cho công vi c phát tri n ph n m m tr nên d dàng và nhanh chóng h n.ệ ể ầ ề ở ễ ơ Khái ni m d ch v trong h th ng SOA đệ ị ụ ệ ố ược hi u là m t ch c năngể ộ ứ
được xác đ nh rõ ràng, khép kín và không ph thu c vào ng c nh ho cị ụ ộ ữ ả ặ
Trang 10h p nhi u ng d ng khác nhau v n n t ng, ngôn ng vào m t hayợ ề ứ ụ ề ề ả ữ ộ nhi u h th ng. Xây d ng h th ng n n t ng tr c tích h p cho doanhề ệ ố ự ệ ố ề ả ụ ợ nghi p t đ u đòi h i r t nhi u th i gian, công s c và ti n b c. Hệ ừ ầ ỏ ấ ề ờ ứ ề ạ ệ
th ng d ch v s d ng công ngh tr c tích h p có tính tái s d ng cao,ố ị ụ ử ụ ệ ụ ợ ử ụ chi phí cho vi c phát tri n và tích h p các ng d ng ngoài hay ng d ngệ ể ợ ứ ụ ứ ụ
c a bên th ba th p.ủ ứ ấ
Hình 1.: Ki n trúc h th ng s ế ệ ố ử d ngụ công ngh tr c tích h pệ ụ ợ
1.1.3. Xây d ng ng d ng tr c tích h p d a trên n n t ngự ứ ụ ụ ợ ự ề ả MuleESB
Mule framework
Mule [7] là m t trong nh ng d án mã ngu n m đ u tiên cung c pộ ữ ự ồ ở ầ ấ
gi i pháp t ng th và đ l n đ xây d ng nên m t h th ng SOA. Muleả ổ ể ủ ớ ể ự ộ ệ ố cung c p m t b đ y đ các tính năng tích h p c n thi t cho m t doanhấ ộ ộ ầ ủ ợ ầ ế ộ nghi p.ệ
Mule là m t n n t ng tích h p d a trên Java, cho phép các nhà phátộ ề ả ợ ự tri n k t n i các ng d ng v i nhau m t cách nhanh chóng và d dàng,ể ế ố ứ ụ ớ ộ ễ giúp các ng d ng trao đ i d li u v i nhau. Mule cho phép tích h p cácứ ụ ổ ữ ệ ớ ợ
h th ng hi n có, b t k các công ngh khác nhau mà các ng d ng sệ ố ệ ấ ể ệ ứ ụ ử
d ng, bao g m JMS, d ch v Web, JDBC, HTTP, và nhi u h n n a. ụ ồ ị ụ ề ơ ữMuleESB là b th vi n độ ư ệ ược cung c p b i MuleSoft cho phép phátấ ở tri n ng d ng ESB. Vi c tri n khai ng d ng phân tán trên môi trể ứ ụ ệ ể ứ ụ ườ ng
m ng giúp cho vi c k t n i gi a các ng d ng d dàng, tuy nhiên l i gâyạ ệ ế ố ữ ứ ụ ễ ạ
ra khó khăn trong giao ti p gi a các ng d ng do vi c khác bi t v côngế ữ ứ ụ ệ ệ ề ngh , n n t ng. MuleESB gi i quy t v n đ này b ng vi c cung c pệ ề ả ả ế ấ ề ằ ệ ấ
Trang 11Hình 1. mô t ki n trúc c a MuleESB. Trong lu ng x lý, b chuy nả ế ủ ồ ử ộ ể
đ i (Transformer) có vai trò chuy n đ i đ nh d ng thông đi p thành cácổ ể ổ ị ạ ệ
lo i đ nh d ng phù h p v i n i nh n thông đi p, trạ ị ạ ợ ớ ơ ậ ệ ước khi được x lý vàử
đ nh tuy n. Các b chuy n đ i (Transformer) là chìa khoá đ trao đ i dị ế ộ ể ổ ể ổ ữ
li u, d li u ch đệ ữ ệ ỉ ược chuy n đ i khi c n thi t thay vì chuy n đ i thànhể ổ ầ ế ể ổ
đ nh d ng chung, thông đi p có th đị ạ ệ ể ược g i qua các kênh truy n khácử ề nhau
Hình 1.: Ki n trúc MuleESBế [6]
Vi c tách bi t gi a lu ng logic nghi p v và cách th c truy n nh nệ ệ ữ ồ ệ ụ ứ ề ậ
d li u cho phép m r ng ki n trúc h th ng và d dàng tu bi n lu ngữ ệ ở ộ ế ệ ố ễ ỳ ế ồ nghi p v ệ ụ
Khi m t thông đi p độ ệ ược g i đi gi a các ng d ng, MuleESB ti pử ữ ứ ụ ế
nh n thông đi p, chuy n đ i đ nh d ng thông đi p, phân lo i và đi uậ ệ ể ổ ị ạ ệ ạ ề
hướng sang d ch v nh n c n thi t b ng vi c s d ng b chuy n đ iị ụ ậ ầ ế ằ ệ ử ụ ộ ể ổ (Transformer)
Trang 12n n t ng công ngh cũ nh Visual Basic. Ki n trúc h th ng Internetề ả ệ ư ế ệ ố Banking xây d ng theo mô hình k t n i đi mđi m (pointtopoint). V iự ế ố ể ể ớ
ki n trúc này, h th ng s bao g m nhi u k t n i gi a các ng d ngế ệ ố ẽ ồ ề ế ố ữ ứ ụ khác nhau. Vi c này d n đ n quá trình b o trì và m r ng h th ng g pệ ẫ ế ả ở ộ ệ ố ặ nhi u khó khăn, kh năng ki m soát l i kém. Sau khi phát tri n s d ngề ả ể ỗ ể ử ụ
m t l p ESB th c hi n đi u hộ ớ ự ệ ề ướng thông đi p và x lý k t h p v i quyệ ử ế ợ ớ trình nghi p v đ gi m thi u vi c phát tri n ch ng chéo nhi u ch cệ ụ ể ả ể ệ ể ồ ề ứ năng gi ng nhau, đ ng th i gi m thi u s lố ồ ờ ả ể ố ượng các k t n i gi a cácế ố ữ
Vi c này s đệ ẽ ược m t nhóm khác ki m tra t đ ng, nhóm này s ti nộ ể ự ộ ẽ ế hành ki m th truy h i đ phát hi n l i nhanh nh t có th Các nhómể ử ồ ể ệ ỗ ấ ể phát tri n s d ng phể ử ụ ương pháp Agile thường dùng tích h p liên t c đợ ụ ể
đ m b o mã ngu n c a toàn d án luôn d ch đả ả ồ ủ ự ị ược và ch y đúng. ạ
1.2.2. Chuy n giao liên t cể ụ
Trong khi tích h p liên t c là quy trình đ d ch và ki m th t đ ng,ợ ụ ể ị ể ử ự ộ thì vi c chuy n giao liên t c (Continuous Delivery) cao h n m t m c, đóệ ể ụ ơ ộ ứ
là tri n khai ng d ng sau khi ki m th thành công lên môi trể ứ ụ ể ử ường ki mể
th ho c staging. Chuy n giao liên t c cho phép l p trình viên t đ ngử ặ ể ụ ậ ự ộ hóa ph n ki m th bên c nh vi c s d ng ki m th đ n v đ ki m traầ ể ử ạ ệ ử ụ ể ử ơ ị ể ể
Trang 13ph n m m qua nhi u thầ ề ề ước đo trước khi tri n khai cho khách hàng.ể
Nh ng bài ki m th này bao g m: ki m th giao di n, ki m th t i,ữ ể ử ồ ể ử ệ ể ử ả
ki m th tích h p và ki m th giao di n API. ể ử ợ ể ử ệ
1.2.3. M t s công c h trộ ố ụ ỗ ợ
Github
Git là m t H th ng qu n lý phiên b n phân tán (Distributed Versionộ ệ ố ả ả Control System DVCS). Github là m t trong s nh ng kho qu n lý mãộ ố ữ ả ngu n phân tán ph bi n nh t hi n nay. ồ ổ ế ấ ệ
Maven
Maven là công c qu n lý mã ngu n và th vi n ph thu c m t cáchụ ả ồ ư ệ ụ ộ ộ
t đ ng, đự ộ ược s d ng cho các ng d ng trên n n t ng Java, ngoài raử ụ ứ ụ ề ả còn có các n n t ng khác nh C#, Ruby, Scala… Đề ả ư ược phát tri n v iể ớ
m c đích tụ ương t nh Apache Ant nh ng có khái ni m và cách ho tự ư ư ệ ạ
đ ng khác, Maven h tr vi c t đ ng hóa quá trình qu n lý d án ph nộ ỗ ợ ệ ự ộ ả ự ầ
m m nh : kh i t o, biên d ch, ki m th , đóng gói và tri n khai s nề ư ở ạ ị ể ử ể ả
ph m. ẩ
Jenkins
Jenkins là th vi n mã ngu n m cho phép qu n lý mã ngu n và tri nư ệ ồ ở ả ồ ể khai m t cách t đ ng, c khi d án đang trong giai đo n phát tri n. Nóộ ự ộ ả ự ạ ể giúp khép kín quy trình phát tri n ph n m m m t cách t đ ng theo môể ầ ề ộ ự ộ hình Agile nói chung và vi c tích h p liên t c nói riêng. Jenkins đệ ợ ụ ượ cphát tri n trên n n t ng Java, h tr nhi u n n t ng khác nhau nhể ề ả ỗ ợ ề ề ả ư Windows, Linux, Mac OS, Solaris… và có th k t h p để ế ợ ược nhi u côngề
c khác.ụ
1.3 Ki mể thử
Ki m th ph n m m là ho t đ ng kh o sát th c ti n s n ph m hayể ử ầ ề ạ ộ ả ự ễ ả ẩ
d ch v ph n m m trong đúng môi trị ụ ầ ề ường d đ nh tri n khai ph n m mự ị ể ầ ề
đó, nh m cung c p cho các bên liên quan thông tin v ch t lằ ấ ề ấ ượng c a s nủ ả
ph m hay d ch v ph n m m. M c đích c a ki m th ph n m m là tìmẩ ị ụ ầ ề ụ ủ ể ử ầ ề
ra các l i hay khi m khuy t nh m đ m b o chỗ ế ế ằ ả ả ương trình ho t đ ng đ tạ ộ ạ
được hi u qu t i đa. “Ki m th ph n m m là quá trình th c thi m tệ ả ố ể ử ầ ề ự ộ
chương trình v i m c đích tìm l i” [11].ớ ụ ỗ
Trang 14chương trình, thay vào đó, ki m th viên t p trung tìm các đ c đi m màể ử ậ ặ ể
chương trình th c hi n không đúng nh đ c t c a nó. Các ca ki m thự ệ ư ặ ả ủ ể ử
được sinh ra t đ c t ngừ ặ ả ười dùng (user requirement) c a chủ ương trình
Ki m th h p tr ngể ử ộ ắ
Ki m th h p tr ng là m t chi n lể ử ộ ắ ộ ế ược ki m th khác, trái ngể ử ược v iớ
ki m th h p đen. Ki m th h p tr ng cho phép kh o sát c u trúc bênể ử ộ ể ử ộ ắ ả ấ trong c a chủ ương trình. Chi n lế ược này xu t phát t d li u ki m thấ ừ ữ ệ ể ử
b ng s ki m th tính logic c a chằ ự ể ử ủ ương trình. Người ki m th viênể ử (thường là l p trình viên) s truy c p vào c u trúc d li u và gi i thu tậ ẽ ậ ấ ữ ệ ả ậ cùng v i mã ngu n c a chớ ồ ủ ương trình
Ki m th h p xámể ử ộ
Ki m th h p xám đòi h i ph i có s truy c p t i c u trúc d li u vàể ử ộ ỏ ả ự ậ ớ ấ ữ ệ
gi i thu t bên trong cho nh ng m c đích thi t k các ca ki m th , nh ngả ậ ữ ụ ế ế ể ử ư
là ki m th m c ngể ử ở ứ ườ ử ụi s d ng hay m c h p đen. ứ ộ
1.3.2. Các c p đ ki m thấ ộ ể ử
Ki m th đ n v ể ử ơ ị
Ki m th đ n v (Unit Test) là vi c ki m th t ng thành ph n c thể ử ơ ị ệ ể ử ừ ầ ụ ể
c a chủ ương trình, do l p trình viên th c hi n. M t đ n v có th là m tậ ự ệ ộ ơ ị ể ộ
phương th c, th t c hay m t l p c a chứ ủ ụ ộ ớ ủ ương trình, các thành ph n nàyầ
có kích thước nh và ho t đ ng đ n gi n. Do đó, ki m th đ n v khôngỏ ạ ộ ơ ả ể ử ơ ị
có gì ph c t p, k t qu l i x y ra d dàng kh c ph c đứ ạ ế ả ỗ ả ễ ắ ụ ược
Ki m th tích h pể ử ợ
Ki m th tích h p (Intergration Test) k t h p các thành ph n c a m tể ử ợ ế ợ ầ ủ ộ
ng d ng và ki m th nh m t ng d ng đã hoàn thành. Trong khi ki m
th đ n v ki m tra các thành ph n và đ n v riêng l thì ki m th tíchử ơ ị ể ầ ơ ị ẻ ể ử
h p k t h p chúng l i v i nhau và ki m tra ch c năng giao ti p gi aợ ế ợ ạ ớ ể ứ ế ữ chúng
Ki m th h th ngể ử ệ ố