Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
658,02 KB
Nội dung
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 PHÁT TRIỂN CÔNG CỤ KIỂM THỬ TỰ ĐỘNG Công ty thực tập : Công ty TNHH LogiGear Việt Nam Người phụ trách : Hoàng Nguyễn Khắc Duy Thực tập sinh : Phan Lê Quang TP Hồ Chí Minh, tháng 01 năm 2021 Phan Lê Quang LỜI MỞ ĐẦU Với tốc độ phát triển vượt bậc ngành công nghệ phần mềm theo nhu cầu làm phần mềm số lượng phần mềm ngày tăng Không thế, chất lượng phần mềm dần trở thành yếu tố thiết yếu phần mềm Để đo lường rà sốt chất lượng phần mềm kiểm thử Vậy vấn đề đặt liệu kiểm thử thủ cơng có thật đạt hiệu tối ưu ? Có cách để tăng tốc độ kiểm thử, tiết kiệm nguồn nhân lực tối ưu chi phí ? Thật vậy, đáp án “Kiểm thử tự động” Trong phạm vi môn “Thực tập doanh nghiệp” , em xin giới thiệu “Kiểm thự tự động “ nói chung q trình làm việc em Công ty TNHH LogiGear Việt Nam Sau bốn năm học tập trường, muốn học hỏi them nhiều kiến thức thực tế muốn trải nghiệm mơi trường doanh nghiệp Vì vậy, em định chọn LogiGear môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực dự định Phan Lê Quang LỜI CẢM ƠN Đầu tiên, em trân trọng gửi lời cảm ơn tới công ty LogiGear Việt Nam tạo điều kiện cho em có hội thực tập cơng ty Chỉ vịng thời gian ngắn chưa đầy tháng mà Anh/Chị mentor công ty tận tình dạy cho em nhiều kiến thức bổ ích , khơng kiến thức chun mơn kiểm thử tự động, kỹ lập trình, cơng nghệ, mà em đào tạo kỹ mềm: kỹ thuyết trình, kỹ làm việc nhóm quan trọng kỹ nghiên cứu giải vấn đề Đặc biệt, em chân thành cảm ơn dẫn dắt nhiệt tình anh Phạm Đỗ Huy Hồng (Technical Lead nhóm em), em học hỏi nhiều từ kỹ giải vấn đề kỹ nghiên cứu sử dụng công nghệ từ Anh Bên cạnh đó, em khơng quên cảm ơn giúp đỡ Anh Phạm Nguyên Trình (Product Owner), Anh Hồng Nguyễn Khắc Duy (Scrum Master), Anh Ngơ Hồng Minh (Giám Đốc) dạy em nhiều điều tư làm sản phẩm, kỹ ước lượng cơng việc phân tích vấn đề Em may mắn dự nhiều buổi họp Anh xem Anh phân tích vấn đề, lập kế hoạch, giải vấn đề, cải thiện sản phẩm đặc biệt tư Agile để làm sản phẩm chuyển giao nhanh Cũng xin cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Cũng xin cảm ơn thầy cô khoa Cơng nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Phan Lê Quang TpHCM, ngày 06 tháng 01 năm 2021 Phan Lê Quang NHẬN XÉT CỦA KHOA Phan Lê Quang MỤC LỤC Contents Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty LogiGear Sản phẩm công ty Chương 2: Nội dung thực tập Tìm hiểu cơng ty kỹ công ty Tìm hiểu quy trình cách thức làm việc Nghiên cứu kỹ thuật 10 3.1 Các công cụ làm việc 10 3.2 Tìm hiểu project tham gia 11 3.3 Tìm hiểu cơng nghệ & kỹ thuật liên quan 11 Thực dự án 14 Lịch làm việc 14 Chương 3: Chi tiết dự án 15 1.1 Giới thiệu dự án 15 Chi tiết tính 16 Thực 16 Kế hoạch 17 TÀI LIỆU THAM KHẢO 18 TỔNG KẾT 19 Phan Lê Quang Chương 1: Giới thiệu cơng ty thực tập Giới thiệu công ty LogiGear LogiGear thành lập Thung lũng Silicon vào năm 1994 nhà lãnh đạo hàng đầu ngành kiểm thử phần mềm Trụ sở đặt Thung lũng Silicon Bên cạnh phần lớn nhân viên kiểm thử phần mềm l Thành phố Hồ Chí Minh Đà Nẵng, Việt Nam Được vinh danh top công ty phát triển nhanh năm 2009 (2009’s Fastest Growing Companies) Inc 500|5000, Silicon Valley Business Journal and the San Francisco Business Times Sản phẩm cơng ty • Test Architect Là tảng tích hợp kiểm thử tự động tập trung vào việc mở rộng phạm vi kiểm thử suất Vì tool kiểm thử “ít code”, nên Test Architect giúp cho tester tất cấp độ dễ tiếp thu sử dụng để kiểm thử tự động • Gondola Studio Phan Lê Quang Gondola Studio tảng tích hợp kiểm thử tự động cho ứng dụng đại chạy Android & iOS, trình duyệt thiết bị di động trình duyệt máy tính với điểm bật sau : Chương 2: Nội dung thực tập Đợt thực tập với chủ đề “Phát triển công cụ Kiểm thử tự động” nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình ứng dụng kiểm thử kỹ kiểm thử liên quan Tại cơng ty, sinh viên có hội học tập, khám phá làm việc môi trường kiểm thử chun nghiệp Tìm hiểu cơng ty kỹ công ty Thời gian : ngày Nội dung : • Giới thiệu cơng ty, q trình thành lập 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ơng ty • Giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email cơng việc… • Giới thiệu team sản phẩm thực Đồng thời bàn giao công việc, set up máy môi trường để làm việc Kết : • Hiểu thêm cơng ty LogiGear, q trình thành lập phát triển Có thêm kỹ việc sử dụng email cơng việc, tác phong làm việc có kế hoạch, có kỷ luật, có trách nhiệm • Biết cách đọc document để cài đặt máy môi trường cho phù hợp với u cầu cơng việc Tìm hiểu quy trình cách thức làm việc Thời gian : tuần Nội dung : • Được đào tạo Agile: Phan Lê Quang o Định nghĩa: phương thức phát triển phần mềm linh hoạt, ứng dụng quy trình phát triển phần mềm với mục tiêu đưa sản phẩm đến tay người dùng nhanh tốt o Tôn Agile : ▪ Cá nhân tương hỗ quan trọng quy trình cơng cụ: Trọ ng tâm đặt lên người, xây dựng tương tác hỗ trợ t hành viên nhóm Những thành viên có lực, chịu tương trợ công việc mang đến thành công cho dự án ▪ Sản phẩm dùng tốt tài liệu đầy đủ: Tập trung thời gian đ ể làm phần mềm hoàn chỉnh đáp ứng hoàn hảo yêu cầu khách h àng ▪ Cộng tác với khách hàng quan trọng đàm phán hợp đồng: Hiể u khách hàng cần để tư vấn điều chỉnh sản phẩm thay dựa vào điều khoản hợp đồng ▪ Phản hồi thay đổi bám sát kế hoạch: Agile khuyến khích thích nghi với thay đổi, thay đ ổi công nghệ, nhân sự, deadline, o Đặc trưng Agile : ▪ Đáp ứng tồn diện nhu cầu khách hàng thơng qua việc giao hàng sớm sản phẩm có giá trị ▪ Thay đổi u cầu chào đón, chí muộn t rình phát triển ▪ Giao phần mềm chạy cho khách hàng cách thường xuyê n ▪ Nhà kinh doanh kỹ sư phần mềm cần làm việc t rong suốt dự án ▪ Xây dựng dự án xung quanh cá nhân có động lực Cung cấp hỗ trợ cần thiết, mơi trường làm việc niềm tin để hồn thành công việc ▪ Trao đổi trực tiếp cách truyền đạt thông tin hiệu ▪ Thước đo tiến độ phần mềm chạy tốt ▪ Phát triển liên tục bền vững ▪ Cải tiến linh hoạt cách quan tâm đến kỹ thuật thiết kế ▪ Nghệ thuật tối đa hóa lượng công việc chưa xong Sự đơn giản cần thiết ▪ Nhóm tự tổ chức ▪ Thích ứng thường xun với thay đổi Phan Lê Quang Kết : ▪ Hiểu lý công ty áp dụng Agile ▪ Điểm khác biệt Agile quy trình phát phần mềm cũ waterfall Agile Waterfall Nó tách vịng đời phát triển dự án thành chạy nước Quá trình phát triển phần mềm rút chia thành giai đoạn riêng biệt Nó theo cách tiếp cận gia tăng Phương pháp thác nước trình thiết kế Phương pháp nhanh biết đến với tính linh hoạt Thác phương pháp phát triển phần mềm có cấu trúc nên hầu hết thời gian cứng nhắc Agile coi sưu tập nhiều Phát triển phần mềm hoàn dự án khác thành dự án Agile phương pháp linh hoạt cho phép Khơng có phạm vi thay đổi yêu cầu thay đổi thực yêu cầu phát phát triển dự án bắt đầu triển dự án kế hoạch ban đầu hoàn thành Phương pháp nhanh , theo cách tiếp cận phát Tất giai đoạn phát triển dự án triển lặp lại quy hoạch, phát triển, tạo mẫu thiết kế, phát triển, thử nghiệm, vv giai đoạn phát triển phần mềm khác xuất hồn thành lần mơ nhiều lần hình Thác Kế hoạch kiểm tra xem xét sau lần chạy nước rút Kế hoạch kiểm tra thảo luận giai đoạn thử nghiệm Phát triển nhanh trình yêu Phương pháp lý tưởng cho cầu dự kiến thay đổi phát triển dự án có yêu cầu định thay đổi không mong đợi Trong phương pháp Agile, thử nghiệm thực đồng thời với phát triển phần mềm Trong phương pháp này, giai đoạn "Thử nghiệm" xuất sau giai đoạn Phan Lê Quang Agile Waterfall "Xây dựng" Agile giới thiệu tư sản phẩm, nơi sản phẩm Mơ hình cho thấy tư dự phần mềm đáp ứng nhu cầu khách hàng cuối án đặt trọng tâm hồn tồn thay đổi theo nhu cầu khách vào việc hoàn thành dự án hàng Agat methdology hoạt động đặc biệt tốt với Time Giảm rủi ro hợp đồng giá cố & Materials tài trợ khơng cố định Nó định công ty cách nhận làm tăng căng thẳng kịch giá cố thỏa thuận rủi ro vào đầu q trình định Thích nhóm nhỏ chuyên dụng với mức độ phối hợp đồng hóa cao Phối hợp / đồng hóa nhóm hạn chế Chủ sở hữu sản phẩm với nhóm chuẩn bị yêu cầu ngày dự án Phân tích kinh doanh chuẩn bị yêu cầu trước bắt đầu dự án Đội kiểm tra tham gia vào yêu cầu thay Thật khó để thử nghiệm bắt đầu đổi mà khơng có vấn đề thay đổi yêu cầu Mô tả chi tiết dự án thay đổi lúc Mơ tả chi tiết cần thực phương trình SDLC pháp tiếp cận phát triển phần mềm thác nước Các thành viên Nhóm Agile hốn đổi cho nhau, đó, chúng hoạt động nhanh Cũng không cần thiết cho nhà quản lý dự án dự án quản lý tồn nhóm Trong phương pháp thác nước, quy trình ln đơn giản vậy, người quản lý dự án đóng vai trò thiết yếu giai đoạn SDLC ▪ Nắm tư tưởng Agile Nghiên cứu kỹ thuật 3.1 Các công cụ làm việc Thời gian : tuần Phan Lê Quang Nội dung : Tìm hiểu cơng cụ sử dụng trình làm việc Trong thời gian này, trainer hướng dẫn thực tập sinh tìm hiểu cơng cụ giúp ích cho công việc sau Một số phần mềm số : • GIT: cơng cụ quản lý mã nguồn • Visual Studio Code : cơng cụ lập trình • Cơng cụ giao tiếp Rocket.Chat cơng cụ nội công ty 3.2 Thực : Thực hành sử dụng phần mềm nêu Kết : Lập trình sử dụng cơng cụ miễn phí, giúp dễ dàng kết hợp cơng cụ với nhau, so với việc dùng IDE nặng nề Tìm hiểu project tham gia Thời gian tuần Nội dung : • Được giới thiệu sản phẩm Gondola Studio công cụ kiểm thử tự động giúp bạn viết testscript thông qua giao diện đơn giản khơng cần nhiều kiến thức lập trình, với điểm bật sau : ▪ Giao diện thân thiện ▪ Hỗ trợ đa tảng ▪ Dễ dàng tùy chỉnh ▪ Dễ dàng tích hợp vào dịch vụ đám mây đại Thực : - Tham gia đầy đủ buổi training công ty - Làm thực hành, kiểm tra kiến thức học Kết : - 3.3 Bước đầu hiểu biết Gondola Studio Được sử dụng qua chức Gondola Studio Được tiếp xúc với công nghệ DevOps đại Tìm hiểu cơng nghệ & kỹ thuật liên quan Nội dung: - Ngơn ngữ lập trình Javascript/Typescript o TypeScript dự án mã nguồn mở phát triển Microsoft, coi phiên nâng cao Javascript việc bổ sung tùy chọn kiểu tĩnh lớp hướng đối Phan Lê Quang tượng mà điều khơng có Javascript TypeScript sử dụng để phát triển ứng dụng chạy client-side (Angular2) server-side (NodeJS) o Ngoài học khái niệm Typecript học kỹ thuật lập trình cho code dễ bảo trì/sửa chữa Bên cạnh cịn học kỹ thuật nâng cao : Design pattern, Dependency Injection, xây dựng kiến trúc phần mềm,… - ReactJS o Định nghĩa : ReactJS hiểu nôm na thư viện có chứa nhiều JavaScript mã nguồn mở cha đẻ ReactJS ơng lớn với tên biết Facebook Mục đích việc tạo ReactJS để tạo ứng dụng website hấp dẫn với tốc độ nhanh hiệu cao với mã hóa tối thiểu Và mục đích chủ chốt ReactJS website sử dụng ReactJS phải chạy thật mượt thật nhanh có khả mở rộng cao đơn giản thực o Được tìm hiểu thực hành khái niệm liên quan ReactJS ▪ JSX ▪ Render element ▪ Component ▪ State Props ▪ Life cycle ▪ Form ▪ Handle event ▪ Error handler ▪ React hook Phan Lê Quang ▪ Cách viết React với Typescript Thực : - Tham gia đầy đủ buổi trainning Làm tập thực hành Tìm kiếm tài liệu mạng để tìm hiểu thêm Thử fix vài bug sản phẩm Kết : - Hiểu khái niệm ReactJS - Cách làm sản phẩm với ReactJS điểm cần lưu ý - Redux - Định nghĩa : Redux js thư viện Javascript giúp tạo thành lớp quản lý trạng thái ứng dụng Redux xây dựng dựa tảng tư tưởng ngôn ngữ Elm kiến trúc Flux Facebook giới thiệu - Được tìm hiểu thực hành kiến trúc Redux Giống kiến trúc Flux, có component view (của React) gửi Action Action tương tự gửi từ phần khác hệ thống Action gửi đến trung tâm mà trực tiếp đến Store Đây điểm khác biệt lớn Redux Flux Logic định liệu thay đổi trực tiếp hàm gọi Reducers Khi Store nhận Action u cầu Reducers thơng tin State cập nhập cách gửi state Phan Lê Quang thơng tin Action Sau Reducers cần trả State với định dạng Immutable Sau Store tiếp tục thực cập nhập State nội Và bước cuối cùng, React Component thực render lại Thực : - Tham gia đầy đủ buổi trainning Làm tập thực hành Kết : - Hiểu khái niệm Redux Sử dụng Redux Thực dự án Sau tháng training ReactJS, Typescript,… trainer cho phép em bắt đầu tham gia vào dự án từ bước nhất, cụ thể phần lịch làm việc Thời gian : ~ tuần Lịch làm việc Tuần Công việc - - - - Tìm hiểu phần mềm quản lý source code công ty Làm quen với công cụ làm việc công ty Học cách trao đổi, làm việc qua email Tìm hiểu sâu Typescript để áp dụng vào án Tìm hiểu Visual Studio Code cách xây dựng extension cho Người hướng dẫn Mức độ hoàn thành Nhận xét người hướng dẫn Anh Hoàng Nguyễn Khắc Duy Anh Phạm Đỗ Huy Hoàng Phan Lê Quang 8 Visual Studio Code - Đọc hiểu nghiên cứu source code project - Vẽ class diagram/ Sequence diagram/ Activity diagram project thuyết trình trước nhóm - Tiếp nhận source code components liên quan tìm hiểu cách tích hợp tất components lại với tương tác chúng - Viết chức liên quan quản lý liệu - Tìm hiểu Unittests viết Unittests cho components - Fix bug cũ Anh Phạm Đỗ Huy Hoàng Anh Phạm Đỗ Huy Hoàng Anh Phạm Đỗ Huy Hoàng Anh Phạm Đỗ Huy Hoàng Anh Phạm Đỗ Huy Hồng -Xây dựng thêm tính Anh Phạm Đỗ Huy “Test Execution” Hoàng Anh Phạm Đỗ Huy - Fix bug sinh từ Hồng tính - Tiếp nhận feedback cải tiến - Báo cáo cuối đợt thực tập Chương 3: Chi tiết dự án Giới thiệu dự án Phan Lê Quang Gondola công cụ kiểm thử tự động với tính tạo test-script thơng qua giao diện khơng cần kiến thức lập trình nhiều Gondola xây dựng dạng extension Visual Studio Code hỗ trợ đa tảng Bên cạnh Gondola cịn có tính kèm : - Test Builder : Xây dựng test-script mobile cách tự động - Test execution : Chạy test thông qua giao diện - Gondola cịn cung cấp khả tích hợp dễ dàng với công nghệ DevOps đại 1.1 Chi tiết tính Giao diện Gondola Thực - Phan Lê Quang Và giúp đỡ tận tình team trainer : - Anh Hồng Nguyễn Khắc Duy - Anh Phạm Nguyên Trình - Anh Phạm Đỗ Huy Hoàng Phan Lê Quang - Tất người team Gondola Kế hoạch Trong thời gian thực tập em may mắn trải qua phiên - Gondola 1.5 - Gondola 1.6 - Gondola 2.0 (Đang thực hiện) Phan Lê Quang TÀI LIỆU THAM KHẢO o o o o o o o o Typescript : https://www.typescriptlang.org/ ReactJS : https://reactjs.org/ ReactJS Tutorial : https://flaviocopes.com/ Design pattern : https://refactoring.guru/ Ant Design : https://ant.design/ Redux : https://redux.js.org/ Webpack : https://webpack.js.org/ VS Code extension : https://code.visualstudio.com/api Phan Lê Quang TỔNG KẾT Như vậy, vịng ba tháng ngắn ngủi, nhóm kịp hồn thành ba phiên Gondola hồn thiện tính Gondola sẵn sàng để đưa đến người dùng sử dụng Chân thành cảm ơn giúp đỡ anh chị nhóm trainer LogiGear, nỗ lực nhóm Gondola để hồn thành phần mềm Chúc LogiGear nói chung Gondola nói riêng ngày phát triển giữ vững vị ngành kiểm thử phần mềm Phan Lê Quang ... tích hợp kiểm thử tự động tập trung vào việc mở rộng phạm vi kiểm thử suất Vì tool kiểm thử “ít code”, nên Test Architect giúp cho tester tất cấp độ dễ tiếp thu sử dụng để kiểm thử tự động • Gondola... ? ?Phát triển công cụ Kiểm thử tự động? ?? nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình ứng dụng kiểm thử kỹ kiểm thử liên quan Tại công ty, sinh viên có hội học tập, khám phá làm... hợp kiểm thử tự động cho ứng dụng đại chạy Android & iOS, trình duyệt thiết bị di động trình duyệt máy tính với điểm bật sau : Chương 2: Nội dung thực tập Đợt thực tập với chủ đề ? ?Phát triển công