1. Trang chủ
  2. » Giáo Dục - Đào Tạo

báo cáo thực tập qa manual tester

26 3 0
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 đề Báo Cáo Thực Tập QA Manual Tester
Tác giả Võ Đặng Thiện Khải
Người hướng dẫn Bùi Toàn Lộc, Nguyễn Hoàng Duy
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Phần Mềm
Thể loại báo cáo thực tập
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 26
Dung lượng 1,14 MB

Nội dung

Hồ Chí Minh, tháng 1 năm 2024LỜI MỞ ĐẦU Trong cuộc cách mạng công nghiệp 4.0, lĩnh vực kiểm thử phần mềm QA Tester trởthành một phần quan trọng trong sự phát triển của xã hội, đặc biệt l

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

TP Hồ Chí Minh, tháng 1 năm 2024

LỜI MỞ ĐẦU

Trong cuộc cách mạng công nghiệp 4.0, lĩnh vực kiểm thử phần mềm (QA Tester) trởthành một phần quan trọng trong sự phát triển của xã hội, đặc biệt là trong bối cảnhcông nghệ thông tin ngày càng chiếm ưu thế Với hơn 1.5 tỷ trang web hiện nay, nhucầu kiểm thử chất lượng phần mềm để đảm bảo tính ổn định và hiệu suất của cácứng dụng web là không thể phủ nhận

Kiểm thử phần mềm không chỉ đóng vai trò quan trọng trong việc đảm bảo tính nhấtquán và đáng tin cậy của sản phẩm mà còn ảnh hưởng đến trải nghiệm người dùng

Để một ứng dụng web thu hút và giữ chân người dùng, không chỉ cần sự linh hoạttrong thiết kế mà còn cần sự đảm bảo về chất lượng phần mềm

Chính vì vậy, quyết định trở thành một QA Tester là sự lựa chọn hợp lý của tôi để đốimặt với thách thức không ngừng của ngành công nghiệp phần mềm Thông qua hànhtrình học tập tại đại học, tôi đã tích lũy kiến thức vững về quy trình kiểm thử, kiểmsoát chất lượng, và sử dụng các công cụ kiểm thử hiện đại

Để chứng minh khả năng của mình trong môi trường thực tế, tôi quyết định tham giavào Cybozu VietNam Co.Ltd – một nơi mang đến không chỉ sự chuyên nghiệp mà còn

cơ hội thực tập và áp dụng kiến thức vào các dự án thực tế Tôi tự hào trở thành mộtphần của đội ngũ kiểm thử phần mềm, hướng tới mục tiêu kiểm soát chất lượng vàmang lại trải nghiệm tốt nhất cho người sử dụng

Trang 3

LỜI CẢM ƠN

Em xin bày tỏ lòng biết ơn sâu sắc đến Cybozu VietNam Co.Ltd đã tạo điều kiện cho

em có cơ hội thực tập tại môi trường chuyên nghiệp và đầy thách thức này

Em muốn gửi lời cảm ơn đặc biệt đến anh Bùi Toàn Lộc và anh Nguyễn Hoàng Duy vì

sự hướng dẫn và hỗ trợ không ngừng Sự tận tâm và lòng nhiệt huyết của các anh đãgiúp em vượt qua mọi thách thức, và kiến thức mà em thu nhận được từ anh là vôcùng quý báu

Em cũng chân thành cảm ơn sự hỗ trợ và sự chia sẻ của toàn bộ đội ngũ nhân viên tạiCybozu VietNam Co.Ltd Mỗi người trong em đều cảm thấy hạnh phúc và tự hào vìđược làm việc trong một môi trường chuyên nghiệp, nơi mà sự sáng tạo và cam kếtđược đánh giá cao

Cuối cùng, em không quên bày tỏ lòng biết ơn đến gia đình, bạn bè và những ngườithân yêu đã luôn ủng hộ và khuyến khích em trong suốt thời gian thực tập

Em tin rằng những kinh nghiệm và học thức từ thực tập này sẽ là nền tảng vững chắccho sự phát triển tương lai của em Một lần nữa, xin chân thành cảm ơn sâu sắc

TP HCM, ngày 02 tháng 01 năm

2024

Khải

Võ Đặng Thiện Khải

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC LỜI MỞ ĐẦU

LỜI CẢM ƠN

MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1.1 Giới thiệu công ty Cybozu VietNam Co.Ltd

1.2 Sản phẩm công ty

1.3 Lịch làm việc khi thực tập tại công ty

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

2.2 Nghiên cứu kỹ thuật

2.2.1 Tuần 1

2.2.2 Tuần 2

2.2.3 Tuần 3

2.2.4 Tuần 4

2.2.5 Tuần 5

2.2.6 Tuần 6

2.2.8 Tuần 8

2.2.9 Tuần 9

2.2.10 Tuần 10

2.3 Tham gia dự án thực tế

2.3.1 Viết testcase cho Garoon

2.3.2 Automation test cho app Đặt lịch

CHƯƠNG 3: TỔNG KẾT

3.1 Điểm mạnh

3.2 Điểm yếu

3.3 Chuẩn đạt được

TÀI LIỆU THAM KHẢO

Trang 6

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1.1 Giới thiệu công ty Cybozu VietNam Co.Ltd

Cybozu Vietnam được thành lập vào năm 2009 và hiện đang phát triển để trở thànhmột chi nhánh phát triển quan trọng của Cybozu, Inc

Công ty Cybozu có một đội ngũ phát triển có kinh nghiệm sâu rộng và kiến thứcchuyên sâu trong phát triển ứng dụng dựa trên Web, luôn cập nhật với những kỹthuật ứng dụng Web mới nhất Cùng với đội ngũ phát triển, chúng tôi có một đội ngũKiểm thử Chất lượng chuyên nghiệp, thành thạo với các thủ tục kiểm thử hiện đại

Họ có kỹ năng tốt trong các loại kiểm thử khác nhau và môi trường kiểm thử

Về lĩnh vực phần mềm, công ty Cybozu đang phát triển một phần mềm hợp tác đểphục vụ cho công việc nhóm trên toàn thế giới Chúng tôi đặt mục tiêu trở thành nhàsản xuất phần mềm hợp tác số 1 thế giới Chúng tôi đã phát triển cả phần mềm trênnền tảng địa phương và trên nền tảng dựa trên đám mây

● Địa chỉ công ty: Ph101, Tầng 1, Tòa nhà Centre Point, 106 Đường Nguyễn VănTrỗi, Phường 8, Quận Phú Nhuận, Thành phố Hồ Chí Minh, Việt Nam

● Capital stock: 300.000 USD (tính từ cuối năm 2022)

● Quy mô công ty: 100 -150 nhân viên

Trang 7

1.2 Sản phẩm công ty

Công ty có nhiều sản phẩm liên quan đến việc phát triển các ứng dụng cooperationtrong kinh doanh và làm việc nhóm trên nền tảng web application Một vài ứng dụngnổi tiếng của công ty:

● Kintone: Nền tảng ứng dụng doanh nghiệp No-Code dành cho nhóm Kintone

cho phép người dùng doanh nghiệp nhanh chóng tạo các ứng dụng tuyệt vời

và cơ sở dữ liệu động cho nhóm của họ cũng như quy trình làm việc tùy chỉnh

và quản lý dữ liệu ở một nơi

● Garoon: Garoon là một sản phẩm phần mềm hợp tác do Cybozu, Inc phát

triển, dành cho doanh nghiệp quy mô lớn Nó cung cấp các tính năng quản lýlịch trình, giao tiếp hợp tác, quản lý dự án, và bảo mật thông tin Garoon giúptối ưu hóa quy trình làm việc, tăng cường hiệu suất, và tạo ra một môi trườnglàm việc hiệu quả trong tổ chức doanh nghiệp Điều này được thực hiện thôngqua tích hợp dữ liệu, quản lý công việc cá nhân và nhóm, cũng như tùy chọnbảo mật linh hoạt

Trang 8

1.3 Lịch làm việc khi thực tập tại công ty

Khoảng thời

gian thực tập

21/08/2023-27/10/2023

Thời gian làm

việc trong ngày

Công việc hằng ngày bắt đầu từ lúc 8h30 đến 17h30

Thời gian nghỉ

trưa

Thời gian nghỉ trưa 1 tiếng từ 11h45 tới 12h45

Thời gian báo

cáo

Sau mỗi ngày làm việc sẽ viết báo cáo tiến độ làm việc kèm với các vấn đề mắc phải và nộp lên hệ thống công ty.

