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 Kiểm thử phần mềm trên ứng dụng Web Công ty thực tập KMS Technology Việt Nam Người phụ trách Nguyễn Thị Phương Trúc Thực t[.]
Trang 1TRƯỜ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
Kiểm thử phần mềm trên ứng dụng Web
Thực tập sinh : Phạm Ngọc Quyên
TP Hồ Chí Minh, tháng 12 năm 2022
Trang 2LỜI MỞ ĐẦU
Trong lĩnh vực phần mềm, kiểm thử phần mềm là một phần không thể thiếu (software testing) Kiểm thử phần mềm là hoạt động nhằm tìm kiếm và phát hiện ra các lỗi của phần mềm, đảm bảo phần mềm chính xác, đúng và đầy đủ theo yêu cầu của khách hàng, yêu cầu của sản phẩm đã đặt ra Software testing cũng cung cấp mục tiêu, cái nhìn độc lập về phần mềm điều này cho phép đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm
Mục đích của việc kiểm thử nhằm nâng cao hiệu quả và chất lượng hoạt động của phần mềm, đảm bảo không thất thoát chi phí, sản phẩm làm ra đạt chuẩn tới tay người tiêu dùng từ
đó đảm bảo uy tín của sản phẩm, của doanh nghiệp với người tiêu dùng Vì lý do này, em quyết định chọn QA làm định hướng cho việc học tập của mình
QA (Quality Assurance) trong lĩnh vực IT là đảm bảo chất lượng sản phẩm bằng cách đưa ra các quy trình làm việc cụ thể giữa các bên liên quan
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tham gia làm kiểm thử trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tập trong hè Vì vậy, em quyết định chọn KMS Technology Việt Nam - một môi trường
lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty KMS Technology Việt Nam đặc biệt là đội ngũ team Visily đã tạo điều kiện cho em có cơ hội được thực tập tại công ty
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, em đã tiếp thu được những kiến thức quan trọng để kiểm thử, đảm bảo chất lượng của ứng dụng Web trong thực tế Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian, công sức để hướng dẫn em hoàn thành đợt thực tập này
Đặc biệt gửi lời cảm ơn chân thành tới chị Nguyễn Thị Phương Trúc (Delivery director)
đã hỗ trợ rất nhiều cho em trong công việc này Chị không chỉ hướng dẫn em về kỹ năng chuyên môn mà còn cho em rất nhiều bài học hay về các kỹ năng mềm cần thiết
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
<Phạm Ngọc Quyên >
<HCM, 26/12/2022>
Trang 4NHẬN XÉT CỦA KHOA
Trang 5MỤC LỤC
Trang 6Chươ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 là một công ty phần mềm Việt Nam Startup này là công ty hàng đầu về lĩnh vực phát triển phần mềm với đội ngũ 1000 kỹ sư, vừa tổ chức lễ khai trương văn phòng thứ 6, đặt tại trung tâm thành phố Đà Nẵng KMS Technology hứa hẹn đem đến nhiều cơ hội việc làm chất lượng cao, góp phần phát triển năng lực đội ngũ lập trình viên miền Trung, nâng tầm sản phẩm và dịch vụ công nghệ thông tin của Việt Nam trên thị trường thế giới.
Thuộc top 4 công ty IT tại Việt Nam, KMS Technology luôn được đánh giá cao với môi trường làm việc năng động & thân thiện hàng đầu cùng những cơ hội phát triển phù hợp nhất với năng lực của mỗi cá nhân
KMS Technology là công ty 100% vốn đầu tư của Mỹ cung cấp dịch vụ phát triển phần mềm và kiểm thử độc lập hàng đầu tại Việt Nam Đội ngũ lãnh đạo tại KMS luôn tập trung xây dựng chính sách đãi ngộ tốt nhất, đa dạng hóa các chương trình đào tạo kết hợp với các hoạt động vui chơi giải trí thường xuyên trong công ty nhằm tạo điều kiện tốt nhất để phát huy điểm mạnh của mỗi nhân viên Sau 8 năm hoạt động, KMS đã xây dựng đội ngũ hơn 800 nhân viên tại Việt Nam góp phần vào
sự tăng trưởng mạnh mẽ dịch vụ gia công phần mềm của Việt Nam và sự thành công của khách hàng trên thị trường Mỹ
2 Sản phẩm của công ty
UpStar Labs là nhánh đầu tư và ươm tạo khởi nghiệp của KMS Technology UpStar Labs xây dựng các sản phẩm phần mềm cho thị trường toàn cầu với chính đội ngũ kỹ
sư công nghệ tại Việt Nam, đồng thời đầu tư vào các công ty khởi nghiệp có ảnh hưởng lớn tại Hoa Kỳ và Việt Nam Danh mục sản phẩm và đầu tư bao gồm QASymphony, Kobiton, Katalon, Christina’s, Cypress.io, Izenda, Visily và nhiều công ty khác
Trang 7Hợp tác chặt chẽ với các công ty phần mềm có danh tiếng hàng đầu thế giới, KMS mang các giải pháp phần mềm tiên tiến và sáng tạo của thế giới đến Châu Á
Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Kiểm thử phần mềm trên ứng dụng Web” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về kiểm thử phần mềm, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp Tại công ty, sinh viên có cơ hội được học tập, khám phá và làm việc trong một môi trường phát triển ứng dụng web chuyên nghiệp
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 và nhận thiết bị làm việc
Được IT team giao thiết bị Laptop, các tài khoản đăng nhập và các ứng dụng cần thiết cho việc liên hệ/bảo mật
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triể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
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 trong công việc…
Kết quả : Hiểu thêm về sản phẩm Visily của công ty KMS, quá trình thành lập và phát
triển Biết về cách sử dụng các phần mềm bảo mật cho thiết bị khi làm việc
2 Nghiên cứu kỹ thuật
2.1 Các công cụ làm việc
Thời gian : 4 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, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các công
cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như
Jira-sử dụng trong việc quản lý công việc, Notepad ++ - một chương trình soạn thảo văn bản rất hữu ích, Slack- môi trường giao tiếp giữa các thành viên trong team
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Sử dụng tốt các công cụ cần thiết nêu trên
2.2 Tìm hiểu sản phẩm Web app Visily (thiết kế giao diện cho non-designer)
Thời gian : 5 ngày (1 tuần)
Nội dung :
- Làm quen với cách sản phẩm web app Visily hoạt động và tiếp xúc với 3 môi trường sẽ được sử dụng khi kiểm thử ( test-staging-production)
Trang 8- Nắm mô hình Scrum mà team đang thực hiện
Thực hiện :
- Sử dụng các tính năng của web app visily như một người dùng thực tế
- Truy cập vào các môi trường để xem luồng hoạt động của từng môi trường trong từng giai đoạn
- Tham gia các buổi daily meeting và planning meeting
Kết quả :
- Nắm được toàn bộ hệ thống và cách hoạt động của web app Visily
- Có kiến thức về thiết kế giao diện
- Nắm được các môi trường khác nhau của một sản phẩm, mục đích và cách sử dụng trên từng môi trường
- Hiểu cách mà một mô hình Scrum hoạt động
2.3 Viết report bug và quy trình xử lý bug trên Jira
Thời gian : 3 ngày
Nội dung :
- Cách xử lý và viết report khi phát hiện bug trên ứng dụng
- Vòng đời xử lý bug
Thực hiện :
- Đọc các report bug của thành viên trong team
- Thực hành viết report bug dựa trên những bài mẫu
- Nắm cách tạo task trên Jira để đưa bug vào quy trình xử lý
Kết quả :
- Nắm được cách viết report bug
- Xử lý bug trên Jira để làm việc khớp với team
2.4 Học cách viết test case dựa trên requirement từ PO
Thời gian : 5 ngày (1 tuần)
Nội dung :
- Phân tích requirement
- Viết test case từ requirement đã cho
- Áp dụng các technical cần thiết vào việc viết test case
Thực hiện :
- Đọc các test case và requirement tương ứng của thành viên trong team
- Nắm các kĩ năng như black/white box testing
- Thực hành viết test case dựa trên requirement mẫu
Trang 9Kết quả :
- Có khả năng phân tích requirement
- Viết test case trên requirement đã phân tích
- Áp dụng technical đã học vào việc viết test case
2.5 Viết automation test case cho Web app Visily
Thời gian : 3 ngày
Nội dung :
- Nắm framework Playwright cho việc viết automation test case
- Viết automation test case từ manual test case
Thực hiện :
- Đọc và nắm source code automation
- Tìm hiểu và áp dụng Playwright
- Thực hành viết test case dựa trên requirement mẫu
Kết quả :
- Viết được automation test case từ manual test case
- Viết test case trên requirement đã phân tích
- Nắm được source code và cách viết với Playwright
2.6 Kiểm thử UI của Web app Visily
Nội dung: Dùng các tool hỗ trợ để kiểm thử UI
- Khái niệm cơ bản về kiểm thử UI
Nắm được kiểm thử UI trong 1 ứng dụng web là bao gồm các phần nào và một vài tool kiểm thử manual
- Visbug:
VisBug sẽ giúp xem và chỉnh sửa HTML + CSS dễ dàng hơn bao giờ hết, mà không cần phải soi F12 nữa
Ngoài ra Visbug cũng đo lường thông số của các thành phần bố cục trong web Hiển thị font/size của text, …
- Perfect pixel
Tiện ích sẽ đặt một hình ảnh mờ chồng lên web như hình, đồng thời so sánh giữa hai ảnh để đảm bảo độ chính xác đến từng pixel
Trang 10- What color
Công cụ đo màu sắc chính xác và hiển thị mã màu dạng hex và decimal
- Viewport resizer
Công cụ giúp thay đổi viewport của ứng dụng web giúp ích trong việc kiểm thử phần responsive cho ứng dụng
Thực hiện :
- Tham gia đầy đủ các buổi training
- Thực hiện sử dụng các tools…
- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm
Kết quả :
- Hiểu được những khái niệm cơ bản trong kiểm thử UI
- Sử dụng được các tool kiểm thử nêu trên
2.7 Kiểm thử funtional cho Web app Visily
Nội dung: Manual và automation kiểm thử cho function của web app Visily
- Manual: Dựa vào các steps trên test case đã viết và thực hiện manual theo các steps
- Automation: Cho chạy các suite test liên quan và kiểm định kết quả
Thực hiện :
- Kiểm thử các function mới của app dựa trên yêu cầu của sprint
- Manual kiểm thử và automation kiểm thử
Kết quả :
- Kiểm thử được các function của aap
- Viết report bug tương ứng
2.8 Kiểm thử performance cho Web app Visily
Nội dung: Sử dụng các tool để kiểm thử hiệu suất của app và viết báo cáo
Trang 11- GT metrix: Công cụ kiểm thử performance cho các web app, đưa ra đánh giá cụ thể về hiệu suất
- Jmeter: Giả lập truy cập để kiểm thử performance
Thực hiện :
- Sử dụng các tool trên để đo đạt hiệu suất của app trong từng trường hợp cụ thể
- Viết báo cáo cho performance
Kết quả :
- Kiểm thử performance của app
- Viết report tương ứng
3 Thực hiện project
Sau thời gian làm việc ở Visily em đã kiểm thử được những phần sau đây của app
4 Lịch làm việc
Tuần Công 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
1
- Tìm hiểu về công
ty, cách tổ chức của công ty
- Làm quen với các công cụ làm việc trong công ty
- Học cách trao đổi, làm việc qua email
Chị Nguyễn Thị Phương Trúc
2 - Viết report bug vàquy trình xử lý bug
trên Jira
Chị Nguyễn Thị Phương Trúc 3
- Viết manual/auto test case dựa trên requirement từ PO
Chị Nguyễn Thị Phương Trúc và anh Nguyễn Đông
4 - Kiểm thử sau khicode đã lên môi
trường testing
Chị Nguyễn Thị Phương Trúc
Trang 125 - Report bug đã pháthiện trong quá trình
kiểm thử
Chị Nguyễn Thị Phương Trúc
6 - Kiểm thử trên môitrường staging Chị Nguyễn Thị
Phương Trúc
7 - Smoke test trênproduction Chị Nguyễn Thị
Phương Trúc
Trang 13Chương 3: Chi tiết về project
1 Giới thiệu về Visily
Visily là một phần mềm thiết kế giao diện sản phẩm (UI – user interface) dành cho người dùng không chuyên, tập trung vào câu chuyện hỗ trợ người dùng thiết kế dễ dàng với các tính năng
sử dụng sức mạnh của trí thông minh nhân tạo (AI – artificial intelligence)
1.1 Kiểm thử UI
1.1.1 App theme
Project wizard giúp bạn tạo ra theme từ các từ khoá gợi ý, hình ảnh hoặc website URL
UI nhất quán xuyên suốt theo một chủ đề
- Tạo theme từ keyword
- Chọn một theme có sẵn
- Trích xuất theme từ hình ảnh
- Trích xuất theme từ URL
1.1.2 Page templates
Hàng trăm mẫu web và ứng dụng di động đẹp mắt giúp người dùng không cần phải thiết kế giao diện ứng dụng từ đầu nữa
- Các mẫu có sẵn thể tùy chỉnh theo chủ đề: Các mẫu được chọn được tự động tùy chỉnh với chủ đề dự án của bạn, dẫn đến một thiết kế độc đáo của riêng bạn
- Có sẵn ở nhiều kích thước màn hình: Mẫu có sẵn ở các kích thước màn hình khác nhau cho ứng dụng của bạn Nhanh chóng thiết kế ứng dụng của bạn cho máy tính để bàn, điện thoại di động và máy tính bảng
Trang 141.2 Kiểm thử Functional
1.2.1 Design authoring
Trải nghiệm thiết kế giao diện người dùng đơn giản nhất được cung cấp bởi Al Thiết kế các mockup có độ trung thực cao dễ dàng như làm việc với Google Slides
- Components thông minh: Các components này cho phép bạn thiết kế các ứng dụng phức tạp một cách dễ dàng Bạn cũng có thể tạo mã CSS từ các components này
- Component dựng sẵn: Thiết kế một cách nhanh chóng bằng cách sử dụng các forms, cards, footers… có sẵn
Trang 15- Bộ icon phong phú có thể thay đổi theo chủ đề: Hỗ trợ nhiều bộ biểu tượng cho mọi nhu cầu thiết kế ứng dụng
- Phác thảo AI để thiết kế: Lặp lại ý tưởng của bạn một cách nhanh chóng! Vẽ ứng dụng của bạn trên giấy và nhờ Visily AI chuyển đổi nó thành các mockup có độ chính xác cao
- Ảnh chụp màn hình AI để thiết kế: Chụp ảnh màn hình của các ứng dụng hoặc trang web hiện có và để AI của chuyển đổi chúng thành các mô hình đẹp, có độ chính xác cao
1.2.2 Prototype and presentation
Chuyển đổi các thiết kế tĩnh thành các mô hình tương tác và trình bày các luồng ứng dụng
- Kết nối các thành phần và màn hình để thiết lập quy trình và điều hướng ứng dụng
Trang 16- Các thành phần thông minh có thể tự động thay đổi trạng thái khi di chuột hoặc nhấp vào
- Sắp xếp màn hình nhanh chóng và dễ dàng
- Present mẫu một cách dễ dàng, trên cả máy tính để bàn và thiết bị di động
Trang 17TÀI LIỆU THAM KHẢO
For UI
https://www.guru99.com/gui-testing.html
https://www.lambdatest.com/blog/top-ui-automated-testing-tools/
For funtional
https://www.simform.com/blog/functional-testing-tools/
https://playwright.dev/
For performance
https://gtmetrix.com/
https://jmeter.apache.org/
For test case
https://www.guru99.com/black-box-testing.html
https://www.guru99.com/white-box-testing.html
Trang 18TỔNG KẾT
Như vậy, chỉ trong vòng một tháng ngắn ngủi, em đã có thêm nhiều kiến thức hữu ích trong việc kiểm thử phần mềm, có trải nghiệm thực tế khi làm việc trong một môi trường chuyên nghiệp
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer Visily và KMS