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

26 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo thực tập qa manual tester

Đ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

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM

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òncơ 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

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ăm2024

Võ Đặng Thiện Khải

Trang 5

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.3.1 Viết testcase cho Garoon

2.3.2 Automation test cho app Đặt lịch

Trang 6

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP1.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ờivà 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ỉnhvà 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/2023Thờ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 17h30Thời gian nghỉ

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ẬP2.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ệmhơn.

2.2 Nghiên cứu kỹ thuật[Tham khảo]

2.2.1 Tuần 1

Nội dung:

1 Giới thiệu về công ty, môi trường làm việc và chương trình internshiptraining

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âuhơ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 QA7 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

● 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ảnphẩ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à đượcnhậ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 đặtGaroon 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ìnhhọ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 framework TDD hoặc BDD

o Về cơ bản, nó sẽ gửi các yêu cầu đến máy chủ Selenium thông quaGiao thức WebDriver và xử lý phản hồi của nó.

o Các yêu cầu này được bao bọc trong các lệnh hữu ích và có thể được sử dụng để kiểm tra một số khía cạnh của trang web của bạntheo cách tự động.

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ủ

Trang 23

công sang dạng automation Phân tích và thiết kế các test script theo cú pháp và cấu trúc của ngôn ngữ lập trình sử dụng Xác định dữ liệu cần thiết và các bước thực hiện.

● Viết Automation Scripts: Viết automation scripts theo các test cases đã

thiết kế Scripts này nên được viết một cách cẩn thận để đảm bảo tính ổn định và linh hoạt Sử dụng các hàm và thư viện để giảm sự lặp lại và tăng tính bảo trì.

● Chạy và Kiểm Tra Automation Scripts: Chạy automation scripts và kiểm

tra kết quả Đảm bảo rằng scripts chạy đúng, và kết quả được so sánh với kết quả mong đợi Nếu có lỗi, debug và sửa chúng để scripts chạy đúng.

Trang 24

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

Quãng thời gian thực tập tại Cybozu đã giúp em cải thiện bản thân rất nhiềutrong quy trình làm việc thực tế, tác phong của người kỹ sư phần mềm Đượclàm việc tại đây, em đã học thêm được kỹ năng mềm sử dụng mail, quản lýticket, làm việc nhóm, giao tiếp với cấp trên, …

Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trong quá trìnhtraining với các tính năng, yêu cầu đặt ra ban đầu

Khi tham gia vào dự án thực tế, em cũng hoàn thành tốt các tác vụ đúng hạn vàđạt chất lượng tốt.

3.1 Điểm mạnh

● Giao tiếp tốt với nhóm

● Hoàn thành tốt nhiệm vụ dưới tư cách 1 leader● Tìm hiểu nhanh các đề tài khó mà mentor đề xuất

● Chủ động đưa ra các ý tưởng nhằm mở rộng đề tài để đạt được những điểm cộng trong quá trình thực tập

Mục tiêu môn học

G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp

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

Tài liệu cùng người dùng

Tài liệu liên quan