việc ngày trước và lên kế hoạch cho ngày hôm đó.

Sprint planning Bắt đầu vào mỗi sáng thứ 2 hàng tuần, các team sẽ có 1

buổi họp cùng nhau để phổ biến công việc sẽ cần làm trong

cả 1 sprint

đã được giao để tổng kết trao đổi những vấn đề gặp phải

Trang 9

và xem lại những nhiệm vụ trong tuần

Trang 10

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 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, các phòng ban về IT, HR Ngoài ra, thực tập sinh còn được giới thiệu về văn hóa làm việc trong công ty như thời gian đi làm, các quy định, cách sử dụng email trong công việc Làm quen với các đồng nghiệp và tham gia tiệc chào mừng của công ty.

Kết quả: Hiểu thêm về công ty TNHH Cybozu Việt Nam, quá trình thành lập và phát triển Có thêm các kỹ năng về việc lập kế hoạch, có kỷ luật, có trách nhiệm hơn.

2.2 Nghiên cứu kỹ thuật

2 Thiết lập cài đặt máy tính, phần mềm cần thiết cho công việc

3 Sơ lược về sản phẩm Garoon của công ty và giao nhiệm vụ tìm hiểu sâu hơn về chức năng cho các thực tập sinh

4 Các nhóm tìm hiểu và trình bày theo về sản phẩm Garoon theo phần mà mình đã được giao

5 Giới thiệu testing cơ bản

Trang 11

6 Định hướng QA

7 Họp báo cáo tuần

Kết quả: Hiểu về sản phẩm Garoon, cách làm việc nhóm, hiểu được testing là gì

và định hướng cho bản thân mình

2.2.2 Tuần 2

Nội dung:

● Tổng quan về kiểm thử phần mềm

● Giới thiệu về Scrum & quy trình phát triển phần mềm của công ty

● Cách làm việc trong công ty Nhật (HORENSO)

● Giới thiệu về test case và các kỹ thuật thiết kế test case

● Họp báo cáo tuần

Kết quả: Hiểu được tổng quan về kiểm thử phần mềm, cách làm việc của công

ty, Scrum Team, và các kỹ thuật quan trọng trong việc thiết kế testcase

2.2.3 Tuần 3

Nội dung:

● Hướng dẫn cách đọc requirement/spec

● Tự đọc/tìm hiểu về requirement và spec

● Hướng dẫn cách viết test case/checklist

● Thực hành viết test case/ checklist theo yêu cầu

● Thực hành viết checklist

● Chia sẻ văn hoá của công ty Cybozu

● Họp báo cáo tuần

Kết quả: Hiểu được các đọc requirement, viết được test case, checklist cho sản phẩm Garoon của công ty

Trang 12

2.2.4 Tuần 4

Nội dung:

● Cách báo cáo lỗi hiệu quả

● Thực hành kiểm tra theo test case, tìm lỗi và báo cáo lỗi

● Tìm hiểu về Web application, IIS và Apache

● Thực hành cài đặt server garoon trên window với IIS

● Họp báo cáo tuần

Kết quả: Học được cách báo cáo lỗi, kiểm tra lỗi theo testcase, kiến thức về web application và cách thức setup một server

2.2.5 Tuần 5

Nội dung:

● Giới thiệu về lĩnh vực Security Testing

● TÌm hiểu về XSS, CSRF, SQL Injection và áp dụng vào thực hành

● Overview về automation và tìm hiểu về Selenium IDE

● Họp báo cáo tuần

Kết quả: Hiểu thêm về security testing, hiểu được thế nào là automation và cách sử dụng Selenium IDE.

2.2.6 Tuần 6

Nội dung:

● Set up và tìm hiểu về Visual Studio Code, Node Js và npm

● Thuyết trình về các vấn đề đã tìm hiểu

● Họp báo cáo tuần

Kết quả: Có kiến thức tổng quát về Visual Studio Code, Node Js và npm

Trang 13

2.2.7 Tuần 7

Nội dung:

● Tìm hiểu về WebDriverIO

● Mocha Framework

● Chai Assertion Lib

● Test script development

● Review, fix issue

● Họp báo cáo tuần

Kết quả: Học được cách code automation test, cách sử dụng thư viện và được nhận feedback của mentor về code để có thể code tốt hơn trong tương lai

