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

Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm

122 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 đề Nghiên cứu và ứng dụng tool kiểm thử tự động trong kiểm thử phần mềm
Tác giả Tran Mai Lien
Người hướng dẫn PGS.TS Pham Minh Viot
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Điện tử - Viễn thông
Thể loại Luận văn thạc sĩ
Năm xuất bản 2012
Thành phố Hà Nội
Định dạng
Số trang 122
Dung lượng 2,39 MB

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

Nội dung

1⁄2 Nội dung nghiên cứu Kiểm thử là một khâu vô cùng quan trạng trong chu trình phát triển phần aném, dé nang cao chất lượng, giám tải sức lực tham gia của con người dồng thời tăng tín

Trang 1

TRAN MAI LIEN

NGUIEN CUU VA UNG DUNG TOOL KIEM TIIU TU BONG TRONG KIEM

THU PHAN MEM

LUẬN YĂN THẠC SĨ KỲ LHUẬT

ĐIỆN TỬ - VIỄN THÔNG

Ha Nai —2012

Trang 2

TRAN MAI LIEN

NGIIEN CUU VA UNG DUNG TOOL KIEM TIIU TY BONG TRONG KIEM

THU PHAN MEM

Chuyên ngành: Điện tử - Viễn thông

LUẬN VĂN THẠC SĨ KỸ THUẬT

DIEN TU VIEN THONG

NGUOT HUGNG DAN KHOA HOC

PGS.TS Pham Minh Viét

TIả Nội — 2012

Trang 3

II GIỚI THIỆU CHƯNG VẺ PHÂN MÉM VÀ KIẾM THỦ PHẢN MÊM 11 2.1 Giới thiệu chưng vê phẫn mềm snnenrararsarreaeeo.T]

2.2 Giới thiệu chung về kiểm thử phần mâm - 12

2.2.3 Tại sao phải kiểm thử tự đơng và sử đựng tool kiểm thứ 14

3.1 Giới thiệu chưng về Iòl kiểm thử tự động - 16

3.1.1 Khái niềm tool kiếm thử phân mễm cesseeeeosoeosoe TỔ 3.12 Xhữmg loi ich khi sit dung tool kiểm thứ tự động - 16 3.1.3 Khi nào nên sử đụng tool test? secant dS 3.1.4 Những hạn chả khi sử dụng tool tự động « ceccieeoeco.2Ơ

3.2 Quy trình kiểm thứ sử đụng 1ool tự động, - - 22

3.2.1 Phân lich và thiết kế mơ hình phái triển kiểm thử tự động 23 3.2.2 Tạo test soript (kịch bản kiểm 18) oc csccssssesateesnnunsiesenmensassee dd

3.2.4 Chay lost script dé kiểm thử tự động, - - 15 3.2.5 Đánh giá kết quả cueninenrereireaeriresosoeoo.TĨ)

Trang 4

3.3.2 Tøol kiểm thử các ứng đụng Java sọ nhieu maee rao

3.3.3 Tool kiểm tra đường dan liên kết - - 27

3.3.6 Tool est bio mat cho imgd dung Web - - 28

3.4 Giới thiệu chỉ tiết về một số tool đang sử dụng phê biển ở Việt Nam 28

3.4.1 QuickTostPro (QuickT cat, Professional) - - 29

3.4.1.2 Dic dM ceeeisesctneninniineninneninuneasnaenaan sansa ST 3.4.1.3 Cáo thành phần quan trọng trong QuickT’estPro - 31

3.4.2.1 Giới thiệu cneeHiereeraereerirriiraeeoaouÐT

a, Solcnium IĐE « e.«e.csceeeeeieereeriieerrirrrrerrerie e2

¢, BoanShell sampler senescent snetaminneninaeies ror.đỔ

d, WebService (SOAP) request cinicnninerineneterniniiennerieee AB

Trang 5

4.1 Các bước thực hiện mội bài test hiệu năng với tool ïmeter 6#

4.12 Crcating Vuser Seipfs nhe kireeeierieseeoooeco.Õ 4.1.3 Creating the Scenadio seo neeniieseieeirrisesosoeooOfB

4.2 Quy trình thục hiện để tạo một 'estplan - - 65

4.2.2 Các điều khiển hỗ trợ khi tạo 1 Testplan 68

e, Truyền tham số qua biỂn nhu Hhneeeieeoee

d, CSV Dala Set Conlg oninieiiririrririrerrrreg

4.3 Ứng dụng tool 1rneter vào do hiệu năng hệ thông chăm sóc khách hàng

4.3.2.1 Planning the test

Trang 6

4.3.2.3 Creating the Scenario

4.3.2.4 Running the Scenaria | Monitoring the Scenarto - 83

4L8.2.5.Analyeing the S0enario

V ỨNG DỤNG TOOL sELENIUM webdriver VÀO KIỂM THU HE THONG

3.1 Phạm vi áp dụng looi Selenium Wetdriver - - 87

3.2 Các công cụ hỗ trợ khi viết script với Selenium Webdriver ST

3.3 Ứng dụng Selcnium Webdriver vào kiểm thứ hồi quy cho hệ thông RCMS 90

5.3.2.2 Tao test script + chữnN sửa toi SEF|ĐE cà ceeeeeeoeieoc.Đ3 3.3.2 3 Chạy fesf scrip! - 116

VL KẾT LUẬN VÀ HƯỚNG NGHIÊN CỬU TIẾP THEƠ ¬

"Trân Mai Liên — C11006 50 4

Trang 7

Hinh 2: Cửa số Selenium Core Framework

Hình 3:Eile chứa kết quả result.htmi - - 3⁄7

Hình 4:Màn hình của sarpls HTTP Droxy Ñzrver - - eos Al Hình 5:Màn hình của JDBC Connection Configuratioi sao „41 Linh 6: Ví đu câu hình một JDBC Connection Configuration cose

Hình 8:IDBC requcst với Query Typc — “Prcparcd Update Statcrteit” 4Š Hình 9:JIDBC reqnest với Query 1ype = “Update Siatemenif” 46

Hinh 11:Man hinh cia sample WebService (SOAP) 249

Uinh 13:Man hinh Han vige cita Virtual User Generator - ~ -BỮ Hình 14: Man hình lâm việc của Controller 61 Hinh 15:Màn hình làm việc cúa Load Generalor „.62

Hinh 18:Màn hình thêm 1 Simple Controllsr 267

Lĩnh 19: Màn hình cầu hình 1 Response Assertion - - 68

Hình 20:Màn húnh câu hình của Regtdar Exprcssion Extraetor 70

Hình 21:Một vì da của Regudar Expression EXITatOF ococooreirriroirrriiirrrriie

Lĩnh 22: Màn hình cần hình của CSV Data Set Config - - - 72

[linh 28:Man hinh khéi tao cdc control va dat ofc bude cho sreipt - 77

Lĩnh 29: Màn hình thiết lập Proxy cho trình duyệt - - ce TB

Trân Mai Liên CB100650 5

Trang 8

Hinh 30:§cript của bước CCPRE TCTTTB l

Hinh 32:Man hinh Add Regular Expression Extractor vao request dé lay gia ti It

Hinh 33:Man hinh Add Regular Expression Extractor vao request

Tink 34:Man hinh dat bién 1 vao cdc request sit dung 80

Hinh 35:Man hinh dit bién ticket vào các request sử đạng, BŨ

Hinh 38: Add thm 2 Listener để xem kết quả khí run test - .82

Hình 39:Câu hinh số lượng usar cho máy client L .83

1ình 40: Màn hình start script trên tắt cả các máy 84

Hình 41:Màn hình làm việc

Hình 42: Vi đụ ruột đoạn code sử dung Annotation của TesfNG

Tlinh 13: Vi du file XML cia TestNG - - - - 90

bún, Epipse

Hình 44:Báo cáo của Tcs”NG, con neeeeiiirirareoroooeoe ĐỮ

Hình 45:1rang chủ hệ thông ACMH „81

Hinh 48 Eils kết quả kiắm thứ -ecosee „117

Trân Mai Liên CB100650 6

Trang 9

DANH MUC THUAT NGU VA VIET TAT

POA P Quality Assurance

'Ÿestcase 'Trường hợp kiểm thử

Unit test Kiểm thử đơn vị

Intergration test Kidm thit tich hop

System test PRiềm tứ lề hồng

Performan: Kiềm tine higu năng

Sires test PKiềm tint ap he

P Rogression test gid tint hat quy

“Test soupt ¡ Ki tân tiếp lãnh) được viết bing tool kiểm thờ

*Scloniun IDE ' Sclcniam integrated Development Environment

“Seenium RE Selenium Remote contol

