1
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
LẬP TRÌNH ỨNG DỤNG AUTOMATION
TESTING – KATALON
Cơng ty thực tập : KMS Technology
Người phụ trách : Lương Anh Duy
Thực tập sinh : Đinh Hồng Ln
TP. Hồ Chí Minh, tháng 1 năm 2021
Lương Anh Duy Đinh Hồng Ln
2
LỜI MỞ ĐẦU
Ngày nay, sự phát triển nhanh chóng của ngành công nghiệp phần mềm trong thời đại cách
mạng công nghiệp 4.0 đang diễn ra mạnh mẽ dẫn đến sự ra đời của rất nhiều phần mềm với nghiệp
vụ phức tạp nhằm phục vụ nhu cầu phát triển của xã hội.
Một phần mềm hoàn chỉnh cần phải đảm bảo chất lượng về độ chính xác, tính đúng đắn…
riêng, phù hợp với mục đích và yêu cầu cụ thể. Việc đảm bảo này cần được thực hiện trong quá
trình phát triển phần mềm bởi đội ngũ kiểm thử phần mềm chuyên nghiệp. Tuy nhiên, công việc
kiểm thử khá phúc tạp đối với các hệ thống lớn, địi hỏi phải có cơng cụ hỗ trợ đủ mạnh để đáp ứng
nhu cầu của đội ngũ trên.
Nắm bắt nhu cầu đó, rất nhiều tổ chức, công ty bắt tay vào phát triển các hệ thống, cơng cụ,
phần mềm hỗ trợ tự động hố kiểm thử. Với những hứng thú với lĩnh vực được xem là mới nhưng
rất cũ này, em bắt tay vào tìm hiểu các sản phẩm liên, trong đó có Katalon – Một sản phẩn được tạo
ra và phát triển bởi người Việt Nam.
Sau ba năm học tập trên trường, mong muốn có thêm kinh nghiệm, tham gia vào một dự án thực tế,
phát triển ứng dụng do người Việt sáng tạo, em đã quyết định thực tập taị KMS Technology, phát
triển phần mềm Katalon với môi trường làm việc chuyên nghiệp, sáng tạo.
Lương Anh Duy Đinh Hồng Ln
3
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn TNHH KMS Technology Việt Nam đã tạo điều kiện cho em có cơ
hội thực tập tại công ty.
Trong khoảng thời gian ngắn, nhờ sự chỉ dẫn nhiệt tình của anh chị trong Katalon team, em
đã tiếp thu được những kiến thức quan trọng trong quy trình phát triển phần mềm, phát triển và bảo
trì một số tính năng của sản phẩm phần mềm thực tế.
Đặc biệt gửi lời cảm ơn chân thành đến anh Lương Anh Duy, đã trainning kiến thức về Rich
Client Platform, Git source control, giúp đỡ, hướng dẫn trong công việc và làm quen với môi trường
mới… Cảm ơn anh Trần Nguyễn Minh Thông đã tranning Design Pattern, Clean Code, Junit,…
Cảm ơn anh Huy đã cung cấp cho em những kiến thức quan trọng về Java để có thể thực hiện tốt
công việc được giao.
Cũng xin cảm ơn thầy cô trong khoa Cơng nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện
để em thực hiện báo cáo này.
Đinh Hoàng Luôn
TpHCM, ngày 1 tháng 1 năm 2021
Lương Anh Duy Đinh Hồng Ln
4
NHẬN XÉT CỦA KHOA
.................................................................................................................................................... .........
........................................................................................................................................... ..................
.................................................................................................................................. ...........................
......................................................................................................................... ....................................
................................................................................................................ .............................................
....................................................................................................... ......................................................
.............................................................................................. ...............................................................
..................................................................................... ........................................................................
............................................................................ .................................................................................
................................................................... ..........................................................................................
.......................................................... ...................................................................................................
................................................. ............................................................................................................
........................................ .....................................................................................................................
............................... ..............................................................................................................................
...................... .......................................................................................................................................
............. ................................................................................................................................................
.... ....................................................................................................................................................
Lương Anh Duy Đinh Hồng Ln
5
MỤC LỤC
MỤC LỤC ......................................................................................................................5 LỜI
MỞ
ĐẦU
................................................................................................................2
LỜI
CẢM ƠN ................................................................................................................3 Chương
1: Giới thiệu côpng ty thực tập........................................................................6
1. Giới thiệu công ty KMS.........................................................................................6 2.
Sản phẩm của công ty............................................................................................6
Chương 2: Nội dung thực tập ........................................................................................7
1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty...........................................7 2.
Nghiên cứu kỹ thuật ..............................................................................................7 3. Thực
hiện với project thực tế .................................................................................9 4. Lịch làm
việc.......................................................................................................10
Chương 3: Các phần đã thực hiện trong sản phẩm....................................................13 1.
Giới thiệu về Katalon Studio................................................................................13 2. Một
số chức năng chính đã thực hiện...................................................................13
TÀI LIỆU THAM KHẢO............................................................................................17
TỔNG KẾT ..................................................................................................................18
Lương Anh Duy Đinh Hồng Ln
6
Chương 1: Giới thiệu cơng ty thực tập
1. Giới thiệu công ty KMS Technology
KMS Technology được thành lập năm 2009, chuyên tư vấn, cung cấp giải pháp phần
mềm, dịch vụ kiểm thử. Sau 11 năm hoạt động, đến nay KMS Technology đã khẳng
định vị thế của một công ty hàng đầu trong lĩnh vực này.
Đội ngũ nhân viên lên đến hơn 1000 nhân viên, làm việc chủ yếu tại các văn phịng ở
Việt Nam và Mỹ. Cơng ty chủ yếu phân phối các sản phẩm phần mềm và giải pháp
outsoursing, đầu tư vào việc phát triển và đưa các sản phẩm phần mềm ra thị trường
quốc tế.
2. Sản phẩm của công ty
Các sản phần của công chủ yếu là tư vấn, cung cấp giải pháp và gia cơng phần mềm
cho đối tác trong và ngồi nước.
Bên cạnh đó, KMS cũng phát hành các phần mềm của riêng mình:
- QASymphony: Cung cấp giải pháp kiểm thử phần mềm theo quy trình Agile cho
khách hàng thuộc 2.000 tập đồn lớn nhất thế giới (Global 2.000) như Cisco,
IBM, Boeing, Visa, Amazon, Barclays, Adobe, Samsung, Verizon…
- Katalon Studio: Giải pháp kiểm thử tự động (test automation) thông minh. Kobiton: Nền tảng đám mây di động (mobile cloud) với chi phí hợp lý và dễ tiếp cận
so với dịch vụ tương tự do Amazon, Google, Xamarin và Sauce Labs cung cấp.
Lương Anh Duy Đinh Hồng Ln
7
Chương 2: Nội dung thực tập
Q trình thực tập từ 09/03/2020 đến 08/06/2020 tại KMS Technology tập trung vào 3 mảng
nội dung chính: Tìm hiểu văn hố cơng ty, quy trình làm việc và các thơng tin liên quan. Nhiên cứu
công nghệ, kỹ thuật phục vụ công việc, kỹ năng phát triển bản thân. Phát triển và bảo trì các tính
năng của sản phẩm.
1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian: 1 ngày
Nội dung: Giới thiệu công ty, các kỹ năng cần thiết trong quá trình làm việc.
Buổi sáng:
Được nghe nhân sự giới thiệu về cơng ty, q trình thành lập và phát triển, cơ cấu tổ
chức công ty, quy trình làm việc chung của mọi nhân viên.
Ngồi ra, được giới thiệu về thời gian làm việc tại văn phòng, các quy định khen
thưởng, nghĩ lễ, nghĩ phép.
Buổi chiều:
Nhận thiết bị, tài liệu liên quan đến công việc.
Học và làm bài kiểm tra về security dành cho mọi nhân viên mới.
Kết quả: Hiểu thêm về KMS Technology, cơ cấu tổ chức , thời gian làm việc, nghĩ lễ tại
cơng ty. Hồn thành bài kiểm tra dành cho nhân viên mới.
2. Nghiên cứu kỹ thuật
2.1. Các cơng cụ và quy trình làm việc
Thời gian: 5 ngày
Nội dung: Trong thời gian này, supervisor đã hướng dẫn tìm hiểu các cơng cụ được sử
dụng trong q trình làm việc.
- Jira: Cách sử dụng, tạo và quản lí cơng việc trên Jira…
- Git: Cấu trúc, cơ chế lưu trữ và cách sử dụng git cơ bản, nâng cao…
- Eclipse IDE: Cách tổ chức và quản lí source code trên Eclipse, giới thiệu Rich
Client Platform – Platform sử dụng trong phát triển sản phẩm.
- Giới thiệu về quy trình Agile, Scrum. Chi tiết quy trình Scrum hiện tại đang sử
dụng.
Thực hiện: Thực hành các phần mềm đã nêu trên sử dụng tài khoản git cá nhân, tài
khoản Jira trial, tạo project đơn giản với Rich Client Platform.
Kết quả: Nắm được cách sử dụng Jira trong quản lí cơng việc, Git trong quản lí source
code, sử dụng Eclipse hỗ trợ phát triển sản phẩm. Quy trình làm việc hiện tại trong cơng
ty.
2.2. Tìm hiểu Design Pattern và Clean Code
Lương Anh Duy Đinh Hồng Ln
8
Thời gian 4 ngày
Nội dung: Tìm hiểu về các loại Design Pattern phổ biến, các tư tưởng và quy tắc chính
trong Clean Code. Tìm hiểu maven, cài đặt và chạy project trên máy tính được cấp. Design Pattern: Do đã có kiến thức từ việc tự tìm hiểu trước đó nên cơng việc được thực
hiện khá nhanh, chủ yếu xem cách tổ chức source code của phần mềm hiện tại.
- Clean Code: Đọc hiểu tổng quan về clean code.
- Tìm hiểu maven và cài đặt project: Khái niệm, lợi ích của maven, cách sử dụng một
số lệnh maven cơ bản. Cài đặt các thư viện cần thiết và sử dụng maven build ra
sản phẩm từ source code.
Thực hiện: Thực hiện theo các nội dung như trên.
Kết quả: Nắm được khái niệm về các Design Pattern phổ biến, tư tưởng và các quy tắc
trong clean code. Sử dụng maven build thành công sản phẩm dựa trên source code hiện
có.
2.3. Tìm hiểu Java nâng cao
Thời gian: 5 ngày
Nội dụng: Ôn lại các kiến thức cơ bản và tìm hiểu các kiến thức nâng cao trong Java, tìm
hiểu cách sử dụng thư viện SWT, AWT trong lập trình giao diện ứng dụng.
- Ơn lại OOP, cấu trúc dữ liệu và giải thuật
- Thao tác trên collection
- Stream data (luồng dữ liệu) và thao tác với file
- Kỹ thuật Reflection: Sử dụng trong việc truy cập vào một trường hoặc gọi một hàm của
một class dựa vào tên, các đối số và kiểu dữ liệu của chúng
- Junit 5: Bộ thư viện hỗ trợ viết unit testing.
Thực hiện: Tiến hành đọc cài tài liệu liên quan đến nội dung tìm hiểu
Kết quả: Kỹ năng lập trình được cải thiện, sử dụng thành thạo stream, đọc ghi file. Nắm
kỹ thuật reflection và sử dụng được Junit.
2.4. Lập trình giao diện với SWT, AWT và các dịch vụ Web
Thời gian: 5 ngày
Lương Anh Duy Đinh Hồng Ln
9
Nội dung: Tìm hiểu về các control trong SWT, AWT. Các dịch vụ Web: SOAP và
RESTFul.
- SWT, AWT: Bộ thư viện hỗ trợ lập trình giao diện ứng dụng sử dụng ngơn ngữ lập trình
Java
- SOAP: Sử dụng cho việc truyền tải dữ liệu, sử dụng XML để xác định dữ liệu dạng văn
bản qua HTTP và SMTP
- RESTful: Sử dụng đa dạng các kiểu định dnag văn bản khác nhau: CSV, JSON, RSS.
Sử dụng URL cho việc gửi request
Thực hiện: Tiến hành đọc các tài liệu liên quan.
Kết quả: Hiểu được công dụng và cách sử dụng SOAP, RESTful. Sử dụng một số control
trong bộ thư viện SWT trong lập trình giao diện với Java.
2.5. Tìm hiểu về Appium, Selenium và WinAppDriver
Thời gian: 4 ngày
Nội dung: Tìm hiểu khái niệm, cơng dụng và cách cài đặt, sử dụng Appium, Selenium,
WinAppDriver.
Thực hiện: Thực hiện tìm hiểu các nội dung như trên.
Kết quả: Nắm được những kiến thức tổng quan nhất về Appium, Selenium và
WinAppDriver, cài đặt và sử dụng appium, selenium.
3. Thực hiện với project thực tế
Sau gần một tháng được training và thực hành với một số kiến thức đẫ rìm hiểu, nắm
được cơ bản về Java, Junit, SWT, AWT, SOAP web service, REST web service.
Trong 2 tháng kế tiếp, anh Lương Anh Duy đã tạo cơ hội áp dụng các kiến thức đã
tìm hiểu được vào thực tiễn để thực hiện các tính năng và sửa lỗi phần mềm Katalon
Studio.
Nội dung chi tiết được mơ tả ở phần sau.
Lương Anh Duy Đinh Hồng Ln
10
4. Lịch làm việc
Tuần
Cơng việc
1
- Tìm hiểu quy định
làm việc, hoàn thành
bài kiểm tra dành
cho nhân viên
- Nhận thiết bị, tài
liệu liệu
- Tìm hiểu và sử dụng
Git, Jira, Eclipse,
Rich Client Platform
- Nắm bắt quy trình
Agile/Scrum hiện
tại đang sử dụng
Người hướng dẫn
Chị Nguyễn
Huỳnh Thanh
Thanh
Anh Lương
Anh Duy
Mức
độ
hoàn
thành
Nhận xét của
người hướng dẫn
2
- Tìm hiểu Rich
Client Platform
- Tìm hiểu design
pattern và cách sử
dụng: facade, factory,
builder singleton… Nắm các quy tắc cần
tuân thủ trong clean
code
- Cài đặt, build và
chạy thử phần mềm
Katalon Studio với
maven
Anh Trần
Nguyễn Minh
Thơng
3
- Ơn lại OOP, cấu
trúc dữ liệu và giải
thuật - Thao tác với
file,
collection và
stream data
-Tìm hiểu và nắm
kỹ thuật reflection
- Học cách sử
dụng Junit với
Java
Anh Trần
Nguyễn Minh
Thông
Lương Anh Duy Đinh Hồng Ln
11
4
5+6
- Tìm hiểu và sử
dụng một số control
cơ bản của SWT,
AWT
- Tìm hiểu 2 trong số
các loại Web service
Katalon Studio hỗ
trợ: SOAP và REST
Anh Lương
Anh Duy
- Tìm hiểu và sử
dụng của Appium
(chỉ tìm hiểu cơng
dụng),
Selenium,
WinAppDriver
- Import WSDL
file from local file
- Fix bug function
getResponseText
return empty string
Anh Lương
Anh Duy
7+8
- Sửa lỗi các message
bị tràn màn hình
- Sửa và cải thiện
một số màn hình gia
diện - Hỗ trợ sử dụng
biến trong việc gửi
Web services
request
- Tổ chức lại package
Custom keywords (tổ
chức dạng treeview, tự
động cập nhật khi
thêm package, lưu,
thay đổi file trong
package)
Anh Lương
Anh Duy
Lương Anh Duy Đinh Hồng Ln
12
9 + 10
11
- Cập nhật Edge
Chromium web driver
(sử dụng bonigarcia) Support parameterized
in REST request
endpoint
- Support global
variable instead of
value in web
services request
Add
Katalon
Record, Katalon Spy
Extension to Edge
Chromium
- Fix bug missing
header when
sending REST
request
- Find the reason
‘Unable to ‘run from
here’ when record
web with IE Web
Driver
Anh Lương
Anh Duy
12
Viết Unit test,
automation test (sử
dụng
Katalon
Studio)
cho các
đoạn code đã viết
Anh Trần
Nguyễn Minh
Thơng
Lương Anh Duy Đinh Hồng Ln
13
Chương 3: Các phần đã thực hiện trong sản phẩm
1. Giới thiệu về Katalon Studio
Katalon Studio là phần mềm automation testing đa nền tảng, hỗ trợ automation test trên
desktop app, mobile app, web app và API. Katalon Studio đã góp phần hồn thiện quy tình
phát triển phần mềm bằng những tính năng mạnh mẽ và hỗ trợ kiểm thử tự động trên nhiều
nền tảng khác nhau.
2. Một số chức năng chính đã thực hiện
2.1 Hỗ trợ sử dụng biến trong gửi web services
- Hỗ trợ biến global (biến định nghĩa trong profile), biến sử dụng trong từng
request thay thế cho các giá trị được sử dụng lại nhiều lần
2.2 Cập nhật driver cho trình duyệt edge chromium
- Khi driver của trình duyệt web được sử dụng khơng phù hợp với phiên bản mới
nhất của trình duyệt, người dùng cần sử dụng tính năng cập nhật driver trên Katalon
Studio nhằm sử dụng cho tính năng Recorder, Spy.
- Khi người dụng yêu cầu cập nhật driver mới nhất cho edge chromium browser,
hệ thống sẽ tìm kiếm phiên bản mới nhất phù hợp với hệ điều hành kiến trúc phần
cứng (32bit, 64 bit) để tải xuống và lưu vào hệ thống của Katalon Studio.
Lương Anh Duy Đinh Hồng Ln
14
Lương Anh Duy Đinh Hồng Ln
15
2.3 Cài đặt Katalon Recorder, Katalon Spy extension trên edge chromium - Microsoft
vừa ra mắt phiên bản mới của trình duyệt microsoft edge mang tên Edge Chromium, Katalon
Studio mong muốn người dùng có thể sử dụng tính năng Record, Spy trên nhiều loại trình
duyệt nhằm mang lại sự đa đạng về môi trường kiểm thử cho người dùng. Vì vậy, cần phải
hỗ trợ tính năng Record, Spy trên trình duyệt này.
Katalon Recorder:
Lương Anh Duy Đinh Hồng Ln
16
Katalon Spy:
2.4 Tìm ngun nhân khơng chạy được script Katalon record trên Microsoft
Edge và cách khắc phục
- Tính năng Katalon Recorder vẫn record lại được các action, tuy nhiên không thể replay
lại được các action dựa trên script đã record lại được và đôi khi xảy ra lỗi trong lúc
record. Vì vậy, cần phải tìm hiểu nguyên nhân và cách khắc phục lỗi đó để tính năng
record hoạt động ổn định trên Microsoft Edge.
Lương Anh Duy Đinh Hồng Ln
17
TÀI LIỆU THAM KHẢO
1. Jira:
/>861255635.html
2. Git:
/>3. Eclipse – Rich Client Platform:
/>4. Design pattern
/> />7I&list=PLrhzvIcii6GNjpARdnO4ueTUAVR9eMBpc
5. Clean code
/>6. Maven
/>7. Reflection
8.
Junit
/>9. SWT
/>10.AWT (Java docs)
/>11.SOAP
/>12.RESTful
/>13.Appium
/>14.Selenium
/>15. WinAppDriver
/>
Lương Anh Duy Đinh Hồng Ln
18
TỔNG KẾT
Như vậy, sau gần ba tháng thực tập tại KMS Technology, em đã học được rất nhiều kiến thức
về chuyên mơn, quy trình và cách hoạt động của dự án thực tế đồng thời nâng cao kỹ năng lập trình
của bản thân. Bên cạnh đó, các kỹ năng hỗ trợ trong công việc như viết mail, trao đổi, thảo luận và
làm việc nhóm... cũng được cải thiện nhờ mơi trường làm việc thực tế và chuyên nghiệp. Trong suốt
quá trình thực tập, những kiến thức đã học tại trường đã hỗ trợ rất nhiều trong công việc. Nắm vững
kiến thức nền tảng giúp em nắm bắt nhanh các công nghệ, kỹ thuật sử dụng trong project.
Chỉ trong khoảng thời gian tương đối ngắn, em đã tích luỹ khối lượng lớn kiến thức, hiện
thực các tính năng mới, cải thiện các tính năng đã có của sản phẩm được tin tưởng và sử dụng bởi
nhiều cơng ty, doanh nghiệp, tập đồn lớn trên thế giới. Việc phát triển một sản phẩm được sử dụng
rộng rãi trên toàn thế giới giúp em tiếp cận với hướng suy nghĩ, cách giải quyết vấn đề hồn tồn
mới, từ đó tích luỹ kinh nghiệm cho bản thân.
Lương Anh Duy Đinh Hồng Ln