TỔNG QUAN VỀ CÔNG TY VA ̀ CƠ SỞ LY ́ THUYÊ ́ T
Giới thiệu tổng quan về doanh nghiệp thực tập
1.1.1 Tổng quan về doanh nghiệp
TMA Bình Định, thành lập vào tháng 6 năm 2018, là một công ty thành viên của tập đoàn công nghệ hàng đầu Việt Nam - TMA, với đội ngũ 4000 kỹ sư và khách hàng từ 30 quốc gia TMA hiện có 7 chi nhánh tại Việt Nam, bao gồm 6 tại TP.HCM và 1 tại TP Quy Nhơn, cùng với 6 chi nhánh quốc tế tại Mỹ, Úc, Canada, Đức, Nhật Bản và Singapore Với 25 năm phát triển vững mạnh, TMA Bình Định đang khẳng định vị thế trong lĩnh vực CNTT tại tỉnh Bình Định, đóng góp vào việc xây dựng Thung Lũng Sáng tạo Quy Nhơn thành trung tâm khoa học và công nghệ cao của miền Trung.
Hình 1.1.1 Logo công ty TMA Solutions Bình Định
1.1.2 Tầm nhìn, sứ mệnh, giá trị cốt lõi
Tầm nhìn: Trở thành 1 trong những công ty hàng đầu về cung cấp giải pháp phần mềm tại Việt Nam và các nước trong khu vực
Sứ mệnh của chúng tôi là cung cấp cho khách hàng những giải pháp phần mềm chất lượng cao với chi phí hợp lý, đồng thời xây dựng mối quan hệ tin cậy và uy tín với các đối tác trong lĩnh vực công nghệ thông tin để cùng nhau phát triển.
Giá trị cốt lõi của TMA Bình Định thể hiện rõ qua khả năng làm việc và cam kết vững bền, bất chấp những thách thức trong suốt nhiều năm qua.
3 chất lượng đối với khách hàng Để có được những thành công đó, TMA đã và đang duy trì phát triển những giá trị cốt lõi:
Hình 1.1.2 Sơ đồ cơ cấu tổ chức TMA Solutions Bình Định
- CEO: Giám đốc điều hành của công ty
- Board of Advisors: Cố vấn cho công ty
- Delivery Centers: Trung tâm chuyển giao sản phẩm cho khách hàng
- TMA Mobile Solutions (TMS): Phát triển ứng dụng di động
- ICT R&D Center (iRDC - Information and Communications Technology
Research & Development Center): Trung tâm nghiên cứu và phát triển công nghệ thông tin và truyền thông
- TMA Training Center (TTC): Trung tâm đào tạo nhân lực
- Student Development Center (SDC): Có nhiệm vụ liên kết với sinh viên, nhận sinh viên thực tập tại công ty nhằm thu hút và bồi dưỡng nhân tài
Tăng cường quan hệ với khách hàng hiện tại và mở rộng mạng lưới khách hàng mới tại các thị trường tiềm năng như Mỹ, Úc, Canada, Đức, Nhật Bản và Singapore là một phần quan trọng trong chiến lược phát triển kinh doanh.
- Business Departments : Bộ phận hỗ trợ (HR/Admin, IT/Security , ).
Tổng quan về vị trí việc làm
1.2.1 Tìm hiểu thông tin về công việc thực tập
Công việc thực tập: Tester
Tester là những chuyên gia kiểm tra phần mềm và các dự án nhằm phát hiện lỗi, sự cố và các vấn đề tiềm ẩn mà người dùng cuối hoặc khách hàng có thể gặp phải.
1.2.2 Yêu cầu về kiến thức và kĩ năng
Kỹ năng về công nghệ
- Kiến thức cơ bản về Database/SQL
- kiến thức cơ bản về lệnh Linux
- Làm việc với các công cụ Test Management
- Làm việc với các công cụ Defect Tracking
- Kỹ thuật tổ chức và quản lý thời gian
Tổng quan về Software Testing
1.3.1 Khái niệm về Software Testing(kiểm thử phần mềm)
Kiểm thử phần mềm là quá trình thực hiện một chương trình nhằm phát hiện lỗi và xác định xem chương trình có đáp ứng yêu cầu của khách hàng hay không, từ đó đánh giá chất lượng sản phẩm.
1.3.2 Vai trò của kiểm thử phần mềm
Kiểm thử phần mềm giúp đảm bảo được chất lượng cho dự án
Khi lỗi được phát hiện và sửa chữa, phần mềm sẽ đáp ứng đúng yêu cầu của khách hàng Điều này giúp tăng cường sự tin tưởng và sự hài lòng của khách hàng đối với sản phẩm và công ty.
Xem xét và đóng góp vào kế hoạch kiểm tra, cũng như phân tích và đánh giá các yêu cầu và thông số kỹ thuật
Phát hiện lỗi sớm sẽ giúp giảm chi phí và rủi ro hơn cho dự án
1.3.3 Mục tiêu của kiểm thử phần mềm
- Tìm các lỗi phát sinh một cách nhanh chóng và chính xác nhất
- Đảm bảo rằng kết quả cuối cùng đáp ứng các yêu cầu kinh doanh và người sử dụng, đạt được sự tín nhiệm của khách hàng
- Phát triển thêm các ý tưởng mới cho dự án
1.3.4 Nguyên tắc trong kiểm thử phần mềm
- Kiểm thử nhằm chỉ ra lỗi
- Kiểm thử toàn diện là không thể
- Kiểm thử càng sớm càng tốt
- Sự tập trung của lỗi
- Nguyên lý thuốc trừ sâu
- Kiểm thử phụ thuộc vào bối cảnh
- Sự vắng mặt của lỗi
1.3.5 Vòng đời kiểm thử phần mềm
Vòng đời kiểm thử phần mềm là một quá trình có hệ thống và có kế hoạch nhằm nâng cao chất lượng sản phẩm Trong quy trình này, các hoạt động khác nhau được thực hiện để đảm bảo hiệu quả kiểm thử Mỗi bước trong vòng đời kiểm thử đều có tiêu chí đầu vào riêng, cho phép phân phối và quản lý tốt hơn.
Có sáu giai đoạn sau trong mọi mô hình vòng đời phát triển phần mềm:
• Lên kế hoạch kiểm thử
• Thiết lập môi trường kiểm thử
• Đóng quy trình kiểm thử
1.3.1 Sơ đồ vòng đời kiểm thử phần mềm
1.3.6 Phân biệt Error, Bug, Fault
Error: Lỗi là hành động của con người tạo ra kết quả không chính xác dẫn đến lỗi
Bug: Khi tester kiểm thử phần mềm và tìm ra lỗi
Fault: Khi khách hàng sử dụng phần mềm và tìm ra lỗi
1.3.7 Phân biệt Verification và Validation
Là đọc tài liệu đặc tả để kiểm thử phần mềm, xác nhận rằng sản phẩm khớp với yêu cầu của khách hàng
Là xác thực lại thực sự người dùng có hài lòng với kết quả làm ra hay không
Bảng 1.3.1 Bảng phân biệt Verification và Validation
1.3.8 Phân biệt QA và QC
Là người chịu trách nhiệm đảm bảo chất lượng sản phẩm thông qua việc đưa ra quy trình làm việc giữa các bên liên quan
Là người chịu trách nhiệm thực hiện công việc kiểm tra chất lượng phần mềm
Mục tiêu của QA là ngăn ngừa khiếm khuyết
Mục tiêu của kiểm soát chất lượng (QC) là xác định và cải thiện các khiếm khuyết, đảm bảo rằng bạn thực hiện đúng các quy trình cần thiết, và đảm bảo rằng kết quả đạt được phù hợp với mong đợi của bạn.
QA là quy trình để tạo ra phần mềm QC là quá trình để xác minh phần mềm
QA chịu trách nhiệm cho nguyên quy trình phát triển phần mềm
QC chịu trách nhiệm cho chu kỳ kiểm tra phần mềm
Bảng 1.3.2 Bảng so sánh QA & QC
Vòng đời phát triển phần mềm (SDLC)
Vòng đời phát triển phần mềm (SDLC) là quy trình quan trọng trong ngành công nghiệp phần mềm, giúp thiết kế, phát triển và kiểm tra các sản phẩm phần mềm chất lượng cao.
Mục tiêu của SDLC là phát triển phần mềm chất lượng cao, đáp ứng hoặc vượt qua mong đợi của khách hàng, đồng thời hoàn thành trong thời gian và chi phí dự kiến.
Hình 1.4.1 Mô hình Agile Model
Phương thức phát triển phần mềm Agile là một hệ thống các phương pháp lặp lại và gia tăng, trong đó yêu cầu và giải pháp được hình thành thông qua sự hợp tác giữa các nhóm tự quản và đa chức năng Agile giúp tăng tính linh hoạt trong quá trình phát triển phần mềm, nhằm đưa sản phẩm đến tay người dùng nhanh chóng và sớm nhất có thể, được coi là sự cải tiến vượt trội so với các mô hình phát triển truyền thống.
“Thác nước (waterfall)” hay “CMMI”
Scrum là phương pháp quản lý và phát triển sản phẩm phần mềm theo Agile, giúp tạo ra sản phẩm có giá trị cho khách hàng một cách nhanh chóng và linh hoạt Phương pháp này được ưa chuộng trong các dự án phần mềm phức tạp, nơi yêu cầu đáp ứng nhanh chóng với nhu cầu của khách hàng.
Phân loại kiểm thử
Kiểm thử thủ công là phương pháp kiểm thử phần mềm thực hiện bằng tay, tập trung vào việc kiểm tra các tính năng, chức năng và hiệu suất của phần mềm mà không sử dụng công cụ tự động hóa.
Kiểm thử tự động (Automation testing) là phương pháp kiểm thử phần mềm sử dụng công cụ tự động hóa để thực hiện các bài kiểm tra Các bài kiểm tra này được thiết kế và lập trình trước bởi các nhà phát triển hoặc kỹ sư kiểm thử, sau đó được thực hiện thông qua các công cụ tự động hóa.
Các kỹ thuật kiểm thử phần mềm
Việc kiểm tra không cần quan tâm vào cấu trúc nội bộ hoặc hoạt động của ứng dụng
Không cần biết về kiến trúc hệ thống và không có quyền truy cập vào source code
Người kiểm thử tương tác với giao diện người dùng của hệ thống thông qua việc cung cấp đầu vào và kiểm tra đầu ra, mà không cần hiểu cách thức và vị trí hoạt động của đầu vào.
Các loại của kiểm thử hộp đen:
• Kiểm thử chấp nhận Ưu điểm
• Phù hợp và hiệu quả với các đoạn code lớn
• Không cần truy cập vào code
• Phân biệt rõ ràng quan điểm của người dùng với quan điểm của nhà phát triển thông qua các vai trò được xác định rõ ràng
Nhiều tester có kỹ năng trung bình có khả năng kiểm tra ứng dụng mà không cần am hiểu về triển khai, ngôn ngữ lập trình hay hệ điều hành.
• Phạm vi giới hạn, vì chỉ một số kịch bản thử nghiệm được chọn được thực hiện thực sự
• Kiểm tra không hiệu quả, do thực tế là tester chỉ có kiến thức hạn chế về một ứng dụng
• Tester không thể nhắm mục tiêu các đoạn mã cụ thể hoặc các khu vực dễ xảy ra lỗi
• Test cases rất khó thiết kế
Kiểm thử hộp trắng là quá trình điều tra chi tiết về logic và cấu trúc bên trong mã nguồn Để thực hiện kiểm thử này trên một ứng dụng, người kiểm thử cần hiểu rõ cách hoạt động của mã code.
Tester cần xem xét bên trong source code và tìm ra đơn vị / đoạn code nào đang hoạt động không phù hợp Ưu điểm
• Khi tester có kiến thức về source code giúp kiểm tra ứng dụng hiệu quả
• Loại bỏ các dòng code có thể gây ra các lỗi tiềm ẩn
• Mất thời gian và công sức
• Đòi hỏi người kiểm thử có kinh nghiệm và am hiểu về kiểm thử cũng như về cấu trúc bên trong của phần mềm được thử nghiệm
• Khó để duy trì kiểm thử hộp trắng, vì nó đòi hỏi các công cụ chuyên dụng
Cấp độ kiểm thử
1.7.1 Unit testing (Kiểm thử đơn vị)
Kiểm thử phần mềm bao gồm một cấp độ quan trọng, nơi các thành phần riêng lẻ của phần mềm được kiểm tra kỹ lưỡng Loại hình kiểm thử này cho phép đánh giá từng mô-đun riêng biệt, đảm bảo rằng mỗi phần hoạt động đúng chức năng của nó.
Mục đích của việc kiểm tra từng phần của phần mềm là để xác định xem các thành phần có thực hiện đầy đủ chức năng hay không Loại thử nghiệm này thường được thực hiện bởi các nhà phát triển.
1.7.2 Integration testing (Kiểm thử tích hợp)
Kiểm thử tích hợp là quá trình kiểm tra sự kết nối và tương tác giữa các thành phần khác nhau trong hệ thống, bao gồm giao diện với hệ điều hành, hệ thống tệp, phần cứng và các hệ thống khác.
1.7.3 System testing (Kiểm thử hệ thống)
Khái niệm: Là kiểm thử toàn bộ chức năng và giao diện của hệ thống
Mục đích: Đánh giá hệ thống có đáp ứng theo đúng yêu cầu nghiệp vụ, yêu cầu về chức năng đưa ra hay không
- Kiểm thử chức năng (Functional Test): Là kiểm thử toàn bộ hệ thống, đảm bảo hệ thống hoạt động đúng theo yêu cầu được đưa ra trước đó
Kiểm thử hiệu năng là quá trình đánh giá sự tuân thủ của hệ thống đối với các yêu cầu hiệu năng đã được chỉ định Qua đó, kiểm thử này giúp xác định các thuộc tính chất lượng quan trọng của hệ thống, bao gồm khả năng mở rộng và độ tin cậy.
Kiểm thử cơ sở dữ liệu (Database Test) là quá trình xác minh tính chính xác của dữ liệu hiển thị trên hệ thống so với dữ liệu lưu trữ trong cơ sở dữ liệu.
Kiểm thử khả năng bảo mật là quá trình đánh giá hệ thống nhằm đảm bảo an toàn và bảo vệ dữ liệu, thông tin khỏi các cuộc tấn công từ bên ngoài.
- Kiểm thử tính khả dụng (Usability Test): Kiểm tra tính thân thiện với người dùng và tính dễ sử dụng của hệ thống
Kiểm tra tính tương thích (Compatibility Test) là quá trình xác định xem hệ thống có tương thích với các yếu tố khác trong môi trường hoạt động của nó hay không.
Kiểm tra khả năng phục hồi (Recovery Test) là quy trình đánh giá xem hệ thống có thể khôi phục lại trạng thái ổn định sau khi gặp phải các sự cố bất thường hay không.
Sử dụng phương pháp: Kiểm thử hộp đen là phổ biến
Người thực hiện : Thường là Tester thực hiện
1.7.4 Acceptance testing (Kiểm thử chấp nhận)
Kiểm thử chấp nhận là quá trình xác định xem phần mềm có đáp ứng đầy đủ các yêu cầu của khách hàng hay không, đồng thời đánh giá xem khách hàng có đồng ý chấp nhận sản phẩm hay không.
Mục đích: Để nghiệm thu hệ thống trước khi hệ thống được đưa vào hoạt động Phân loại:
Kiểm thử Alpha là quá trình được thực hiện bởi các thành viên trong tổ chức phát triển phần mềm, thường là những người quản lý sản phẩm, nhưng không tham gia trực tiếp vào dự án Hình thức kiểm thử này diễn ra tại nơi sản xuất phần mềm và được coi là một bước kiểm thử nội bộ quan trọng trước khi phần mềm được chuyển sang giai đoạn kiểm thử Beta.
- Beta test: Được thực hiện bởi người dùng cuối cùng (thường là khách hàng)
Beta test được thực hiện tại địa điểm của khách hàng, cho phép người dùng trải nghiệm và kiểm tra hệ thống trong môi trường riêng của họ, thay vì tại nơi phát triển phần mềm.
Sử dụng phương pháp: Kiểm thử hộp đen
Người thực hiện: Khách hàng hoặc bên thứ 3
Cơ sở lý thuyết về test case
Test case là một trường hợp kiểm thử bao gồm các hành động nhằm xác minh rằng từng chức năng của ứng dụng phần mềm hoạt động đúng như mong đợi.
1.8.2 Các kỹ thuật của test case
Có 2 loại: Kỹ thuật tĩnh và kỹ thuật động
Kỹ thuật kiểm thử tĩnh là phương pháp kiểm tra các thành phần của phần mềm dựa vào tài liệu liên quan hoặc phân tích cú pháp mã nguồn, nhằm xác định tính logic mà không cần thực thi phần mềm.
Kỹ thuật kiểm thử động là phương pháp kiểm thử phần mềm nhằm đánh giá hành vi của hệ thống khi nhận các đầu vào khác nhau Mục tiêu chính của phương pháp này là xác định cách thức hoạt động của phần mềm và phát hiện các điểm yếu hoặc thiếu sót trong quá trình vận hành Điều này giúp đảm bảo rằng phần mềm hoạt động chính xác cả trong và sau khi hoàn thành mà không gặp phải lỗi nào.
PHÂN TI ́ CH HỆ THỐNG IMS
Tổng quan về hệ thống
2.1.1 Giới thiệu về hệ thống IMS
Tài liệu mô tả hệ thống IMS (Internship Management System) Hệ thống quản lý thông tin và kết quả của một khóa thực tập tại TMA Solutions Bình Định
2.1.2 Chức năng của hệ thống
- Quản lý khóa thực tập (Xem, thêm, xóa, sửa, tìm kiếm)
- Quản lý người hướng dẫn (Xem, thêm, xóa, sửa, tìm kiếm)
- Quản lý thực tập sinh (Chỉ định người hướng dẫn, xem, thêm, xóa, sửa, tìm kiếm)
- Quản lý ứng viên (Thêm, xóa, sửa, tìm kiếm)
- Đánh giá kết quả (Xem)
Hệ thống có người dùng chính là Admin.
Workflow của trang Quản lý ứng viên
Hình 2.2.1 Workflow trang quản lý ứng viên
Đặc tả yêu cầu hệ thống
2.3.1 Đặc tả yêu cầu chức năng “Quản lý ứng viên”
Tiêu đề QUẢN LÝ ỨNG VIÊN
Mô tả trang quản lý ứng viên
● Hệ thống cho phép thêm, sửa, xóa, xem, tạo lịch phỏng vấn, upload và tìm kiếm thông tin ứng viên.
● Hệ thống hiển thị các thông tin bao gồm: Họ tên, Email, Mã sinh viên, Trường, Vị trí thực tập, Kết quả, Tác vụ.
Mô tả trang kết quả phỏng vấn
Sau khi hoàn tất việc tạo "lịch phỏng vấn" trên trang "quản lý ứng viên", lịch phỏng vấn sẽ được lưu trữ trên trang "kết quả phỏng vấn" Hệ thống cung cấp các chức năng như thêm, sửa, xoá, xem và tìm kiếm để người dùng dễ dàng quản lý thông tin phỏng vấn.
● Hệ thống hiển thị các thông tin bao gồm: Họ tên, email, ngày phỏng vấn, giờ phỏng vấn, người phỏng vấn, link phỏng vấn, kết quả, tác vụ
Bảng 2.3.1 Đặc tả yêu cầu chức năng “QUẢN LÝ ỨNG VIÊN”
2.3.2 Đặc tả yêu cầu chức năng “QUẢN LÝ MENTOR”
Tiêu đề QUẢN LÝ MENTOR
Mô tả ● Hệ thống cho phép thêm, sửa, xóa.
● Hệ thống hiển thị các thông tin bao gồm: Họ tên, DG, Nơi công tác, Email, Địa chỉ, Chức vụ, Tác vụ.
Bảng 2.3.2 Bảng đặc tả chức năng yêu cầu "Quản lý Mentor"
2.3.3 Đặc tả yêu cầu chức năng “QUẢN LÝ SINH VIÊN”
Tiêu đề QUẢN LÝ SINH VIÊN
Mô tả ● Hệ thống cho phép thêm, sửa, xóa, xem.
● Hệ thống hiển thị các thông tin bao gồm: Họ tên, email, trường, trạng thái, số điện thoại, tên DG, tên mentor, Tác vụ.
Bảng 2.3.3 Đặc tả yêu cầu chức năng “QUẢN LÝ SINH VIÊN”
2.3.4 Đặc tả yêu cầu chức năng “QUẢN LÝ KHÓA THỰC TẬP”
Tiêu đề QUẢN LÝ KHÓA THỰC TẬP
Mô tả trang quản lý khoá thực tập
● Hệ thống cho phép sửa.
● Hệ thống hiển thị các thông tin bao gồm: Khoá thực tập, ngày bắt đầu, ngày kết thúc, loại thức tập, trạng thái, tác vụ.
Mô tả trang quản lý nhóm
● Hệ thống cho phép thêm, sửa.
● Hệ thống hiển thị các thông tin bao gồm: Tên DG, tác vụ.
Bảng 2.3.4 Đặc tả yêu cầu chức năng “QUẢN LÝ KHÓA THỰC TẬP”
2.3.5 Đặc tả yêu cầu chức năng “CHỌN BATCH”
Tiêu đề QUẢN LÝ KHÓA THỰC TẬP
● Hệ thống cho phép thêm, chọn khoá thực tập.
● Sau khi chọn xong khóa thực tập nhấn “XÁC NHẬN”
Bảng 2.3.5 Đặc tả yêu cầu chức năng “CHỌN BATCH”
Đặc tả giao diện phần mềm
Bảng 2.4.1 Tài khoản sử dụng
2.4.1 Quản lý ứng viên a Đặc tả màn hình
Sau khi đăng nhập thành công, người dùng sẽ thấy màn hình chọn batch Khi chọn batch, thông báo “CHÀO MỪNG BẠN ĐÃ ĐẾN VỚI BATCH…” sẽ xuất hiện Tiếp theo, người dùng chọn “Quản lý ứng viên” để truy cập giao diện quản lý ứng viên.
Hình 2.4.1 Màn hình Chọn khoá thực tập
Hình 2.4.2 Màn hình chọn Quản lý ứng viên
Hình 2.4.3 Giao diện màn hình Quản lý ứng viên b Đặc tả yêu cầu cho chức năng Thêm ứng viên
Mô tả khái quát: Cho phép người dùng thêm ứng viên vào danh sách
Nhân viên bộ phận thực tập tại công ty TMA Bình Định có thể truy cập vào giao diện Danh sách ứng viên Để thực hiện thao tác này, người dùng cần nhấn vào nút “Thêm” trước khi tiếp tục.
Hậu điều kiện: Người dùng thêm ứng viên thành công
Luồng sự kiện chính:
• Bước 1: Sau khi người dùng nhấn nút “Thêm”, hệ thống hiển thị Dialog thêm ứng viên.
Hình 2.4.4 Màn hình Thêm ứng viên
● Bước 2: Người dùng nhập đầy đủ thông tin ứng viên vào Dialog thêm mới ứng viên
● Bước 3: Nếu thành công thì màn hình sẽ hiển thị thông báo “Thêm thành công” và hiển thị danh sách thông tin ứng viên vừa thêm vào danh sách
Hình 2.4.5 Màn hình điền đầy đủ thông tin ứng viên
Hình 2.4.6 Màn hình Thêm thành công ứng viên
● Bước 4: Người dùng chọn nút “Hủy” Hệ thống sẽ hủy thao tác và trở lại giao diện Danh sách ứng viên
1 Các trường có dấu (*) là bắt buộc nhập thông tin Nếu không nhập, hệ thống sẽ hiển thị thông báo “Bạn cần nhập đủ thông tin”
2 Họ tên: Kiểu chữ, không bao gồm các ký tự đặc biệt: { !@#$%^&*() /\| “;:, }
Hệ thống hiển thị thông báo: “Tên ứng viên không chứa ký tự đặc biệt ” nếu trường này có một trong các ký tự đặc biệt trên
3 Số điện thoại: Bao gồm các chữ số từ 0-9 và có chiều dài là 10 Nếu nhập sai, hệ thống hiển thị thông báo: “Vui lòng nhập đúng định dạng”
4 Email: tên email @ tên miền Ví dụ: quynhduyen@google.com, trong đó “quynhduyen” tên email, bắt buộc phải có “@” trước tên miền là
5 Mã sinh viên: không bao gồm ký tự: { !@#$%^&*() /\| “;:, }
6 Ngành học: không bao gồm ký tự: { !@#$%^&*() /\| “;:, }
7 Trường học: không bao gồm ký tự: { !@#$%^&*() /\| “;:, }
8 Sinh viên năm: Chữ số, cao nhất là 7 Không bao gồm các ký tự:
9 Điểm TB (Hệ 10): Chỉ cho nhập số thập phân trong khoảng {0 10} Nếu nhập sai hệ thống hiển thị thông báo: “Vui lòng nhập đúng điểm”
10 Năm tốt nghiệp: Kiểu số nguyên, 4 chữ số, chấp nhận năm tốt nghiệp không nhỏ hơn năm hiện tại dành cho các bạn đã tốt nghiệp Nếu nhập sai, hệ thống hiển thị thông báo: “Năm tốt nghiệp không đúng định dạng”
11 Dự kiến tốt nghiệp: Kiểu số nguyên, 4 chữ số Năm tốt nghiệp không nhỏ hơn năm hiện tại, nếu nhập sai hệ thống hiển thị thông báo: “Năm dự kiến tốt nghiệp không nhỏ hơn năm hiện tại”
12 Môn học còn lại: Kiểu số nguyên 2 chữ số
13 Dự án đã tham gia: Tên dự án đã tham gia, chiều dài không quá 256 ký tự
14 Vị trí thực tập: Vị trí mong muốn thực tập, kiểu chữ chiều dài 128 ký tự
15 Thời gian thực tập: Có hai giá trị “8 tuần” và “12 tuần”
16 Kĩ năng: Kỹ năng hiện có, kiểu chữ, chiều dài 256 ký tự
17 Loại PC: Có hai giá trị “PC” và “Laptop”
18 Giấy chứng nhận: Giấy chứng nhận tiêm chủng covid, kiểu chữ, 128 ký tự
19 Ngày chứng nhận: Ngày được cấp giấy chứng nhận covid, phải nhỏ hơn ngày hiện tại
20 Tiêm chủng Covid: Đã tiêm hay chưa, kiểu chữ, chiều dài 64 ký tự c Đặc tả yêu cầu cho chức năng xóa ứng viên
Mô tả khái quát: Cho phép người dùng xóa ứng viên
Tác nhân: Nhân viên bộ phận thực tập cty TMA Bình định Điều kiện hoạt động: Người dùng vào giao diện Danh sách ứng viên
Tiền điều kiện: Đăng nhập thành công
Hậu điều kiện: Người dùng xóa ứng viên thành công
Luồng sự kiện chính:
Hình 2.4.7 Màn hình xác nhận xoá ứng viên
• Bước 1: Sau khi người dùng nhấn icon “Xóa”, hệ thống hiển thị popup
• Bước 2: Người dùng chọn nút “Đồng ý”
Nếu quá trình xóa thành công, màn hình sẽ hiển thị thông báo “Xóa thành công”, và thông tin của ứng viên sẽ không còn xuất hiện trong danh sách, đồng thời không thể khôi phục lại.
Người dùng chỉ cần nhấn nút “Hủy” để hủy thao tác, hệ thống sẽ tự động trở lại giao diện Danh sách ứng viên Đồng thời, cần có đặc tả yêu cầu rõ ràng cho chức năng tạo lịch phỏng vấn.
Người dùng có thể dễ dàng tạo lịch phỏng vấn cho các ứng viên thông qua giao diện Danh sách ứng viên Tính năng này được triển khai bởi nhân viên bộ phận thực tập tại công ty TMA Bình Định, giúp tối ưu hóa quy trình tuyển dụng.
Tiền điều kiện: Đăng nhập thành công
Hậu điều kiện: Người dùng vào trang “Quản lý ứng viên”
Luồng sự kiện chính:
● Bước 1 : Sau khi kích vào icon đồng hồ, Dialog “Tạo lịch phỏng vấn” sẽ hiện ra
Hình 2.4.8 Màn hình Tạo lịch phỏng vấn
● Bước 2: Người dùng nhập đầy đủ thông tin và ấn nút “Thêm”
● Bước 3: Nếu thành công hệ thống sẽ thông báo “Tạo lịch phỏng vấn thành công”
Hình 2.4.9 Màn hình Tạo lịch phỏng vấn thành công
● Bước 4: Màn hình sẽ mất thông tin ứng viên và hiển thị thông tin phỏng vấn ứng viên tương ứng lên màn hình
● Bước 5: Kết thúc quy trình
1 Các trường có dấu (*) là bắt buộc nhập thông tin Nếu không nhập, hệ thống sẽ hiển thị thông báo “Bạn cần nhập đủ thông tin”
2 Ngày phỏng vấn: ngày phỏng vấn không được nhỏ hơn ngày hiện tại Nếu nhập sai, hệ thống hiển thị thông báo “Tạo lịch phỏng vấn không thành công”
3 Time: Thời gian phỏng vấn không được từ 10h30 tối đến 9h sáng Nếu nhập sai, hệ thống hiển thị thông báo “Tạo lịch phỏng vấn không thành công”
4 Người phỏng vấn: Từ 2 đến 255 ký tự, không chứa số, không chứa các kí tự đặc biệt như !@#$%^&*()-~
5 Email: Phải có @, đúng tên miền (gmail, edu, ), không quá 255 ký tự
6 Link phỏng vấn: Không quá 255 ký tự, đúng định dạng (.com/)
7 Tiêu đề: không chứa số, không chứa các kí tự đặc biệt như !@#$%^&*()-~ , không quá 255 ký tự
8 Nút “HUỶ”: Hệ thống không lưu lại lịch phỏng vấn của ứng viên
9 Nút “XEM TRƯỚC”: hệ thống hiện ra đầy đủ các thông tin lịch phỏng vấn của ứng viên đó e Đặc tả yêu cầu cho chức năng sửa thông tin ứng viên
Mô tả khái quát: Cho phép người dùng sửa lại các thông tin của ứng viên
Tác nhân: Nhân viên bộ phận thực tập cty TMA Bình định Điều kiện hoạt động: Người dùng vào giao diện Danh sách ứng viên
Tiền điều kiện: Đăng nhập thành công
Hậu điều kiện: Người dùng vào trang “Quản lý ứng viên”Ne
Luồng sự kiện chính:
● Bước 1 : Sau khi kích vào icon cây bút, Dialog “Sửa ứng viên” sẽ hiện ra
Hình 2.4.10 Màn hình sửa ứng viên
● Bước 2: Người dùng sửa thông tin của ứng viên
● Bước 3: Sau khi sửa xong, người dùng ấn nút “CẬP NHẬT” để lưu lại thông tin ứng viên
● Bước 4: Nếu thành công, màn hình sẽ hiển thị “Sửa thành công”
Hình 2.4.11 Màn hình Sửa thành công
● Bước 5: Người dùng chọn nút “Hủy” Hệ thống sẽ hủy thao tác và trở lại giao diện Danh sách ứng viên
1 Các trường có dấu (*) là bắt buộc nhập thông tin Nếu không nhập, hệ thống sẽ hiển thị thông báo “Please fill out this field”
2 Họ tên: Kiểu chữ, không chứa các kí tự đặc biệt như !@#$%^&*()-~ , không quá 255 ký tự
3 Số điện thoại: ký tự số có chiều dài từ 10 đến 11, bắt đầu bằng số 0
4 Email: Phải có @, đúng tên miền (gmail, edu, ), không quá 255 ký tự
5 Mã sinh viên: Từ 2 đến 255 kí tự, không chứa chữ, không chứa các kí tự đặc biệt như !@#$%^&*()-~
6 Ngành học: Từ 2 đến 255 kí tự, không chứa số, không chứa các kí tự đặc biệt như !@#$%^&*()-~
7 Trường học: không chứa các kí tự đặc biệt như !@#$%^&*()-~
8 Sinh viên năm: Không lớn hơn 6, Không chứa chữ, không chứa các kí tự đặc biệt như !@#$%^&*()-~
9 Điểm TB (Hệ 10): Có giá trị từ 0 đến 10
10 Năm tốt nghiệp: Không chứa chữ
11 Dự kiến tốt nghiệp: Không chứa chữ, không được nhỏ hơn năm hiện tại
12 Môn học còn lại: Không chứa chữ, không lớn hơn 3
13 Dự án đã tham gia: Từ 2 đến 255 ký tự, không chứa các kí tự đặc biệt như
14 Kỹ năng: Không chứa số
15 Thời gian thực tập: Có hai giá trị cho người dùng lựa chọn “8 tuần” và “12 tuần”
16 Loại thực tập: Có hai giá trị cho người dùng lựa chọn “Full time” và “Part time”
17 Loại PC: Có hai giá trị cho người dùng lựa chọn “PC” và “Laptop”
18 Ngày thực tập: Chỉ được chọn tháng nhỏ hơn hiện tại
19 Giấy chứng nhận: Không chứa ký tự đặc biệt như !@#$%^&*()-~ , không chứa số
20 Ngày chứng nhận: chỉ được chọn ngày nhỏ hơn ngày hiện tại
21 Tiêm chủng Covid: Không chứa số, không chứa các kí tự đặc biệt như
THIẾT KẾ VÀ THỰC THI KIỂM THỬ CHO WEBSITE HỆ THỐNG
Lập kế hoạch kiểm thử
● Truy cập vào Google Sheet:
Diễm Quỳnh https://docs.google.com/spreadsheets/d/14sbIZUq7jbjPU2OQirxOKEyP Uudz94qF9ZrYvFb02Mg/edit#gid=0
Khánh Duyên https://docs.google.com/spreadsheets/d/1M97cjMqDJLA9gRvzEbeAR KwPIDhbJy8FocJoayTyYyw/edit#gid89618113
➢ Viết test case và thực thi kiểm thử
➢ Báo cáo, theo dõi lỗi
● Truy cập vào website IMS - V1,1: https://ims-system.vercel.app/login
Bảng 3.1 1 Dữ liệu kiểm thử
Thiết kế Test case
3.2.1 Cấu trúc của 1 test case
● Cách đặt tên: Duyên-FUNC-QLUV, Diễm Quỳnh-FUNC-QLUV
● QLUV: Quản lý ứng viên
● TC-ID: Số thứ tự của test case
● Section: Tên của chức năng, thành phần cần test
● Sub-section: Các thành phần nhỏ hơn trong 1 chức năng
● Description: Mô tả ngắn gọn mục đích của test case
● Pre-condition: Điều kiện tiên quyết cần thực hiện trước khi bắt đầu thực hiện test
● Data: Dữ liệu cần chuẩn bị để thực hiện test, có thể có hoặc không tùy dự án
● Steps to Perform: Các bước để thực hiện test
● Expected Result: Hiển thị kết quả mong đợi từ những bước kiểm thử
Kết quả mong muốn thường được dựa trên yêu cầu của khách hàng đưa ra hoặc đánh giá theo tài liệu chuyên môn
● Priority: Xác định thứ tự ưu tiên để giải quyết lỗi
● Status: Kết quả kiểm thử (Passed/Failed)
● BUG ID: Mã của lỗi trong report bug
3.2.2 Test case chức năng “Thêm ứng viên”
Hình 3.1.2 Test case Thêm ứng viên
3.2.3 Test case chức năng “Xoá ứng viên”
Hình 3.1.3 Test case Xoá ứng viên
3.2.4 Test case chức năng “Tạo lịch phỏng vấn”
Hình 3.1.4 Test case Tạo lịch phỏng vấn
3.2.5 Test case chức năng “Sửa ứng viên”
Hình 3.1.5 Test case Sửa ứng viên
Hình 3.1.6 Kết quả kiểm thử
Report bug
3.3.1 Cấu trúc của 1 report bug
- Bug ID: Mã của Bug dùng để đối chiếu qua bên test case
- Step: Các bước làm tìm ra bug
- Actual result: Kết quả thực thế
- Expect result: Kết quả mong đợi
- Image/video: Ảnh hoặc video của Bug
- Priority: Xác định thứ tự ưu tiên để giải quyết lỗi (Critical/High/Low/Trival)
3.3.2 Bug Report chức năng “Thêm ứng viên” và “Xóa ứng viên”
➢ Link : https://docs.google.com/spreadsheets/d/1fzmo9B2q8zDQR0UTG9M1WWvdcD b5N1Kz2ZzkovWbzXQ/edit?hl=vi#gid`6850924
Hình 3.1.7 Bug Report "Thêm ứng viên" và "Xóa ứng viên"
3.3.3 Bug Report chức năng “Sửa ứng viên” và “Tạo lịch phỏng vấn”
➢ Link : https://docs.google.com/spreadsheets/d/1RL97OvhIpEBl9aqvR5YZL8ZNvuOL qG0IPhXYxRh_ue4/edit#gid=0
Hình 3.1.8 Bug Report "Sửa ứng viên" và "Tạo lịch phỏng vấn"
Giới thiệu về phần mềm “Trello”
Trello là công cụ quan trọng mà các chuyên viên kiểm thử (Tester) tại công ty TMA sử dụng để ghi lại các lỗi (bug) phát hiện trong hệ thống Các nhà phát triển phần mềm (Dev) sẽ dựa vào những lỗi này để điều chỉnh và sửa chữa hệ thống, đảm bảo rằng sản phẩm đáp ứng đúng yêu cầu của đặc tả hoặc khách hàng.
Hình 3.1.9 Giao diện phần mềm Trello
Hình 3.1.10 Giao diện viết Bug
Sau 10 tuần thực tập tại TMA Solutions Bình Định, chúng em đã nhận được sự hướng dẫn tận tình từ các mentor và có cơ hội tiếp xúc với môi trường doanh nghiệp thực tế Thời gian thực tập giúp chúng em tiếp thu nhiều kiến thức mới, chuẩn bị hành trang vững chắc cho sự nghiệp sau khi ra trường.
- Hiểu tổng quan, chi tiết về lý thuyết các công việc của Tester
Đã áp dụng kiến thức học được để xây dựng kịch bản kiểm thử, thiết kế test case, ghi nhận và báo cáo lỗi, cũng như quản lý bug trên Trello.
- Đạt được chứng chỉ Robocorp level 1
- Nâng cao khả năng tiếng Anh
- Tự tin đưa ra quan điểm, ý kiến, mạnh dạn đặt ra những câu hỏi
- Cải thiện kỹ năng thuyết trình
- Học được cách làm việc chuyên nghiệp
Sau thời gian 10 tuần thực tập tại TMA, bản thân em đã có những thay đổi và tiến bộ theo chiều hướng tích cực:
- Hiểu được tổng quan về lý thuyết của kiểm thử phần mềm
- Học được cách giao tiếp với các thành viên trong nhóm cũng như khi làm việc nhóm
Vận dụng kiến thức và kỹ thuật viết test case để xây dựng kịch bản kiểm thử phần mềm, thiết kế test case nhằm kiểm tra hệ thống, từ đó hoàn thành báo cáo.
- Đạt được chứng chỉ Robocorp level 1
- Học được cách làm việc chuyên nghiệp trong môi trường thực tế từ công ty
- Xây dựng các trường hợp kiểm thử chưa được tốt, vẫn chưa bao quát hết được các lỗi tiềm ẩn có thể xảy ra trong hệ thống
- Vì thời gian ngắn, nên chưa thể test được bao quát phần mềm IMS
- Chưa có cơ hội tìm hiểu sâu về automation test như kế hoạch ban đầu
Do thời gian thực tập có hạn, tôi chưa thể kiểm tra toàn diện phần mềm IMS và cũng chưa có cơ hội để tìm hiểu sâu về tự động hóa kiểm thử như dự kiến ban đầu.
- Tài liệu hầu hết tiếng Anh nên còn bị hạn chế trong việc tìm hiểu
Sau quá trình học hỏi và thực tập tại doanh nghiệp, tôi đã có định hướng rõ ràng hơn về công việc tương lai Thời gian thực tập đã giúp tôi củng cố kiến thức và tôi sẽ tiếp tục rèn luyện, đặc biệt trong lĩnh vực test automation Bên cạnh đó, tôi cũng sẽ trau dồi kỹ năng ngoại ngữ để thích ứng và tìm kiếm cơ hội nghề nghiệp tốt hơn trong tương lai.
Sau 10 tuần được thực tập tại doanh nghiệp với vị trí tester, em đã dần hiểu hơn về công việc chuyên viên kiểm thử phần mềm này, cũng như đã xác định được mong muốn của bản thân cho sự nghiệp tương lai
Với nền tảng kiến thức và kinh nghiệm đã được đào tạo, tôi hướng tới việc trở thành chuyên viên kiểm thử phần mềm theo hướng manual sau khi tốt nghiệp Tôi sẽ nỗ lực nâng cao kiến thức và khắc phục các thiếu sót của một tester Bên cạnh đó, tôi sẽ học thêm về test automation để đạt chứng chỉ level 2, 3 và cải thiện kỹ năng ngoại ngữ nhằm thích ứng tốt hơn với công việc trong tương lai.
Em rất mong nhận được ý kiến đóng góp từ các thầy cô để hoàn thiện bản thân và rút ra kinh nghiệm cho các dự án trong tương lai.