2.2.8 Tuần 8

Nội dung:

● Tìm hiểu và thực hành về POM trong WebDriverIO

● Thuyết trình về những gì đã tìm hiểu

● Họp báo cáo tuần

Kết quả: Biết được cách thức hoạt động của POM trong WebDriverIO

2.2.9 Tuần 9

Nội dung:

● Tìm hiểu tiếp về Web application nâng cao

● Thực hành cài đặt garoon server trên Linux thông qua Apache

● Họp báo cáo tuần

Kết quả: Hiểu thêm về web application và biết được cách thiết lập và cài đặt Garoon trên Linux

Trang 14

2.2.10 Tuần 10

Nội dung:

● Tìm hiểu về multi remote và multi-browser trong WebDriverIO

● Thực hành viết script cho những gì đã tìm hiểu

● Họp báo cáo cuối khoá và chia tay

Kết quả: Hiểu thêm về multi remote và multi-browser trong WebDriverIO

2.3 Tham gia dự án thực tế

2.3.1 Viết testcase cho Garoon

2.3.1.1 Kỹ thuật áp dụng

● Phân vùng tương đương: là kỹ thuật thực hiện test theo từng class

có cùng một kết quả xử lý, tập hợp thời gian có cùng một kết quả xử lý, tập hợp kết quả export được xử lý cùng một giá trị nhập.

Phương pháp phân tích giá trị biên: sẽ đưa ra các giá trị đặc biệt, bao

gồm loại dữ liệu, giá trị lỗi, bên trong, bên ngoài biên giá trị, lớn nhất và nhỏ nhất.

Bảng quyết định: hỗ trợ lựa chọn test case một cách có hệ thống và có

nhiều lợi ích trong việc nhận biết vấn đề tiềm ẩn và sự không rõ ràng trong bản đặc tả yêu cầu Phương pháp này quyết định số testcase tối thiểu với độ bao phủ tối đa

Đoán Lỗi: không có quy tắc rõ ràng để kiểm thử, test case có thể được

thiết kế tùy thuộc vào tình hình, hoặc hoặc luồng công việc trong các tài liệu mô tả chức năng hoặc khi một lỗi không mong muốn / không được

mô tả trong tài liệu được tìm thấy trong khi hoạt động kiểm thử Phương

Trang 15

pháp này sẽ dựa vào kinh nghiệm của Tester(QA) để phân tích và xác định các lỗi có thể xảy ra sau đó viết các ca kiểm thử để đưa ra các lỗi đó

Trang 16

2.3.1.3 Quá trình thực hiện

● Hiểu Yêu Cầu: Trước khi bắt đầu viết test case, kiểm thử viên cần hiểu rõ yêu

cầu chức năng và phi chức năng của ứng dụng Điều này bao gồm việc đọc tài liệu yêu cầu, họp với nhóm phát triển, và đảm bảo rằng mọi đặc tả đã được hiểu đúng

● Xác định Kịch bản Kiểm thử: Dựa trên yêu cầu, kiểm thử viên sẽ xác định các

Trang 17

kịch bản kiểm thử cần được thực hiện Mỗi kịch bản kiểm thử là một tình huống hay hoàn cảnh cụ thể mà người kiểm thử muốn kiểm tra.

● Chuẩn bị Dữ liệu Kiểm thử: Kiểm thử viên cần chuẩn bị dữ liệu cần thiết cho

các kịch bản kiểm thử Điều này có thể bao gồm tạo các bản ghi trong cơ sở

dữ liệu, chuẩn bị dữ liệu đầu vào, và thiết lập môi trường kiểm thử

● Viết Test Case: Việc viết test case bao gồm mô tả chi tiết về các bước cần thực

hiện để kiểm thử một chức năng cụ thể Mỗi test case cần mô tả các bước cụ thể, dữ liệu đầu vào, và kết quả mong đợi Các bước cần được viết một cách

rõ ràng và dễ hiểu

● Sử dụng Template Test Case: Việc sử dụng một template test case chuẩn giúp

đảm bảo rằng mọi test case đều có định dạng và cấu trúc nhất định Template thường bao gồm các phần như Tiêu đề, Mục mô tả, Bước thực hiện, Dữ liệu kiểm thử, Kết quả mong đợi, và Ghi chú

● Kiểm thử Độc lập: Sau khi test case đã được viết, kiểm thử viên thường kiểm

thử độc lập để đảm bảo rằng mọi bước là chính xác và kết quả đúng như mong đợi

● Đánh giá và Điều chỉnh: Test case cần được đánh giá và điều chỉnh đều đặn

để đảm bảo tính hiệu quả và tính đầy đủ của chúng Điều này bao gồm việc cập nhật test case khi có thay đổi yêu cầu hoặc mã nguồn

2.3.1.4 Kết quả

Đảm bảo tính chính xác và đầy đủ của quá trình kiểm thử Mỗi bước kiểm thử được mô tả chi tiết, từ dữ liệu đầu vào đến kết quả mong đợi, giúp tránh bỏ sót bất kỳ khía cạnh nào của chức năng mention trong comment trong app Scheduler

2.3.1.5 Thuận lợi

● Do đã có kinh nghiệm phát triển nhiều hình thức website trong quá trình học tập và làm đồ án tại trường nên việc tiếp cận và mindset để viết

Trang 18

testcase cho 1 web app khá dễ dàng.

● Kỹ năng trình bày ngắn gọn, súc tích, từ ngữ viết testcase đi đúng trọng tâm nên những người thực hiện test bug có thể dễ dàng theo dõi theo tài liệu.

2.3.1.6 Khó khăn

● Do lần đầu tiên tiếp xúc với testcase nên vẫn chưa biết hướng đi thích hợp trong việc viết testcase như thế nào là hợp lý, dẫn đến nhiều lúc bị lang mang, đi sai vấn đề và scope của yêu cầu.

● Chưa quen với template của công ty nên còn khó khăn trong việc viết.

● Có quá nhiều luồng riêng biệt nên đôi khi viết testcase còn bị thiếu một vài case quan trọng.

2.3.2 Automation test cho app Đặt lịch

2.3.2.1 Kỹ thuật áp dụng

JavaScript là ngôn ngữ lập trình được nhà phát triển sử dụng để tạo

trang web tương tác Từ làm mới bảng tin trên trang mạng xã hội đến hiển thị hình ảnh động và bản đồ tương tác, các chức năng của

JavaScript có thể cải thiện trải nghiệm người dùng của trang web Là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong những công nghệ cốt lõi của World Wide Web Ví dụ: khi duyệt internet, bất cứ khi nào bạn thấy quảng cáo quay vòng dạng hình ảnh, menu thả xuống nhấp

để hiển thị hoặc màu sắc phần tử thay đổi động trên trang web cũng chính là lúc bạn thấy các hiệu ứng của JavaScript.

WebDriverIO là một tiện ích kiểm thử với mã nguồn mở sử dụng ngôn

ngữ NodeJS

Trang 19

o Nó giúp bạn viết các bài kiểm tra test bằng javascripts trong

2.3.2.2 Mô tả dự án

Thực hiện viết automation test cho feature tạo cuộc họp trong app Schedule của Garoon

Trang 20

Một vài hình ảnh về source code script automation:

Trang 22

2.3.2.3 Quá trình thực hiện

● Xác định Phạm Vi Automation: Trước hết, cần xác định rõ phạm vi của

việc automation test Điều này bao gồm việc quyết định những kịch bản kiểm thử nào nên được tự động hóa và những kịch bản nào nên duy trì làm kiểm thử thủ công.

● Chọn Công Cụ Automation: Chọn công cụ automation phù hợp với yêu

cầu của dự án Các công cụ như Selenium, Appium, JUnit, TestNG, hoặc Cucumber là những lựa chọn phổ biến Sự chọn lựa này cần dựa trên ngôn ngữ lập trình sử dụng trong dự án, tính năng của ứng dụng, và nhu cầu kiểm thử cụ thể.

● Thiết Lập Môi Trường Automation: Thiết lập môi trường automation

bao gồm cài đặt và cấu hình công cụ automation, khởi tạo dự án

automation, và đảm bảo rằng tất cả các thành phần cần thiết như driver, frameworks, và thư viện đều được cài đặt đúng.

● Phân tích và Thiết Kế Test Cases: Chuyển đổi các test cases từ dạng thủ

Ngày đăng: 15/05/2024, 09:10

TỪ KHÓA LIÊN QUAN

w