APL Application Programming [Interface

¡ SOAP Í Simpls Objeet Access Protocol

TIDBC Java Database Connectivity

THTTP Hypertext Transfer Protocol

TREE PInstitule of Electrical and Flectromes Enyginesrs

Trân Mai Liên CB100650

Trang 10

1.MÓ ĐẤU

11 Bỗi cảnh nghiên cửu Ngày nay khải niệm phân mềm đã trở nên rất phỏ biến Không ai có thể phủ

nhận vai trỏ to lớn của phần mềm trong xã hội hiện dai Ung đụng của phân mẻm có

amit trong hau hết các lĩnh vực của cuộc sống như: Truyều thông, khoa học công, nghệ, ngân hàng, sản xuất chế tạo, quản trị doanh nghiệp, địch vụ và trở thành đối

tượng phục vụ quan trong cho mọi nhu cầu của con người

Công nghiệp phân mềm trên thể giới hiện là một ngành công nghiệp phát triển va dong gop quan trợng vào sự phải triển và tiến bộ của công nghệ hiện đại Ở Việt Nam, công nghiệp phần mềm mới chi phat triển tập trung trang 10 năm gần

đây Là một lĩnh vực khá mới đi san sự phát triển của thê giới, tận dụng và thửa

thưởng dược những thành tựu trước đẻ, công nghệ thông tin nói clrung và công nghệ phan mềm nói riêng ở nước ta đang có những phát triển nhanh chóng, được xem là

một trong những ngành mĩ nhọn đóng góp ngày càng nhiều vào nên kinh tế quốc

dân

Công nghệ phân mềm phát Iriển kéo theo các thành phần bên trong nó cũng

không ngững được hoàn thiện và nâng cao, kiểm thử phần mẻm nằm trong số đó

La khau cuối cừng trong vòng đời phát triển phân mềm nhưng đóng một vai trỏ vô cũng quan trọng, là khân đâm bảo chất lượng cho phần mềm đến lay người sử dụng

cuối thỏa mãn được mọi yêu câu cơ bàn cũng nhu khắt khe nhất Kiếm thử phân

mềm cân phải được xem xét ở góc độ lương xứng với Lm quan trọng của nó trong, quy trình phát triển phân mềm

Như chúng ta biết, để tạo ra một sản phẩm phân mềm có chất lượng thì hoạt

động kiểm thử phần mềm đóng vai trỏ quan trong, trong khí đó hoạt động này lại tiêu tồn và chiếm tý trọng khá lớn công sức và thời gian trong một dy an Do vậy, nhu cầu tự động hóa quy trình kiểm thử phân mềm cũng được đặt ra Qua thực tế cho thấy việc ap dung kiểm thử tự động hợp lý sẽ mang lai thành công cho hoạt

Trân Mai Liên CB100650

Trang 11

động kiểm thữ phần mềm Kiểm thử Lự động giúp giãm bớt công sức thực hiện, lãng

độ ti cậy, giảm sự nhằm chán và rên luyện kỹ nắng lập trình cho kỹ sư kiểm thử

1⁄2 Nội dung nghiên cứu

Kiểm thử là một khâu vô cùng quan trạng trong chu trình phát triển phần

aném, dé nang cao chất lượng, giám tải sức lực tham gia của con người dồng thời tăng tính hiệu quả, chuyên nghiệp của nó thì việc ứng đụng các công cụ kiểm thử tự động đang ngày cảng được chú trọng,

Luận văn sẽ giới thiệu những nét chưng, nhất về kiểm thứ phần mẻm và sự

cân thiết sử dựng tool kiém thử tự động trong hoạt động kiêm thử phân mềm Tiếp

đó luận văn tập chung nghiên cứu tool kiểm thử tự động, tính hữu ích và ứng dụng vào kiểm thử phần mềm của một số tool phô biến trên thẻ giới

Thân cuổi cùng lả thực tế hóa những nghiên cứu ở trên thông qua việc ap

đụng trong thực 1é 2 tool tka tác giả vào các hệ thống tại tổ chức: áp dụng (ool jmeter vdo kiểm thứ và giám sát hiệu năng hệ thông chăm sóc khách hang, ap dung tool Selenium WebDriver vào kiếm thử chức năng hệ thống BCMS

13 Cấu trúc luậnvăn Luận văn gồm được phân chia Jam 5 phẩn như sau:

Đây là phân trọng tâm của luận văm, tập chung nghiên cứu khái tiệm, vai lrò,

tác dụng của tool tự dộng trong kiểm thứ phần mềm Những hạn chế cản xem xét khi muốn áp dựng vào thực tế Phân loại tool theo phạm vi ứng dụng Giới thiệu một số tool đang được dùng phổ biến tại Việt Nam

Trân Mai Liên CB100650

Trang 12

Phdn 4: Ung dung tool Jmeter vào kiểm thử liệu năng

Phan nay mô phỏng cach thuc thực biện và tiến hành cải dặt một tool kiếm

thử hiện năng — tool Imeter vào kiếm thữ hiệu năng hệ thống chăm sóc khách hang

Phân 5: Ứng dung tool Selenium WebDriver vio kiém thit hai qui

Phản này mô phỏng cách thức thục hiện và viét seript ty dong sử dụng tool Seleniưm WehDriver để kiếm thử hỏi quy chức năng của hệ thông ECMS

Phân 6: Kết luận và hướng nghiên cứu tiếp theo

Đánh giá tâm quan trọng của các kết quả đã nghiên cửu được, mở ra các hướng nghiên cứu nâng cao tiếp thee

Trong quá trình thực hiện luận văn, em xia gửi lỗi cảm ơn chân thành đến thấy giáo hưởng dẫn PGS.TS Phạm Minh Việt Trong luận văn chắc chắn không thể

không có thiếu sót, rất mong được ý kiến dong ghép và phản hỏi của các thay cô

Trân Mai Liên CB100650

Trang 13

TT GIỚI THIẾU CITENG VE PIIAN MEM VA KIEM TOU PITAN MEM

2.1 Giới thiệu chung về phần mềm 2.1.1 Phần mém là gi?

Thân mềm là một (bộ) chương trình được cải đặt trên máy tính nhằm thực

luiện một nhiệm vụ tương dối độc lập nhằm phục vụ cho một ứng dụng cụ thể trong, việc quản lý hoạt động của máy tính hoặc áp dụng máy tỉnh trong các hoạt động kinh tế, quốc phòng, văn hóa, giáo dục, giải trí

Phin mam có thể được coi nhự là một phân thay đổi của máy tính và phản cửng lả

phân có định Phân mềm thường được chia thành phần mèm img dung (chong

trình mã người dimg lam việc Irực tiếp đến) và phần mềm hệ thống (báo gồm hệ diéu hành và bắt cử chương trình nào hỗ trợ phân mềm ứng dụng

Việc †ạo ra một phân mềm phải trải qua nhiều giai đoạn, người ta gọi là quy trình

phát triển phản mềm, bắt đầu từ khi có ý tưởng cho đến khí đưa ra sản phẩm phần

aném thực thí

2.1.2 Tai seo phan mém lại có lỗi

Các nghiên cứu từ trước đến nay đã chỉ ra rằng không thể có 1 hệ thông phân

Tnểm nào hoại động đứng theo mọi yên cầu của nguời dùng đặt ra, không một phan

mềm nào là không có lỗi Lỗi trên hóa đơn thanh toán, lỗi trễ xây ra trong quả trính

xử lý 1 giao địch thanh toán thẻ và một trang website không load được đữ liệu là những vi dụ về những vẫn dé có thể xảy ra bởi 1 phản mễm có lỗi Không phải tất

cả các phần mềm đều cô chung một mức độ lỗi và không phái tất cả các lỗi khi xây

7a có cừng một mức độ tác động đên hệ thống

Lai phan mém có thể đến từ tất cả các giải đoạn trong vòng đời phát triển của phần xnểm: từ lúc tìm hiểu phân tích yêu cầu của khách hàng đến khi phần mềm được triển khai Trong đó một số nguyên nhân phố biến sau thường gây ra lỗi cho phan mễm đó lả

‘Thi nhất lá lỗi từ giai đoạn tìm hiểu và phan tich yêu cầu của khách hàng, Nguời tìm hiểu có thể tìm hiểu không hết hoặc tiểu sai yêu cầu của khách hang, khi phân

Trân Mai Liên CB100650

Trang 14

tích không đánh giá hết được ảnh hưởng của yêu cầu đến toàn bộ hệ thống và không nhìn ra dược tác động tương tác của hệ thống hiện tại với các hệ thủng khác Lỗi

xây ra trong giai đoạn này thường là những lỗi nghiêm trọng và chỉ phí sửa lễi là

ớn nhất so với lỗi xây ra trong các giai đoạn sau này, bởi lỗi từ yêu câu khi sửa sẽ

kéo theo toàn bộ các giai doạn sau này cũng phải sửa theo Do dỏ, việc tìm lỗi trong,

giai đoạn nay là rất quan trọng, góp phân quan trọng làm giảm chỉ phí sản xuất đo tránh được các lỗi nghiêm trọng,

'Thứ hai, lỗi đến tử người phát triển Lỗi nảy thưởng là lỗi chủ quan của người thực

tiện yêu câu, trong quá trình khai báo, viết ham, thủ tục, sử đụng thuật toán, tổ chúc

đữ liệu Các lỗi này thường được phát hiện trong, quả trình kiểm thử, Ngoài ra, lỗi cũng có thể xây ra trong chỉnh giai đoạn kiểm thứ Khi người thực hiện kiểm thứ

xác định chiến hrọc và phương pháp kiếm thử không rõ ràng, đầy đủ cũng sẽ để lọt

các lỗi của hệ thông

Ngoài ra cũng có những lỗi khách quan xảy ra, lỗi đến từ mỗi trường bên ngoài đội

đự án như bân thân khách hàng không rõ ràng về yêu cầu đưa ra, yêu cầu thay đối liên tục, mỗi trường triển khai hệ thống không hoàn toàn giống như môi trường dã

xác định ban đầu, công cụ phát triển bản thân cũng có lỗi

Thiệu nghiên cửu đã được thực hiện rên các dư án từ qui mô rất nhô đến các dự án

rất lơn và kết quả luôn giống nhau Số lỗi đo đặc tả yêu câu xảy ra là nhiều nhất,

chiêm đến 80% tổng số lỗi của tắt cả oác giai đoạn

Để nâng cao chất luợng phần mém dén tay người sử dụng, cố gắng loại bỗ được tối

da có thể các lỗi của phản mềm không có cách nao khác lả phải kiểm thử phần mềm trước khi đưa sản phẩm ra thị trường

2.2 Giới thiệu chung về kiếm thử phần mềm 2.2.1 Kiểm thử phân mễm là gì?

Kiểm thử phản mềm là quá trình khâo sát một hệ thông hay một thành phần dudi những điều kiện xác định, quan sải vá ghủ lại các kết quả, đánh giá một khia

cạnh nảo đó của hệ thẳng hay thành phần đó (Theo bang chứ giải thuật ngữ chuẩn

Trân Mai Liên CB100650

Trang 15

TREE của Thuật ngữ kỹ rghê phần màn- TBEE Stardard Glossny o[ Solware nginccring Terninology}

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

(Theo “The Art of Sollware Tealing” — Nghệ thuật kiểm thứ phần mềm),

Kiểm thứ phần mềm là hoạt dộng khảo sát thực tiểu sản phẩm hay dịch vụ phần mém trong đứng môi trường chứng dự định sẽ được triển khai nhắm cung cấp cho người có lợi Ích liên quan những thông tín về chất lượng của sản phẩm hay địch vụ phần mềm ấy 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

phân mềm nhằm đảm bảo hiệu quả hoạt động tối tmì của phân mêm trong nhiều

nganh khie nhau (Theo Bach khea toan thu mé Wikipedia)

322 Vai trò cña kiếm thứ:

Như đã thảo luận ở trên, đề loại bố lỗi trên sản phẩm trên phần mẻm (tất nhiên là không thế loại bỏ được hoàn toản lỗi) và nâng cao chất lượng phần mềm thì kiểm thử là rất cần thiết trong suốt giai đoạn phát triển và bảo trí hệ thống Nó bao gồm quá trình tìm kiếm, kiểm tra những điểm trên giao điện người dùng, noi ma người ding có thể làm xuất hiện lỗi của đữ liện đâu vào hoặc trong việc hiển thị đứt liệu đầu ra, và lim kiếm những điểm yếu tiểm Ấn có thể gây ra lỗi Thực hiện kiểm

thứ giúp chúng ta làm tăng chất lượng của sản phẩm và dịch vụ, và nó chỉnh là một

đang của các phương thite Verification va Validation 4p dụng cho san phẩm Có rất nhiều phương thức có thê sử đụng trong kiểm thổ, một vài trong số dỏ được thực hiện bởi người tạo ra sản phẩm, một số khác được thực hiện nởi những nhỏm độc lập

Kiểm thử giúp chúng ta do được chất lượng, của phàm mẻm thông qua số lượng lỗi được tìm ra, số lượng bải test đã thực hiện và độ bao phủ hệ thống khi thực hiện kiểm thử Chúng ta có thế đánh giá được chất lượng trong cA 2 mặt vẻ các thuộc tính chửc năng vả phí chức năng của phản mêm Kiểm thứ cung cấp sự tim cậy về

chất hrợng phần mềm nếu né tim ra ít hoặc không tìm ra lỗi Dương nhiên, một bài

fest ngéo nan sé chỉ bao phủ được một phân rất nhỏ các khiếm quyết của hệ thông

và sẽ không còn đủ độ tin cậy dé dua ra đánh giá về phần mềm

Trân Mai Liên CB100650

Trang 16

Kiểm thử giúp giảm thiểu rủi ro về chải lượng của phần mềm, về chỉ phí của phan

mềm cho việc sửa lỗi Việc kiểm thử phát hiện cảng sớm các lỗi sở ghúp phan quan

trọng vào việc giảm rủi ro trang việc phát sinh chỉ phí sửa lễi

Tuy nhiên, kiểm thủ cũng không phải là tuyệL đối Các nghiên cứu chỉ ra rằng quá trình kiểm thử chỉ có thẻ tìm ra dược 70% số lượng lỗi trong 1 phần mém Vi vay, việc thiệt kế kiểm thử, chiến hrọc và cách thức thực hiện kiếm thử la rat quan trong trong việc tìm ra tốt da số lỗi có thể, Điều này phụ thuộc nhiều vào công cụ và khả năng, của người thực hiện kiểm thứ

33.3 Tại sao phải kiểm thứ tự động và sit dung tool kiém thit?

Mỗi nhóm phát triển phần mềm tự kiếm thử chính sản phẩm của mình thì sản

phẩm cung cấp sẽ hiôn luôn có sai sói Kỹ sư kiểm thứ phân đầu để ngăn chăn các sai sót này trước khi sản phẩm được phát hành nhưng chúng thường xuất hiện trở lại, ngay cả với các quá trinh kiểm thử băng tay tốt nhất Kiếm tht phan mém br

động là cách tốt nhất để tăng tính khách quan, hiệu quả, liệu quất và bao phủ phân

xuêm cân kiểm thử của bạn

Kiểm thử phân mềm bằng tay được thực hiện bởi người sử dụng máy tính một cách cần thận thông cua mắn hình ứng đụng, cổ gắng sử dụng các cách khác khác nhau

và kết hợp các đầu vảo, so sánh các kết quả mong mưỗn với các kết quả ghỉ lại

những quan sát cửa họ Kiểm thử bằng lay được lập đi lặp lại thường xuyên trong chu ky phát triển mỗi khi có thay đổi mã nguồn và những thay déi khác về môi trường hoạt động và cầu hinh phân cứng Một công cụ phẩn mềm kiểm thứ tự động,

có thể lập lại hành động đã được ghỉ lại và được xác định Irước, so sánh kết quá với anh vi mong doi va dua ra bảo cáo thành công hay thất bại của những bài test tiảy tới kỹ sư kiểm tra Những bài test tự động được tạo ra một lằn và có thể đã đàng được lấp lại cũng như có thé được mỡ rộng để thục hiện các nhiệm vụ không thê kiểm tra thú công bằng tay Hới vị điều nảy, cdc nha quân lý có tâm nhịn đã nhận ra

rằng kiểm thủ phản mềm tự động là một thành phản thiết yếu cửa các dự án muốn

phat triển thành công

Trân Mai Liên CB100650

Trang 17

Kiểm thử phân mềm tự đông Lừ lâu đã được xem xét ở nội vị trì (quan trọng trong,

các công ty phần mềm lớn nhưng đối với các công ty nhỏ hơn thì nó lại dược cho là

qua đắt tiên và khó khắn để thực hiện

Trân Mai Liên CB100650

Trang 18

TH NGHTEN CUU TOOL KIEM THỨ TỰ ĐỘNG

3.1 Giới thiệu chung về tool kiểm thử tự động

31.1 Khải niệm toai kiểm thừ phần mâm

Tooi kiểm thử nĩi chung lả cơng cụ sử dụng dễ xác thực và kiểm tra các

chương trình phản mềm, các ứng dụng heặc các sản phẩm

Tòi kiểm thủ phân mêm thực chất là các chương trình phân tiệm sử đụng với mục dịch chỉnh lá dễ xác thực và kiểm tra các chương trình phần mềm cần kiểm thử cĩ hoạt động đúng với yêu cầu đã được đặt ra từ trước trong những điều kiện mơi trường hoạt động hốt định

Ở Việt Nam, trong những, năm gần đây việc áp dụng tool kiểm thử tự động trong,

*kiêm thử phần mẻm đang ngày cảng được coi trong tai các tổ chúc, cáo đơn vị sản

xuất phan mém Thy quy mơ của tổ chức mà mức đơ áp dụng tooÌ cĩ khác nhau Nhung tat ca déu đang hướng đến mục tiểu tự động hĩa và chuyên nghiệp quy trình kiểm thử

31.2 Những lợi ích ki sử dụng toal kiểm thử tự động

Tool kiểm thử hự động mạng đến rỗi nhiều lợi ích ho cơng việc kiểm thủ

phần mềm Ta sẽ xem xét ở một số lọi ích sau:

Kiểm thử phẫn mềm tự dộng tiết kiệm thời gian va chi phí

kiểm thứ phần mẻm thường, phải lập di lặp lại thường xuyên trong, chu kỹ phat triển để đảm bão chất lượng Mỗi khi source code chương trình cĩ sự thay đối thì cần phải tiến hành kiểm thử lại phần mễm Trước khi phần mềm được dua dén khách hàng, nỏ cần phái được kiểm thứ trên tất cả các hệ điều hành hỗ trợ vả các

câu hình phản cứng Nêu sử dụng kiếm thử thủ cơng sẽ rất tồn kém và mắt thời

gian Với kiểm thở tự dộng thì chỉ với 1 lần tạo ra cĩ thể sử dụng cho nhiều lần mà khơng phải thêm bắt kỷ chỉ phi phát sinh thêm nào vả những bài test sẽ được thực hiện nhanh hơn rất nhiều kiếm thử thủ cơng Kiểm thử phân mềm tự động cĩ thể

Trân Mai Liên CB100650

Trang 19

làm giảm thời gian kiếm thử lặp đi lặp lại đến ngây, giờ Tiết kiệm thời gian đồng ghop trực tiếp vào việc tiết kiệm chi phi

iểm thứ phần mềm tự động nâng cao độ chính xác

Ngay cả những nhân viên kiểm thử cần thận nhật cũng sẽ mắc lỗi trong quá trinh kiểm thứ thủ công đơn lẻ Kiểm thứ tự động thực hiện tương tự các bước một cách chính xáo mỗi khi thực hiện bài test và không bao giờ quên ghỉ lại các kết quả

xmột cách chỉ tiết,

Kiểm thử phần mềm tự động tăng độ bao phủ kiểm thử

Kiểm thử phản mễm tự động có thể lãng độ sâu và phạm ví của các bài test

để cải thiện chất hượng phân mêm Các bài test đài thường bị tránh trong quá trình

kiểm thử thủ công thị có thể được chạy mà không cần giảm sát Thậm chỉ chúng có thể chay trên nhiều máy tính với các cầu hình khác nhau Kiểm thử phẩn mềm tự

động có thể kiếm tra sâu bên trong ứng dung va lây được các thẳng tin về bộ nhớ,

bảng dữ liệu, nội đụng ñile và trạng thải bên trong chương trình để xác định khi sân phẩm hoạt déng nhu mong dgi Kiém thir phan mém ty déng có thé dé dang thực thiện hàng ngàn trường hợp kiểm thủ phức tạp khác nhau trong tất cả các bài test mà

chúng có thể khó có thể thực hiện dược với kiếm thử thủ công Nhân viên kiểm thủ

được giải phóng khối các bái test thủ công lặp đi lặp lại để tạo các bái test tự động, mới cha các chức năng phức tạp khác

Kiểm thử tự động có thể thực hiện những việc mà kiểm thứ thủ công không thé làm được

Ngay cả các đơn vị phần mềm lớn nhái cũng không thể thực hiện điêu kiển ant bai test img dụng web với hang ngan user Kiểm thử tự động có thể mô phỏng, hàng chục, hàng trăm hoặc hang ngàn người đùng ảo tương tác với mạng hoặc phân

Trang 20

Các bai test kiém thử tự động có thé được sử dụng cho các nhân viên phát triển dé

họ phát hiện ra sớm các van để trước khí ban giao chương trình cho QA Cac bai

†est có thể chạy tự động bắt cứ khi nào có thay đổi về souroe code và thông báo cha

đội ngũ phát triển khi có lỗi Các tính năng này tiết kiệm được thời gian cho đội phat triển và tăng, dộ tự tia của

Kiém thử phẫn mềm tự dộng nâng cao trình dộ chuyên môn cho các thành viên nhóm

Diéu nay khó do đếm được, nhưng vẫn có thể nói kiểm thử phần mềm tự

thành viên Tự động hóa đơn cá

việc lặp đi lặp lại với tool kiêm thử tự động cho phép nhỏm cửa bạn dành nhiều thời

gian hơn cho các vân đề của đự án nhiều mang tính thách thức và phức tạp hơn Các

thành

trong nhỏm nâng cao được kỹ năng và sự tụ tin, đồng ghớp được nhiền hơn cho tổ chức của họ Ngoài ra, việc sử dựng tool giúp nâng cao trinh độ của nhân viên kiêm thủ Việc reeord, viết các script phức tạp cũng giúp cho kiểm thử viền Tiểu hơn về chương trình, nâng cao gác kỹ răng về phần mém

3.1.3 Khi naa nén sit dung tool test?

Tool kiểm thủ là công cụ giúp thực hiện việc kiểm tra phan mém mot cach lit

động tuy nhiên không phải mọi việc kiểm tra đều có thể tự động hớa, câu hỏi đặt

ra là trong điều kiện hoặc tỉnh huỗng náo đừng tool kiểm thử là thích hợp? Việc ding tool kiểm thử thường được xem xét trong một sở tỉnh hudng sau:

'Không đủ tải nguyễn

Khi số lượng tỉnh huống kiểm tra (Iesi case) quả nhiều nà nhận viên kiểm thử không thể hoàn tất bằng tay trong thời gian cụ thể nào đó.Có thê lấy mét din chứng,

lá khi thực hiện kiểm tra chức nắng của một website Website này sẽ được kiếm tra với 6 môi trường gẫm 3 trình duyệt (TE, Nétcape, Opera) và 2 bệ điều hành

Trang 21

"Kiểm thử hồi quy (regression test)

“Trong quả trình phát triển phần mềm, nhóm lập trình thưởng đưa ra nhiều

'phiên bản phản mẻm liên tiếp để kiểm tra Thực tế cho thấy việc đưa ra các phiên

bn phân mềm có thể là hàng ngày, mỗi phiên bản bao gồm những lính năng mới, hoặc tính năng cũ được sửa lỗi hay nang cấp Việc bổ sưng hoặc sửa lỗi code cho những tỉnh năng ở phiên bản mới có thê làm cho những tinh năng khác đã kiếm tra tốt chạy sai mặc dù phần code của nó không hệ chỉnh sửa Để khắc phục điều này,

di với từng, phiên bản, nhân viên kiểm thứ không, chỉ kiểm tra chức năng mới hoặc được sửa mà phải kiểm tra lại tất cả những tính năng đã kiếm tra tốt trước đó Điển nay khó khả thĩ về mặt thời gian cũng như tốn nhiều nỗ lực nếu tiền hành kiểm thủ thủ công Trong những trường hợp này tool kiểm thứ là một lựa chọn phủ hợp nhất Phải thường xuyên kiểm thử một số lượng lún trường hợp kiểm thử

Một lợi ich rỡ ràng của kiểm thử tự động đỏ chính là khá năng chạy một số lượng lớn case trong một khoăng thời gian giới hạn, vì thể nó khả thí trong trường, hợp phải (cai thường

xuyên Đây cũng là lý đo cho phép chúng ta tăng số lượng các case và tần suất kiểm thử Từ đó nâng cao độ bao phủ kiếm thử

Kiểm tra khả năng vận hành phần mêm trong môi trường đặc biệt

Đây là kiểm tra nhằm dành giá xem khá năng vận hành của phần mẻm trong, những điều kiện đặc biệt có thỏa mãn yêu cầu đặt ra hay không Thông qua đó nhân viên kiểm thử có thể xác định được các yêu Lô về phân cứng, phần miềm ảnh hướng

Trân Mai Liên CB100650

Trang 22

đến khả răng vận hành của phần miễm Có thể liệt kẽ một số tình huôồng kiểm tra tiêu biểu thuộc loại nảy như sau:

+ Đa tắc độ tang bình xử lý một yêu cầu của web server,

* Thiết lập 10000 yéu cau, déng thoi giti dén web server, kiểm tra tỉnh huống, 10000 người dùng truy xuất web cùng lúc

+ Xáo đmh số yêu cầu tôi đa được xử lý bởi web sorver Hoặc xác dinh cau hình máy:

thấp nhất má tốc dộ xứ lý của phần mềm vẫn có thể hoạt dồng ở mức cho phép

'Việo kiêm thử thủ công cho những tỉnh huềng trên là cực khó và nhiều khi không, thể thực hiện được, ví dụ tạo ra 10000 người cùng log vào hệ thông 1 lúc việc chuẩn

bạ 10000 người dùng thực cùng sử dụng hệ thống vá phủ lại tit cá những tác động này là điều không thể Nhưng với việc sử dụng tool kiểm thử tư đồng, thì việc tạo ra cho bạn 10000 người dùng áo không phải lả việc khó trong khi không cân tiêu tốn lượng tài ngưyên lớn như kiểm thử thủ công,

Noi tom lại ímg với các giai đoạn kiêm thử trong quy lính kiểm thủ, ứn tooi kiểm

thứ thường được ap dụng trong các giai doạn: kiểm thứ hồi quy (regression test),

kiêm thứ tải hệ thông (performance test, load test, stress test)

3.1.4 Những han ché khi sit dung tool te dong

Ở trên, đã trình bẩy những lợi ích to lớn của tool tự động trong kiểm thủ

phan mém uy nhiên, bên cạnh những lợi ích này kiểm thử tự động không phải lá

sự lựa chọn tốt nhất trong mọi trường hợp Kiểm thử tự động trong nhiều trường

hep cing có những tran chế mà người sử đụng cần phải nắm được trước khi muốn

sử dụng

Kiém thủ tự động không thể thay thể hoàn toàn kiểm thử thủ công

Kiểm thủ tự động không thể thay thể được hoàn toàn kiểm thử thủ công,

cũng khỏng thẻ tự dộng, hỏa toàn bộ các hoạt dộng vá các trường hợp cần kiểm thử Trong nhiều trường hợp, kiểm thử thủ công sẽ được thực hiện đễ dàng hơn nhiêu

Trân Mai Liên CB100650

Trang 23

kiểm thủ tự động hoặc quá khó để tự động hóa, không khả thi về mặt kinh tế nêu tiến hanh kiém thở tự động,

Những trường hợp không nên sử dựng kiểm thử tự động như là:

- Khi có những trường hợp kiểm thử rất íL khi phân thực hiện Ví dụ như một yêu cau kiểm thứ chỉ thực hiện 1 lân rong 1 năm, do dó không nên tự động,

hỏa những case test này

- Khi phần mẻm thường xuyên thay đối Ví dụ, nếu giao điên người đừng và các chức năng thay đổi quá nhiều từ phiên băn này sang phiên bán khác, khi

đỏ nễ lực bỏ ra để tụ động hỏa case kiểm thử sẽ làm tăng chỉ phí rất nhiều

-_ Những case kiểm thử mà kiểm tra kết quả để dàng nêu thực hiện thủ công nhưng quá khó để kiểm tra tự động Ví dụ, khi cần kiểm tra sự sắp xếp mẫu

sắc, cáo yêu tô thuộc về mỹ thuật của màn hình hoặc kiểm tra audio có được

bật dùng hay không?

-_ Những case có sự tương tac với phân củng, như là tương tác với card thông

qua card reađer, ngắt kết nối với một vài thiết bị, bật tắt nguễn

Không phải tất cả các casc kiểm thử thủ công đễu nên lự động hóa, chỉ những casœ

kha thi hoặc thường xuyên phải thục hiện Khi phẩn mềm thường xuyên thay đối thì

kiểm thủ thủ công sẽ tìm ra được lỗi rải nấu

Kiém thứ thủ công m được nhiều lỗi hơn kiểm thử tự động

Một bài test rất có thể tìm ra được lỗi ngay trong lần đầu tiên mà nó được

chạy Nếu một IesLcuse được thực hiện tự động, tê cần được Iest thủ công trước để đăm bảo tính chỉnh xác James Bach dã dưa ra kết luận dựa trên kinh nghiệm rằng, kiểm thử tự động chỉ tìm ra được 15% khuyến quyết trong khi kiểm thở thủ công là 85% (Nguồn: Bach, 1997) Khi ml test-suite tự động được xây dựng, nó (hưởng

sử dụng khi re-test Thông thường, các bài test này đã được thực hiện thủ công,

trước đỏ và do đó chúng sẽ tìm ra ngay được cáo lỗi trong khoảng thời gian này

Khi thực hiện chay với tool thực chất là thực hiện kiểm thứ lại, ví dụ như tool kiểm thứ hỗi quy

Thụ thuộc nhiền hơn vào chất hrợng của các bai test

Trân Mai Liên CB100650

Trang 24

Một Iool kiểm thử chỉ có thể xác định được sự khác nhau giữa kết quả ưực

tế với đầu ra mong muốn Do đỏ, có một sự đôi hỏi khắt khc trong, việc kiểm tra

tính chính xác của các đầu ra mang muốn trong kiểm thử tự động Khi toal thông,

táo cho chúng ta kết quả kiểm: thử là pass nhưng thực ra là chúng chỉ trả vẻ kết quả sau khi sơ sánh đừng, dầu ra mong, muốn

Vi vậy, việc xác định chất lượng của những bài test cân tự động hóa là rất quan

trong Những 1estware cẩn phải dược xem xét và kiểm tra để đâm bão tính chính xác của chúng,

Kiểm thử tự động không nâng cao hiệu quả kiểm thứ

Tự dộng các bài test không làm chúng hiệu quả hơn trong việc tìm lỗi so với khi

thực hiện chúng thủ công Tự động hóa là khâu cuối cùng trong việc nâng cao hiệu quả của các bài test, đó là chỉ phí và thời gian thục hiện

'Todi không cỏ sự tưởng tượng,

Tool chi 14 phdn mềm và đo đó nó cũng chỉ hoạt động theo một câu trúc cho trước

Cả tool và nhân viên kiếm thử đêu có thế test theo mặt chỉ dẫn những với một nhân

viên kiểm thử, cùng một yêu cầu có thể thực hiện theo một cách khác Ví dụ, khí xnột nhân viên kiếm thử được giao thực hiện chuẫn bị và chạy test một thủ tục, khi

so sánh kết quả thực Lê với đầu ra mơng muôn và cả 2 đều sai, nhân viên kiểm thử

có thể nhận biết và điểu đưa vẫn để này ra giải quyết để nâng cao chất lượng của

phần mêm Trong khi nếu toa] kiếm thử thực hiện những trường hạp này, nó chỉ

đơm giản dua ra két qui false cho Lestcase

3.2 Quy trình kiểm thử sử dụng toal tự động

Kiểm thử hr động cũng tuân thea các bước phát triển phản mềm, chứng ta phải xem việc phát triển kiểm thử tự động giỏng như phát triển một dự án

Mặc đủ tool kiểm thử hiện nay rất phong phú và có nhiều đặc điểm khác nhan, tuy

nhiên khi áp đụng Lool vào kiểm thủ tự động thi co ban điều phải Luân theo các buớc

cơ ban sau:

Trân Mai Liên CB100650

Trang 25

* Thu thập các đặc là yêu cầu hoặc tesL case, lựa chọn những phần cân thực hiện kiểm thử tự động

« Phả

tích và thiết kế mô hình phát triển kiểm thử tự động,

+ Phát triển lệnh dặc tả (scrip) cho kiểm thứ tự động

lẻm tra và theo đối lãi trong seript của kiếm thir tu động

Chỉ tiết các bước sẽ được xem xét sau đây:

3.2.1 Phân tích và Hiễt kế mô hình phú triển kiểm thứ tự động

Từ việc xác định yêu câu và mục đích của công đoạn kiểm thủ cần tiên hành ap dung tool, kiém thử viên sẽ phân tích và thiết kế mô hình sẽ triển khai để áp đụng tool Để thực hiện thì thường ta sẽ trả lời các câu hồi thường gặp sau:

1 Chức năng nào sẽ tiễn hành kiểm thứ tự dộng và yêu cầu đặt ra cho từng chức năng?

Đây là câu hồi rãi quan trọng mà kiểm thử viên trước khi đặt vẫn đè kiểm thứ tự động cần trả lời Như dã nói ở trên, không phải bất cứ một bài test nào cũng, có thể và cững nên kiểm thú tự động Cần phái xem xét tỉnh khả thị khi áp dụng thứ: Ioslcase có thể chuyển sang tự động hóa được không?, tự động héa cd dem fai loi ich hơn kiểm thử thứ công không ?, khả năng của tổ chức hiện tại cỏ dáp

Trân Mai Liên CB100650

Trang 26

-_ Nếu lá kiểm thữ liệu năng (perfrtnanee tesil): xác đút các chức nắng cân kiểm thử, tiêu chí pass/fail hiệu năng (VD: 100 user củng thực hiện từn kiểm,

thời gian truy vẫn trung bình là 5s, tỷ lệ fail là 10% )

2 Môi trường sẽ thực hiện kiểm thứ và đữ liệu cần chuẩn bị kiểm thir

Môi trường thường, được xem xót ở gác điểm sau:

-_ Câu hình và dịa chỉ server ứng dụng va server database

-_ Hệ điểu hành, trình duyệt sử dụng, version

-_ Đường dẫn chương trình, phiên bản ứng dựng

-_ Câu hình, địa chỉ, số lượng các máy client để triển khai

3 Lựa chọn tooi kiêm thử

lệc lựa chọn tool kiêm thử nào đề áp dụng thì căn cứ vào nhiền tiêu chí:

~_ Từ ải nguyên sẵn có của tổ thúc Ví dụ như các ứng dung của tổ chức đang,

sử dựng tool Load Runner để kiểm thứ hiệu năng thi sẽ lựa chợn luôn tool nay dé kiém thử hiệu năng,

~_ Từ mục đích kiểm thử và mỗi trưởng kiểm thử ở các bước trên để xác định tool nào cho phủ hợp vì cò rất nhiều tool trong dỏ mỗi tool có 1 thế mạnh và phạm vị khác nhau khi áp dụng (VD có tool chỉ chạy trên trình đuyệt TE, tool chỉ lùu việc với hệ điều hành wimdown, tool chỉ hỗ trợ ứng dụng HTTP, .Net, các thông số kết quả mả tool sẽ lẫy được .) Kiểm thử viên phải có sự tham khảo và năm được các điểm này để lựa chọn cho phù hợp với ứng dụng, của mình

-_ Nếu tổ chức của bạn chưa có một tooi chính thông nào để sử dựng và cũng không có điều kiện sử dựng các tool cé licence thi tool open souree lả lựa chọn của bạn Hiện nay củng có rất nhiều tool miễn phi mả bạn có thể sự

đùng được

322 Tạo test script (lịch bản kiêm thử)

Đây là giai đoạn quan trọng của quy trình kiểm thử bằng tool Đòi hỏi nhân viên kiểm thử phâi có kiên thức về tool đang sử dụng đề record Mỗi tool kiếm thử

Trân Mai Liên CB100650

Trang 27

đều có cơ chế cho phép record lại các thao tác khi người đăng tháo tác trên ứng dụng Các thao tác này sẽ dược lưu lại thành các seript, seript này được viết dưới

đạng các ngôn ngữ lập trình khác khau tủy theo tool sử đụng Mỗi kịch bản test sẽ

gồm nhiêu các seript bên trong, các soripL này chính là cơ sở để thực hiện các bài test của bạn Tuy nhiên chỉ dựa vào các script nảy thì thường bạn sẽ chưa thẻ thực hiện được bài test ngay mà sẽ phải trải qua công đoạn chính sửa chuẩn hóa lại seript thơo mục dích của bài text

3.2.3 Chỉnh sữa test script

Néu như ở bước lạo lesL seript, nhân viên kiếm thử chỉ cần có kiến thức sử

dụng tool thì ở phần chính sửa test script ngoài phải hiểu biển chỉ tiết hơn vé tool

ma còn đòi hỏi phải có kiễn thúc về chương trình đang cần đo và kiên thức về ngôn

Tigữ lập trình Nêu như ở bước tạo Iesl sorrpL chỉ yêu sầu 1 Iesler có trình độ chuyên

xôn trưng bình về tool thì ở công đoạn chỉnh sửa test script thì cần 1 tester phải có trình độ khá về tool sử dựng

“Thục Lễ cho thấy sau khi record thì seripL chưa thể chạy được ngay mà có rất rhiển ràng buộc từ phía ứng đựng cần do khiến †z phải chỉnh sửa cho phủ hợp Chỉnh vì lý

do dé ma day là công đoạn có thế cho là qnan trọng nhất và khó nhật khi sử đụng tool Lu động

Cáo công việc thường thực hiện trong giai đoạn này là:

-_ Chạy scripl, tim và gõ lỗi

- _ Add thêm các control cản thiết

- _ Add thêm các ñmetion cần thiết

- Add thém danh sách đữ hiện cần thiết

Chỉ khi kịch bản của bạn chạy ổn định, không, còn bắt kỳ một lỗi nảo thủ senpt nảy mới sin sing dé dura vào kiêm thử

2.2.4 Chay test script dé kiém thit te dong

Đây lá bước thực tu những seript mã bạn đã tạo được từ bước 2 trên mỏi

Trang 28

trén céc may client va sit dung tool dé Rum va control cae script nay theo cac bước tủy thuộc vào tool sử đụng Những lưu ý trong qua trình chạy nảy cũng phải chú ý

đề thu được kết quả chính xác nhật Ví đụ như sau mỗi lần đo phải restart ứng dung,

TpalarL database, cache

2.5 Đảnh giá kết quả

Tương ứng với mỗi lần chạy test scripl thủ nhân viên kiểm thử sẽ thực hiện lưu lại kết quả nảy vào thư mục của dự án Tủy theo yêu cầu mã sẽ đánh giá sau andi lin chay hay đánh giá ở giai đoạn khi kết thúc tất cả các lần đo

Kết thúc giai đoạn kiểm thứ thì các test script cũng, dược coi như tải nguyên của dự

án, cn được lưu trữ lại dé tái sử đựng cho những lẳn kiếm thử sau

3.3 Phân loại Hiện nay, tool có thể hỗ trợ cho tất cả các giai doạn trong vòng đời phát triển của phân mềm Theo cach nay thi ta cd cdc nhém tool nhu la: test design tool, test

management tool, static analysis tool, coverage tool, debugging tool, dynamic tool,

sinulator,

Tuy nhiên †a sẽ thao luận sâu hơn với cách phân loại theo chức năng và pham vi ứng đựng của tool như sau đây

413.1 Taol ẩa tãi và hiệu năng

Các tool được sử đựng với mục đích test tải và hiệu năng cho các hệ thống Nguyên lắc chúng là Go ra nhiều người đùng ão, nhiều roquosl, nhiều seossin để

Trân Mai Liên CB100650

Trang 29

gây ấp lực đến hệ thơng đồng thời hoặc trong 1 khoảng thời gian từ đĩ đánh giá khả năng chịu tải, khả năng, phục hỗi, điểm ngưỡng tải của ứng dụng

.Một số taol thuộc loại này đĩ là: Tsung, PerformanceXpert, LoadUl, AppViewWeb, ToadRumer, Ineter

3.3.2 Tòi kiểm thử cúc ứng dụng Java

Tả các Iaol phục vụ cho antomation tết với các ứng dụng viết bằng Java

Một số tool thuộc loại nảy đĩ lá: Arquillian, RTI, Yeurkit Java Profiler, VisualVM, Lapse, Checkmart, TestNG, LinkScan

3.3.3 Tool kiém tra đường dẫn tiên kết

La cac toot phục vụ che việc kiếm tra các link trên hệ thơng: kiểm tra hosted

tk, URL, xác định các tập lin khơng được khai báo, Tánk bị hỏng, Link lỗi cú pháp

Mat 36 tool thudc loai nay dé 1: LinkTiger, HiSoftware Link Validation Untintily, ChangeAgent, Link Checker Pro, Web! ink Validator, TinkSean

3.3.4 Tool kiểm thữ tink hap lệ

Là các tool hỗ trợ cho việc kiếm tra tính hợp lệ của Page linh, chính tả cú pháp HTML

Một số tool thuậc loại này dé 1a: Total Validator, ReaLValidater, TTTML Validator, CSE 3310 HTMI, Validater

3.3.5 Tool kiém thit chức năng Webvitest hi quy

Ta

¢ tool phuc vu cho vide automation tesL chức răng các ứng dụng Web

thường sử dụng trong quá trình Regression tost Nguyên tắc chung là roeord lại các đổi tượng và hành động thánh các script tự động để sứ dụng cho các lần test sau

Số lượng các tool ở loại này là rồi phong phú và được sử dụng thường xuyên trong, việc kiểm thứ, cĩ thể kế ra dây 1 số tool thuộc loại nay như: QuickTestPro, Rational Robot, Selenium, Fabasoft app.test, Janova, FuncUnit, qUnit, Twist, QU-Test,

WebDriver, QEngine, Test Complete Enterprise, SimpleTest

Trân Mai Liên CB100650

Trang 30

3.3.6 Tool text bảo một cho ngủ dụng Web

Tả cae lool quét các lễ hổng về bão mật cho các ứng dụng Web như các lỗ hổng SQL injection, X88, CERS, các van dé bao mat vé File,

Một sỏ tool thuộc loại nảy đó là: Vega, Aribisee Web Analyzer, Golem, Skipfish, Secker, WebSccurily, Archni, Tarantula, RATS, beSTORM, Proxy Zed, SPIKE Proxy, AppScan

33.7 Taol test cúc eng dung cho Mobile

Là các tool hỗ trợ giá lập để test các ứng dụng phát triển cho Mobile trên nền Tpad, Iphone, Android

Một số lool thuộc loại này đỏ lê SeeTesOMGbile, ZAP-ñX for Mobile, Mobiltest, M-oux, Android APK for Sclenium, Instruments for Xeode 4, Perfecto Mobile, Robotium, FoneMonkey TestQuest CountDown, Intent Fuzzer, MITE

3.4 Giới thiệu chỉ tiết về một số tool đang sit dung phổ biến ở Việt Nam

Về lĩnh vực kiểm thử phần mẻm, ở Việt Nam hiện nay có rit nhiéu tool test đang được sử đụng Tùy vào mục đích sử dựng và khả năng của doanh nghiệp và tool test co thé 1a tool kiểm thử hiệu năng hoặc chức năng, miễn phi mã nguồn mở

hoặc các tool thương mại

Các tool thường được các công ty phân mềm của Việt Nam sử đụng vi độ phù hợp với các sản phẩm phần mềm dang phat triển tại Việt Nam như là:

- Cac tool thương mại: QuickTestPro, Rational Robot, TestComplete, Load Runner

- Cac tool mA nguén mé mién phi: Jmeter, Selenium, Ruby

Dưới đây xin giới thiệu chỉ tiết hơn về đặc điểm, tính năng của một số tool đang, được sử dụng

Trân Mai Liên CB100650 28

Trang 31

3.41 QuickTestPro (QuickTest Professional)

3.4.1.1 Giới thiệu

Trong lĩnh vực kiểm thử tự động hiện có khá nhiều tool tesl thương mại nỗi tiếng, phé bién uhu QuickTest Professional, WinRunner, Rational Robot, SilkTest, STest, ‘Trong s6 dé, Quickest Professional cita hing Mercury khả tốt và mạnh, bao gồm nhiều chức răng điển hình của một công cự kiểm tra tự động,

QuickTestPro 14 tool test ding dé kiếm thử chức nang {functional test) va cho phép thực hiện kiểm thử hỏi quy (repression test) miột cách tự động Đây cũng lả công cụ

áp dung phương pháp Keyword-Driven, một kỹ thuật seripting (lập trình trong kiếm thử tự động) biên đại, cho phép nhân viên kiếm thử bỗ sưng Iesicase bằng cách tao file mỏ tả cho nó mà không cần phât chỉnh sửa hay bỗ sung bắt cứ seript nào cả Nó

cũng phủ hợp trong tình huỗng chuyến giao công việc mà người mới tiếp nhận chưa

có thời gian hoặc không hiểu seript van có thể thực hiện kiểm thử phần mém theo đúng yêu cầu

Loại phần mềm hỗ trợ

Quickï estPro giúp chúng ta kiểm thử phần mềm theo hưởng chức năng trên

rất nhiều loại chương trình phân ruẻm khác nhau Tuy nhiễn Mercury chỉ hỗ trợ sẵn

xột số loại chương trình thông dung như:

Trang 32

Một số loại chương trình khác đời hỏi chúng ta phải cài đặt thêm thành phần

bổ sung của QuickTestPro thì mới thực hiện kiểm tra dược Các loại chương trình

6 li:

NEL

+ NET Eramework 1.0, 1.1, 2.0 beta

+ Cáo đối tượng chuẩn của NET va cac đối tượng khác thừa kế từ các đối tượng

Trang 33

Repository (OR — duve giải thích ở phần sau) dé QuickTestPro nhận ra sự thay đối

đó mà không cân thay đổi bất car test script nao

+ Hỗ trợ làm việc theo nhóm thông qua sự chỉa sẽ thư viện, thông nhất quần lý

+ QuickTestPro có khú năng hiểu test soript của Mercury Winrunner (một công cự

kiêm tra khác của Mereury))

3.4.1.3 Các thành phẫn quan trong trong QuickTestPro

Action:

Giống như thú tục hay ham trong các ngôn ngữ lập trinh khác, Action gìu lại các bước thực hiện kiểm thứ ny động và nó có thể được sử địmg lại nhiều lần Trong Tnột Icsl scripL có thể có nhiều Action

DataTable:

Nơi lưu dữ liệu phục vụ cho k thử tự đồng Một test script sé cd mat

DataTable được dùng chưng cho tắt cả các Action liên cạnh đó mỗi Action cũng có

mét DataTable cho riéng min

Trân Mai Liên CB100650

Trang 34

Object Repository (OR):

Cân tric theo đạng cây, mô tả các đổi Lượng trong phân mềm được kiểm tra Đây dược xem là cầu nồi dễ tost seript tương tác với phần mềm được kiểm tra

Khi ra lệnh cho QuiekTestPro ghi lai thao tac ngwdi dùng lên phần mềm thi trong OR sé ty động phát sinh thành phản đại điện cho những đổi tượng trên phần

mêm vừa được thao lá

OR có thể tổ chức thánh 2 loại, một loại đủng chưng trong nhiéu test script,

loại khác dùng theo từng Action

PE xem OR, chon menu Tools -> Object Repository

Checkpoint:

Có thể hiểu là nơi kiểm tra trong test soript, khi chạy nó sẽ thực hiện so sánh kết quá thực tế khi kiểm tra phần mềm với kết quá mong đợi Sau khi tién hinh so sảnh QuickTesiPro sẽ tự động ghỉ lại kết quả vào Test Results (nơi lưu kết quả khi

chay test script)

Ngén ngit sit dung viet script

QuickTestPro sir dung ngôn ngữ VSeripl để việt test serip! Đây là ngôn

ngữ đễ học; rất giống ngôn ngữ VA Chế độ Ixpert View của QuickTestPro là chế

độ soạn thảo đành cho VBScript Ngoai viée dimg VPScript để tương tác với phân xuổm được kiểm tra, QuickTestPro còn có khả nặng cấu hình hệ thống bằng ngôn ngữ Windows SeripL

Với nhiều chức năng ưu việt như đã dé cập bên trên, QuickIestPro là một Test Tool mạnh mẽ có khả nắng hỗ trợ đắc lực cho kiểm thử Việc ứng đụng nó hợp

lý chắc chắn sẽ giúp giảm công sức của nhân viên kiểm thử dễng thời làm tăng chat lượng phần mềm Trong điều kiện Việt Nam hiện nay, với tý trọng gia công phần miểm ngày cảng lớn tại các công ty phản mềm, người viết cho rằng kiếm tra phần

Trang 35

© La tool hỗ trợ mạnh cho cáo ứng đụng Web (đặc biệt trình duyệt FireFox)

—> phù hợp cho nhiều hệ thông đang phải triển tại tìng lâm phần mềm Ngoài ra có thể hỗ trợ bát kỳ 1 trình duyệt nào trong khi chỉ cần tạo soript trên Ì trình duyệt

Hỗ trợ nhiều loại ngôn ngữ lập trình: HTML, Iava, Cũ, Ơ cho phép người số dụng ngôn ngữ sở trường của mình để tạo Soipt

3.4.2.2 Cau tric Selenium

Selenium gồm nhiều module, méi module có chức năng riêng Bao gồm các

module

* Selenium IDE (integrated Development Environment)

* Selenium Core Selenium RC (Selenium Remote Control)

* Selenium Gnd Trên day 1d 4 module thuge Selenium 1 Dén Selenium 2, Selenium RC đã được thay thể bởi Seleniun WebDriver Dây là một sự mở rồng mạnh mẽ vẻ quan trọng góp phan dưa Selenium ngày càng trở thành một tool kiểm thử chức năng rất smanh va được nhiều đoanh nghiệp lựa chọn

Mỗi module có một chức năng và nhiệm vụ riêng, có vai trò hỗ trợ khác nhau trong, quá trình kiểm thể

Trân Mai Liên CB100650

Trang 36

a, Selenium IDE

Selenium IDE 1a Module dau tién cia Selenium La module quan trong va

cần tiếp cân đầu tiên khi muốn hiểu vả sử dụng Selenium

Ele Edt Options Help

Vale

tncbleFarm.lzin Hsin) ncbleFarn.seril $iserl}

mmeblsForm.imsi Hirsi

‘mobaleForm status ‘Hlact_status) mncbleFarm in

mebleFarm seril mcbleForn iwel

‘ ‘mableForm status

TC Sewch fo podpsd sự | (Idw[@idzsubscriberReolerl

TC Sexch fo postpaid vit {ioiv(@id='subscriberRegion I

‘edkInfoSubBution {icivE@id= bret dkinfoCust Wb

{idk @id= prechangesin bat deietebutton

{idl @id= preblockOpentsub'Y

{divide preManBlockSub'l

T[#N[Đid=subscrlberRegon]]/

JêM(@ddelpreChangevAS'Jou

{ictv( ide prechangeProduct)

Trang 37

-_ Seleniun TDE1à 1 add-on cia FireFox, cho phép nhân viên kiểm thữ và nhân viên phát triển ghi lại các luồng chức nắng trên màn hình chương trình Do

dé Selenium IDE phu hop cho việc kiếm thử GUI vả các chức năng cản kiểm

tra chủ yếu về luỗng chức năng theo màn hình của các hệ thống sử đụng trình duyệt EireFox

- Selenium IDE cung cấp sẵn 1 thư viện các lệnh tuong tac man hinh, dap ứng, được hâu hết các sự kiện màn hình khi người đùng cần Cách gọi lệnh rất trực quan dé dimg, khong đòi hỏi người dùng phải c6 kiến thúc nhiều về ngôn ngũ lập trinh

- Selenium cưng cấp cơ chế mở rộng linh hoạt, cho phép người dùng để dàng

mở rộng thư viện lệnh theo nhu cầu Sử dụng TavaSeript — ngôn ngữ lập trình

khả đơn giãn hiện nay

Command trong Selenium IDE

Một đòng lênh trong Selenium IDE duoc c4u thanh tir 3 tham sé: command, targel, value

‘Trong dé command duge chia lam 3 nhom: Actions, Accessors va Assertions Méi

nhóm có chức năng và nhiệm vụ khác nhau

b, Selenium RC

Nhu ching ta di biét Selenium IDE chi st: dung duoc wén trình duyệt Firefox Trong khi dé nbu cau st dung hién nay không chỉ trên 1 trình duyệt như

Firefox mà còn rất nhiều trình đuyệt kháo như Internet Explorer, Crome

Selenimu RC cho phép chúng ra test trên nhiều trình đuyệt khác nhan mà không cần phai cai dit Selenium core trên web server cũng không cần thay đôi gì trên script

Trân Mai Liên CB100650

Trang 38

Sự thay đổi này cho phép developer và lester có thể sử đụng các ngôn ngữ lập trình

để gửi conunand tới rowser cho phép thục hiện các tcstcasc phức tạp mà Selenium IDE khéng lam duoc nhu database testing Khéng don gidn nhu Selenium IDE, 48

sử dụng duce Selenium RC doi héi người sử dụng cần có kiến thức về ngôn ngữ lập

trình, biết cách bự tạo ra script test

8elcminn RC hỗ trợ chạy trực tiến cae script duge tao tr Sclenium IDE vai nhidu trình duyệt khác ngoài FireFox

Run Script tir Selenium IDE với Selentum RC

Trên mản hình conmand Prompt chạy cầu lệnh sau:

Java jar selenuam-server-standalonejJar hữnlsuile "trình duyệt

Dia chi trang cần test "Duong din dén file testsuite”

"Đường dẫn dến file chứa kết quả test"

VD:

java -jar selenium-server-astandalone-2220jar -htmlsuite *ñrefox

hitp:/10.58 4.43:8127/ "D:Kiem thứ hiew

nang\selenium I\Dau noi tra sau\TS MobilePosiPaidConnect html" "D:\Kiem

thú lieu nanglselenium_T\Dau nơi tra, saLlresulLhhul"

Trang 39

Jha mutnemce ons

gor Tam ›neildt=`\wirldơwe2sn(^wirdowppoougl HEre4”,“BUỊ J tty

Hình 2: Cửa s6 Selenium Core Framework

1 cửa số khác mở ra trình duyệt tương ứng va load đường dẫn URL tương ứng trong

command Sau đó sẽ thực thi testsuite trên cửa sỏ này Kết thúc sẽ ghi kết quả test ra file result.htm] tương ứng

sjaxbutton (ryretprenant ave bounded wah a tee

hang hơi

để Ahdhai —— Ínkechaytez scenes Jing{@xaUe-'9blng Button’)

'YenfyElemertPteseTt //mput@name="ventybutton’ and Øvalue+'hocolate'}

Hinh 3:File chita két qua result.himl

c, Selenium Core

Selenium Core yéu cau may client chay 1a 1 web server cho tmg dung can do

va can file Selenium Core zip Selenium Core giúp thực thi các seript test đã được

Trần Mai Liên - CB100650 37

Trang 40

tạo ra bằng Selenium TDE với bắt kỳ một trình đuyệt nào trơng đó máy chạy script đóng luôn vai trỏ là server của ửng dụng

d, Selenium Grid

Selenium Grid là m&t sy mé réng cho Selenium RC cho phép run với số lượng lớn 1esL suile và trêu nhiều môi trudng Selenium Grid cho phép bạn chạy nhiều bài test song, song và nhiều bài test khác nhau cỏ thẻ chạy củng lúc trên nhiều Tnáy từ xa

Điều này có 2 ưu điển, Thứ nhất, nếu bạn có Ï số lượng lớn test suite và 1 test suite chạy chậm bạn có thể tăng hiệu suất bằng cách sử dụng Selenium Grid,

cho phép điêu khiến test suite để chạy nhiều bài test khác nhan tại cùng lúc trên

nhiểu máy Thú hai, nêu bạn cần phải chạy tesl suite lrên nhiều môi trường khác nhau Seleneum Grid sẽ giúp bạn chạy test trên nhiều may cing hic Selenium Grid ghép phản giảm một phân rất lớn thời gian chạy test suite bằng cách xử lý song song,

Diém khác của WebDriver so với Seleniam

Selenium WebDriver sử đùng lệnh goi trực tiếp đến trình duyét vén có sẵn xmột cách tự động Vì sử dụng trực tiếp những trình duyệt có săn nên những tính

nang duoc ha tro sẽ phụ thuộc vào trình duyét được sử dụng Trong khi Selenium

RC Iam việc như nhau trên các trình duyệt được hỗ trợ

Trân Mai Liên CB100650

Ngày đăng: 11/06/2025, 20:48

HÌNH ẢNH LIÊN QUAN

Hình  1:Seript  test  viét  bang  Selenium  IDE - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 1:Seript test viét bang Selenium IDE (Trang 36)
Hình  2:  Cửa  s6  Selenium  Core  Framework - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 2: Cửa s6 Selenium Core Framework (Trang 39)
Hình  4-Màn  hình  của  sample  HTTP  Proxy  Server - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 4-Màn hình của sample HTTP Proxy Server (Trang 43)
Hình  7-Adén  hình  JDBC  Request - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 7-Adén hình JDBC Request (Trang 45)
Hình  9-JDBC  request  voi  Query  Type  —  “Update  Statement” - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 9-JDBC request voi Query Type — “Update Statement” (Trang 48)
Hình  11'Màn  hình  của  sample  WebService  (SOAP) - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 11'Màn hình của sample WebService (SOAP) (Trang 51)
Hình  12:  Màn  hình  cấu  hình  của  Constant  Timer - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 12: Màn hình cấu hình của Constant Timer (Trang 58)
Hình  17:Màn  hình  làm  việc  khởi  tạo  của  Jmeter - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 17:Màn hình làm việc khởi tạo của Jmeter (Trang 68)
Hình  20-Nền  hình  cầu  hình  của  Regular  Expression  Extractor  Các  thang  tin  tai  man  hinh  Regular  Uixpression  Extractor  bao  gém: - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 20-Nền hình cầu hình của Regular Expression Extractor Các thang tin tai man hinh Regular Uixpression Extractor bao gém: (Trang 72)
Hình  23:Màn  hình  cầu  hình  User Defined  Variables - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 23:Màn hình cầu hình User Defined Variables (Trang 75)
Hình  24:Đặt  các  biến  được  định  nghĩa  vào  các  request - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 24:Đặt các biến được định nghĩa vào các request (Trang 75)
Hình  27-Màn  hình  trả  về  kết  quả  tra  cứu - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 27-Màn hình trả về kết quả tra cứu (Trang 78)
Hình  40-Màn  hình  start  seript  trên  tắt  cả  các  máy - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 40-Màn hình start seript trên tắt cả các máy (Trang 86)
Hình  47  Cửa  số  rum  configurations - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 47 Cửa số rum configurations (Trang 118)
Hình  45  File  kết  quả  kiểm  thử  Trên  file  cỏ  đây  đủ  các  thông  tin  vẻ  kết  quả  run  test:  số  lượng  testcase  đã  chạy,  số  lượng  testcase  pass,  false - Luận văn thạc sĩ nghiên cứu và Ứng dụng tool kiểm thử tự Động trong kiểm thử phần mềm
nh 45 File kết quả kiểm thử Trên file cỏ đây đủ các thông tin vẻ kết quả run test: số lượng testcase đã chạy, số lượng testcase pass, false (Trang 119)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm