Sau quá trình học hỏi và thực hiện các đồ án trên lớp, với bản thân là sinh viên chuyên ngành kỹ thuật phần mềm, em đã tích lũy cho mình những kiến thức căn bản để có thể phát triển và ứ
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 22
LỜI MỞ ĐẦU
Ngày nay, với sự phát triển không ngừng của công nghệ, con người đang dần thực thi hóa những công việc thủ công thành những ứng dụng hiện đại Các sản phẩm phần mềm trở thành những tiềm năng phát triển – trở thành nguồn đầu tư quan trọng của các danh nghiệp lớn Không chỉ phát triển ở thị trường trong nước một số phần mềm đã được nhiều thành công rực rỡ ở thị trường quốc tế Hiện nay nhiều sản phẩm phần mềm được tích hợp các công nghệ hiện đại nhất và bắt kịp với các xu hướng mới nhất đem lại cho người dùng các danh nghiệp những trải nghiệm tốt nhất Việt Nam là một trong số quốc gia đứng thứ
6 trong top 55 quốc gia hấp dẫn nhất trong dịch vụ phát triển và gia công phần mềm
Sau quá trình học hỏi và thực hiện các đồ án trên lớp, với bản thân là sinh viên chuyên ngành kỹ thuật phần mềm, em đã tích lũy cho mình những kiến thức căn bản để có thể phát triển và ứng dụng vào các dự án thực tế Java – ngôn ngữ lập trình chiếm phần lớn trong mã nguồn viết nên những sản phẩm phần mềm ứng dụng cao Nhận thấy được sự tiềm năng của môi trường phát triển các phần mềm ứng dụng được viết bằng ngôn ngữ Java, em đã quyết định lựa chọn công ty KMS Technology là công ty thực tập em áp dụng các kiến thức về Java của mình vào các dự án thực tế đồng thời là cơ hội để em phát triển nghề nghiệp trong tương lai
Trang 3Đặc biệt cảm ơn anh Lương Anh Duy, đã training các kiến thức cũng nhưng các kỹ
thuật lập trình, hướng dẫn, giúp đỡ cho chúng em tận tình cả những khó khăn trong công
việc, đến những khó khăn việc làm quen với môi trường mới; cảm ơn anh Huy, anh Hải, anh Tuấn đã hỗ trợ em rất nhiều vấn đề về kỹ thuật trong quá trình thực hành bảo trì và
phát triển ứng dụng Katalon Studio
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 làm bài báo cáo này
Võ Thị Một
Hồ Chí Minh, ngày 29 tháng 07 năm 2020
Trang 44
NHẬN XÉT CỦA KHOA
Trang 5
5
MỤC LỤC
CHƯƠNG 1: GIỚI THIÊU CÔNG TY THỰC TẬP 6
1.1 Giới thiệu UpStar Lab công ty KMS Technology Vietnam 6
1.2 Sản phẩm của công ty 6
CHƯƠNG 2: NỘI DUNG THỰC TẬP 8
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 8
2.2 Tìm hiểu Katalon Studio 9
2.3 Tìm hiểu thực hành các chức năng của Katalon Studio 12
2.4 Ôn lại các kiến thức cơ bản, nâng cao kiến thức về ngôn ngữ lập trình Java 13
2.5 Tìm hiểu về webdriver 15
2.6 Tìm hiểu về triển khai CI/CD trên Git, tìm hiểu Jenkins 15
2.7 Tìm hiểu về quy trình thiết kế , kiến trúc GUI với Eclipse RCP 16
2.8 Thực hiện project 17
2.9 Lịch làm việc 17
CHƯƠNG 3: CHI TIẾT VỀ PROJECT 21
3.1 Giới thiệu về dự án 21
3.2 Thực hiện dự án 21
3.2.1 Tiếp cận, tiều hiểu chức năng: 21
3.2.2 Thực hiện phát triển và bảo trì các chức năng của Katalon Studio 21
TÀI LIỆU THAM KHẢO 34
Trang 66
CHƯƠNG 1: GIỚI THIÊU CÔNG TY THỰC TẬP
1.1 Giới thiệu UpStar Lab công ty KMS Technology Vietnam
KMS là công ty phần mềm Việt Nam được thành lập năm 2009 Công ty chuyên cung cấp các dịch vụ phát triển phần mềm, tư vấn triển khai các giaỉ pháp công nghệ, khởi nghiệp và đầu tư KMS có trụ sở tại Atlanta, GA với các văn phòng ở California và Việt Nam, công ty đẩy nhanh việc cung cấp các giải pháp phần mềm sáng tạo thông qua phương pháp lấy khách hàng làm trung tâm
Upstar Labs là chi nhánh đầu tư và ươm tạo khởi nghiệp của KMS Technology được thành lập vào năm 2017 ở địa chỉ 290/26 Nam Kỳ-Khởi Nghĩa, phường 8, quận 3, tp.Hồ Chí Minh UpStar Labs, nhánh vườn ươm các công ty khởi nghiệp và đầu tư của KMS Technology, vừa hợp tác chiến lược với Swiss EP của Thụy Sĩ nhằm thúc đẩy phát triển mạng lưới khởi nghiệp tại Việt Nam UpstarLabs xây dựng các sản phẩm phần mềm đưa
ra thị trường thế giới bằng cách sử dụng các tài năng kỹ thuật tại Việt Nam và đầu tư vào các công ty khởi nghiệp có ảnh hưởng lớn ở Hoa Kỳ và Việt Nam
1.2 Sản phẩm của công ty
Upstar Lab đầu tư vào các công ty khởi nghiệp xây dựng và phát triển công cụ QA, quản lý vốn nhân lực, BI, AI / ML, IoT và phần mềm tiêu dùng Công ty là vườn ươm các sản phẩm đưa ra thị trường quốc tế bao gồm QASymphony, Kobiton, Katalon, Sprynkl và Grove
Sản phẩm Kobition là dịch vụ đám mây cho phép doanh nghiệp phát triển ứng dụng
di động truy cập vào thiết bị ở khắp nơi trên thế giới Thử nghiệm được những cấu hình máy khác nhau của người dùng thật trên những nhà mạng khác nhau, đảm bảo tối đa chất lượng phần mềm khi triển khai đến người dùng cuối
Trang 77
Trong khi đó Katalon Studio được xem như là cuộc cách mạng hóa việc sử dụng các khung kiểm thử phần mềm tự động mã nguồn mở, thông qua việc loại bỏ các vấn đề kỹ thuật phức tạp, cho phép người kiểm thử thiết lập, chạy thử, báo cáo và quản lý các thử nghiệm tự động một cách hiệu quả
Trang 88
CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.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 về công ty, cách tổ chức của công ty
Được các anh chị HR và nhân viên giới thiệu về công ty, quá trình thành lập và phát triển (như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của công ty Làm quen, giao lưu với các anh chị nhân viên, theo từng bộ phận và theo team Các anh chị giới thiệu về các sản phẩm và những thành tựu cua công ty đã đạt được
Các anh kỹ thuật hướng dẫn và cấp thiết bị, sử dụng các nguồn tài nguyên của công ty Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công
ty như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email, các công
cụ làm việc Các anh chị nhân viên chia sẻ kinh nghiệm làm việc hiệu quả đồng thời hướng dẫn cách về tác phong, các bước làm việc của team và thông tin liên hệ khi quá trình làm việc gặp vấn đề hoặc gặp sự cố bất ngờ Được cấp tài khoản tham gia vào các nhóm tương tác, thảo luận công việc trên WorkPlace
Kết quả : Hiểu thêm công ty KMS Technology Vietnam - chi nhánh làm việc Upstar
Labs về quá trình thành lập và phát triển Có thêm các kỹ năng về việc sử dụng email, trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
1 Nghiên cứu kỹ thuật
1.1 Các công cụ làm việc
Thời gian : 3 ngày
Nội dung:
− Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc
− Trong thời gian này, mentor đã hướng dẫn thực tập sinh tìm hiểu các công
cụ sẽ giúp cho quá trình làm việc với team Một số tool quản lý source code như : Git, Source Tree
− Tìm hiểu Các nguyên tắc cơ bản, format code trong quá trình làm viêc là summit code
Trang 99
− Các mô tả quy trình thực hiện một task công việc làm sao dễ hiểu và có thể cho QA thực hiện các quy trình kiểm thử Các IDE dùng triển khai code và review gồm Eclipse RCP, Inteliji, Visual Studio Code
− Tìm hiểu về sản phẩm của công ty Katalon Studio và Katalon TestOps Đọc các tài liệu mô tả về ứng dụng Tìm hiểu tính năng cũng quy trình sử dụng ứng dụng
2.2 Tìm hiểu Katalon Studio
Thời gian : 3 ngày (1 tuần)
Nội dung: Các chức năng và cách sử dụng Katalon Studio cho kiểm thử phần
mềm trên trên website và mobile, so sánh sự khác nhau giữa Katalon Studio và Selenium
− Tìm hiểu về Katalon Studio:
Là một bộ công cụ toàn diện cho kiểm thử tự động hóa ứng dụng trên web và điện thoại di động Công cụ này bao gồm một gói đầy đủ các tính năng mạnh mẽ giúp vượt qua những thách thức phổ Katalon Studio cách mạng hóa việc sử dụng các khung tự động kiểm tra nguồn mở như Selenium và Appium bằng cách loại bỏ
sự phức tạp kỹ thuật của chúng Công cụ này cho phép các nhà phát triển và QAs thiết lập, tạo, chạy, báo cáo và quản lý các thử nghiệm tự động của họ cho các Thử nghiệm Web, Di động và API một cách hiệu quả Bắt đầu từ Katalon Studio 7.0, phần mềm kiểm thử trên desktop được xây dựng dựa trên WinAppDrivers (được
Trang 1010
viết và bảo trì bởi Microsoft) có sẵn cho người dùng để tạo các thử nghiệm tự động cho Ứng dụng Windows Desktop
- Đọc document của Katalon Studio và Selenium
- Sử dụng , thực hành và tìm hiểu về công cụ Katalon Studio
Các tính năng ưu điểm của Katalon Studio:
• Simple deployment: Một gói triển khai duy nhất, gắn kết chứa mọi thứ bạn cần để triển khai một công cụ kiểm tra tự động mạnh mẽ
• Quick & easy set-up: Không chỉ cung cấp sự cài đặt đơn giản, Katalon Studio cũng giúp bạn dễ dàng thiết lập môi trường Tester có thể chạy test script đầu tiên của họ khá nhanh bằng cách sử dụng mẫu được xây dựng trước và các test scripts, chẳng hạn như object repositories và keyword libraries
• Faster & Better results: Tích hợp sẵn mẫu với hướng dẫn rõ ràng giúp tester nhanh chóng xây dựng và chạy các test scripts tự động hóa Họ có thể thực hiện từng bước với tốc độ và hiệu quả, từ thiết lập dự án, tạo ra thử nghiệm, thực hiện, tạo báo cáo và bảo trì
• Flexible modes: Một tester mới có thể sử dụng recording và keywords để xây dựng các bài kiểm tra tự động hóa, trong khi các chuyên gia kiểm tra có một IDE hoàn chỉnh để xây dựng các kịch bản nâng cao
• Ease of use: Nó không thể được dễ dàng hơn, ngay cả hướng dẫn sử dụng với kinh nghiệm lập trình tối thiểu cũng có thể khai thác lợi ích của nó một cách
dễ dàng
• Cross-browser application: Katalon Studio hỗ trợ nhiều nền tảng: Windows
32 và 64 (7, 8 và 10) và OS X 10.5+
− So sánh giữa Katalon Studio và Selenium
Trang 1111
Kết quả:
- Hiểu rõ và nắm được các kiển trúc và thành phần của Katalon Studio
Hổ trợ cho kiểm thử cho
Tạo trường hợp kiểm tra
ngoài hộp thông qua Web
Recorder
x
Giao diện người dùng trực
quan dành riêng cho thử
nghiệm API hỗ trợ WSDL,
Swagger
x
Hệ thống quản lý kiểm tra
nâng cao tạo điều kiện thực
hiện song song và thực hiện
Trang 1212
- Có cái nhìn tổng quan về các tính năng nổi bật của KS
- Sử dụng, thực thi được các tính năng của KS, hiểu rõ về sản phẩm của công ty đang xây dựng và phát triển
2.3 Tìm hiểu thực hành các chức năng của Katalon Studio
Nội dung:
− Từ những tài liệu được cung cấp về ứng dụng em được thực hành trực tiếp và
sử dụng các chức năng của Katalon Studio để hiểu hơn và biết cách sử dụng công cụ này
− Cách tạo mới và debug một testcase bằng việc viết script và record trực tiếp:
− Sử dụng các chức năng của Katalon ở các version khác nhau
Không giống như Selenium, tiện ích Studio Katalon hỗ trợ ghi lại và chạy thử nghiệm tương tự trên nhiều trình duyệt Ngoài ra, Katalon Studio rất thông minh để
xử lý các phần tử web động bằng cách sửa đổi các thuộc tính đối tượng kiểm tra bằng các phương thức được tích hợp (Add / Remove Object Property) trong thời gian chạy
- Cách tạo mới một test suite và test suite collection
Test Suite là một tập hợp các Test Case và là sưu tập hợp lý các Test case được nhóm thành Test Suite giúp chạy một lược nhiều Test Case
− Tạo và chạy TestSuite
• Đi đến Suite – Execution Information
• Set Thời gian
• Set số lần chạy
• Thêm một email verify
• Xem báo cáo chạy lần cuối
• Tạo thư mục để phân loại các trường hợp thử nghiệm
Test Suite Collection là tập hợp của Test Suite
Trang 1313
Mục đích của Test Suite Collection để nhóm Test Suites một cách hợp lý để chạy các bộ thử nghiệm theo trình tự hoặc song song để chạy các bộ thử nghiệm trên nhiều trình duyệt
Cách tạo :
• Test Case Report - Log Viewer
• Test Suite Report – Historical Report
• Test Suite Collection Report – Historical Report
- Triển khai viết test case bằng Groovy/Java:
- Tìm hiểu các statement cơ bản của TestCase:
- Có khả năng viết các test case bằng script và record
- Thực thi, debug test case trên mobile và website
- Tạo thực thi test suite, test suite collection
- Export report từ test suite và test suite collection
2.4 Ôn lại các kiến thức cơ bản, nâng cao kiến thức về ngôn ngữ lập trình Java
Thời gian: 2 tuần
Nội dung:
Tìm hiểu và ôn tập kiến thức Java:
- Các tính chất hướng đối tượng Java
Trang 1414
- Design Patterns trong Java:
• Java Singleton
• Factory Method Design Pattern
• Abstract Factory Design Pattern
• Abstract Factory Design Pattern
- File và I/O trong Java
Tìm hiểu các nguyên lý trên SOLID:
• Single responsibility principle
• Open/closed principle
• Liskov substitution principle
• Interface segregation principle
• Dependency inversion principle
Trang 1515
- Tìm hiểu và ứng dụng các nguyên tắc format chia các file khi triển khai code , các thủ tục format mô tả code trên git theo forrmat của công ty
Kết quả:
- Hiểu và nắm các kiến thức cơ bản và nâng cao của Java
- Nắm bắt được các quy tắt triển khai code và mô tả sau khi hoàn thành task cho
- Các phiên bản mới nhất của webdriver
- Tìm hiểu về nguyên lý hoạt đông và cập nhật các phiên bản mới nhất của
webdriver
Kết quả:
- Hiểu và nắm bắt các kiến thức về cách hoạt động của một webdriver trong Katalon Studio
- Có kiển thức cơ bản về webdriver
2.6 Tìm hiểu về triển khai CI/CD trên Git, tìm hiểu Jenkins
Thời gian : 1 tuần
Nội dung:
- Tìm hiểu về triển khai CI/CD
- Các lợi ích khi thực hiện triển khai trên CI/CD
- Tìm hiểu tham khảo một quá quy trình ứng dụng CI/CD vào dự án
- Tìm hiểu về phần mềm tự động hóa Jenkin
- Tìm hiểu các về xác thực thông qua API trên Jenkin
- Tìm hiểu một số plugin của Jenkins, quá trình triển khai các ứng dụng trên shell và GUI
Kết quả:
- Có được một số kiến thức quan trọng về CI/CD
- Có khả năng thực hiện và triển khai ứng dụng trên Jenkins
Trang 1616
- Hiểu được quy trình thực hiện sử dụng và quản lý các test case, test suite trên Jenkins
2.7 Tìm hiểu về quy trình thiết kế , kiến trúc GUI với Eclipse RCP
Thời gian:1 tuần
Nội dung:
Tìm hiểu và phát triển ứng dụng Eclipse RPC
GUI trong Eclipse RPC
• Eclipse Application Model
• Model Fragment
• Model processor
• Menu và toolbar application
• View, popup and dynamic menus
• Toolbar, ToolControls và drop-down tool items
• Commands and handlers
• Context menu table
• Key bindings Eclipse Table và Trees
• Eclipse Wizards
• Eclipse SWT và Jface diaglogs
• Eclipse Table API
Deep into Eclipse RCP:
• Eclipse Drag và Drop
• Sử dụng CSS cho Eclipse application
• Eclipse WindowBuilder
Kết quả:
- Học hỏi và nâng cao kiến thức phát triển Eclipse RPC
- Có khả năng thiết kế, xây dựng một ứng dụng Eclipse RPC
Trang 1717
2.8 Thực hiện project
Sau một tháng được training và thực hành, thực tập sinh đã nắm được những kiến thực cơ bản về Java, sản phẩn phần mềm Katalon Studio và các công cụ cần thiết để có thể hoàn thành các nhiệm vụ được giao
Trong tháng thứ hai, trainer đã hướng dẫn thực tập sinh áp dụng những kiến thức để bảo trì và phát triển các chức năng trong Katalon Studio
Ở tháng thứ ba , thực tập sinh được thực hành kiểm thử phát triển các chức năng còn chưa hoàn thiện ở các phiên bản trước Mô tả các task đã làm được theo quy chuẩn của công ty, và được thông qua các QA để kiểm thử
2.9 Lịch làm việc
Người hướng dẫn
Mức
độ hoàn thành
Nhận xét của người hướng dẫn
Work Place Quy trình thực hiện các
Task được giao (bàn giao, mô tả, summit)
- Trải nghiệm sử dụng tìm hiểu các features của Katalon Studio
Chị Thanh, anh Huy
Hoàn thành