1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thực hiện kiểm thử thủ công trên website internship management system (ims)

66 6 0

Đ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 đề Thực hiện kiểm thử thủ công trên website Internship Management System (IMS)
Người hướng dẫn ThS. Trần Thị Thu Thảo
Trường học Đại học Kinh tế - Đại học Đà Nẵng
Chuyên ngành Quản trị hệ thống thông tin
Thể loại báo cáo thực tập
Thành phố Đà Nẵng
Định dạng
Số trang 66
Dung lượng 7,8 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ CÔNG TY (12)
    • 1.1. Cơ quan thực tập (12)
      • 1.1.1. Thông tin chung (12)
      • 1.1.2. Tầm nhìn và sứ mệnh (12)
      • 1.1.3. Giá trị cốt lõi (13)
      • 1.1.4. Lĩnh vực hoạt động (13)
      • 1.1.5. Một số sản phẩm tiêu biểu (13)
    • 1.2. Giới thiệu về ngành nghề thực tập (14)
      • 1.2.1. Khái niệm về Tester (14)
      • 1.2.2. Kiến thức và kỹ năng cần thiết (14)
      • 1.2.3. Cơ hội nghề nghiệp (15)
  • CHƯƠNG 2. LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM (16)
    • 2.1. Tổng quan về Kiểm thử phần mềm (16)
      • 2.1.1. Khái niệm về Kiểm thử phần mềm (16)
      • 2.1.3. Các nguyên tắc Kiểm thử phần mềm (16)
      • 2.1.4. Sự khác nhau giữa QA và QC (17)
      • 2.1.5. Quy trình kiểm thử phần mềm (18)
    • 2.2. Vòng đời phát triển phần mềm (18)
      • 2.2.1. Các giai đoạn trong SDLC (18)
      • 2.2.2. Phương pháp Scrum (20)
    • 2.3. Phân loại kiểm thử phần mềm (22)
      • 2.3.1. Manual Testing (Kiểm thử thủ công) (22)
      • 2.3.2. Automation Testing (Kiểm thử tự động) (22)
    • 2.4. Các cấp độ kiểm thử phần mềm (23)
      • 2.4.1. Unit Testing (Kiểm thử đơn vị) (23)
      • 2.4.2. Integration Testing (Kiểm thử tích hợp) (24)
      • 2.4.3. System Testing (Kiểm thử hệ thống) (24)
      • 2.4.4. Acceptance Testing (Kiểm thử chấp nhận) (24)
    • 2.5. Phương pháp kiểm thử phần mềm (25)
      • 2.5.1. White-box Testing (Kiểm thử hộp trắng) (25)
      • 2.5.2. Black-box Testing (Kiểm thử hộp đen) (25)
    • 2.6. Các kỹ thuật thiết kế test case (25)
      • 2.6.1. Static Testing (Kỹ thuật kiểm thử tĩnh) (25)
      • 2.6.2. Dynamic Testing (Kỹ thuật kiểm thử động) (26)
  • CHƯƠNG 3. PHÂN TÍCH HỆ THỐNG IMS (27)
    • 3.1. Tổng quát về hệ thống (27)
      • 3.1.1. Mục đích (27)
      • 3.1.2. Chức năng của hệ thống (27)
      • 3.1.3. Mô tả người dùng (27)
    • 3.2. Đặc tả yêu cầu (27)
    • 3.3. Đặc tả giao diện phần mềm (28)
      • 3.3.2. Đặc tả yêu cầu cho tính năng “Thêm ứng viên” (29)
      • 3.3.3. Đặc tả yêu cầu cho tính năng “Tạo lịch phỏng vấn” (32)
      • 3.3.4. Đặc tả yêu cầu cho tính năng “Sửa ứng viên” (34)
      • 3.3.5. Đặc tả yêu cầu cho tính năng “Xóa ứng viên” (39)
  • CHƯƠNG 4. THỰC HIỆN KIỂM THỬ WEBSITE IMS (40)
    • 4.1. Lập kế hoạch kiểm thử (40)
      • 4.1.1. Môi trường kiểm thử (40)
      • 4.1.2. Dữ liệu kiểm thử (40)
      • 4.1.3. Trạng thái của Test cases (41)
    • 4.2. Thiết kế Test case (41)
      • 4.2.1. Các bước để tạo Test cases (41)
      • 4.2.2. Cấu trúc của một Test case (41)
  • CHƯƠNG 5. KẾT QUẢ KIỂM THỬ (43)
    • 5.1. Kết quả thực hiện kiểm thử (43)
      • 5.1.1. Chức năng “Thêm ứng viên” (43)
      • 5.1.2. Chức năng “Tạo lịch phỏng vấn” (43)
      • 5.1.3. Chức năng “Sửa ứng viên” (43)
      • 5.1.4. Chức năng “Xóa ứng viên” (43)
    • 5.2. Thống kê lỗi sau khi thực hiện kiểm thử (44)
    • 5.3. Bug Report (45)
      • 5.3.1. Bug Report chức năng “Thêm ứng viên” và “Tạo lịch phỏng vấn” 35 5.3.2. Bug Report của chức năng “Sửa ứng viên” và “Xóa phỏng vấn” (45)

Nội dung

TỔNG QUAN VỀ CÔNG TY

Cơ quan thực tập

Hình 1.1 Logo công ty TMA Solutions Bình Định

Tên cơ quan: Công ty TMA Solutions Bình Định Địa chỉ: 12 Đại lộ Khoa học, Khu Vực 2, P Ghềnh Ráng, TP Quy Nhơn, Bình Định

Email: contact@tma-binhdinh.vn

Website: https://www.tma-binhdinh.vn/

1.1.2 Tầm nhìn và sứ mệnh

Tầm nhìn: Trở thành một trong những công ty phần mềm hàng đầu thế giới, cung cấp các giải pháp và dịch vụ chất lượng cao cho khách hàng

Sứ mệnh của chúng tôi là trở thành trung tâm phần mềm và công nghệ hàng đầu tại miền Trung, góp phần quan trọng vào việc biến Thung lũng sáng tạo Quy Nhơn thành một điểm đến nổi bật của công nghệ 4.0 tại Việt Nam.

Hình 1.2 Giá trị cốt lõi của TMA Solutions

- Cung cấp các giải pháp, dịch vụ viễn thông

- Đào tạo sinh viên và nhân viên về kiến thức phần mềm và kỹ năng mềm

1.1.5 Một số sản phẩm tiêu biểu

Công ty TMA là một trong những doanh nghiệp công nghệ 4.0 hàng đầu tại Việt Nam, chuyên cung cấp các sản phẩm đa dạng nhằm đáp ứng nhu cầu của khách hàng trong nhiều lĩnh vực khác nhau.

Hộp Camera Thông Minh – Smart Camera Box Ứng Dụng Hỗ Trợ Tuyển Dụng Sử Dụng AI – Candidate Machining

Giải Pháp Phân Tích Người Học Online Ứng Dụng Đánh Giá Học Sinh

Phần Mềm Xác Định Người Tiếp Xúc Hộp Khử Khuẩn Thông Minh – UV Box

Giải Pháp Tối Ưu Hoạt Động Của Thiết Bị - Machine OptimizationGiải Pháp Đọc Tài Liệu Tự Động – Document Parser

Giới thiệu về ngành nghề thực tập

Tester là người đảm nhận vai trò kiểm duyệt chất lượng phần mềm bằng cách thực hiện các thử nghiệm để phát hiện lỗi và sai sót ảnh hưởng đến chất lượng sản phẩm Họ phải đảm bảo rằng phần mềm được giao đến tay khách hàng với mức rủi ro thấp nhất Ngoài ra, tester còn được xem như người giám sát và là người trải nghiệm đầu tiên sản phẩm, dịch vụ công nghệ, thông qua việc thiết lập các quy trình và tiêu chí đánh giá giữa các bên liên quan.

1.2.2 Kiến thức và kỹ năng cần thiết

Nắm vững một hoặc một số ngôn ngữ lập trình ở mức cơ bản là cần thiết để hiểu rõ kiến trúc hệ thống của sản phẩm phần mềm mà bạn đang phụ trách.

- Nhạy bén với công nghệ, thiết bị công nghệ, các công cụ hỗ trợ bao gồm cả automation test tools

Kiến thức về kiểm thử phần mềm là rất quan trọng, bao gồm việc hiểu rõ các phương pháp và quy trình kiểm thử, cũng như các tiêu chí đánh giá chất lượng phần mềm Người kiểm thử cần biết cách xác định yêu cầu kiểm thử, thực hiện quy trình kiểm thử một cách hiệu quả và báo cáo kết quả kiểm thử một cách rõ ràng và chính xác.

Kỹ năng giao tiếp hiệu quả là yếu tố quan trọng giúp các bên hiểu nhau hơn, từ đó nâng cao khả năng sáng tạo sản phẩm và đảm bảo quy trình kiểm tra chất lượng diễn ra một cách chính xác nhất.

Kỹ năng lên kế hoạch là yếu tố quan trọng trong quy trình phát triển sản phẩm, bao gồm việc xác định từng hạng mục và tiêu chuẩn chất lượng cần hoàn thiện theo từng mốc thời gian Điều này yêu cầu tester phải có khả năng lập kế hoạch thực thi một cách hiệu quả.

Để đảm bảo quy trình chất lượng hiệu quả, người thực hiện cần phải cẩn thận, tỉ mỉ và nghiêm túc trong công việc Trong quá trình làm việc, có thể xảy ra xung đột giữa các bộ phận, vì vậy cần có khả năng phân xử và kiên định tuân thủ các quy chuẩn đã đề ra.

Nghề tester hiện nay cung cấp nhiều vị trí phù hợp với từng năng lực khác nhau, với mức lương cũng đa dạng Để đạt được trình độ cao nhất trong lĩnh vực này, việc trau dồi kiến thức và kỹ năng là rất cần thiết Dưới đây là một số vị trí tester tiêu biểu.

- Kỹ sư kiểm thử phần mềm: 3-5 năm kinh nghiệm

- Leader QA: 5-6 năm kinh nghiệm

- Quản lý: 8 – 11 năm kinh nghiệm

- Quản lý cấp cao: trên 14 năm kinh nghiệm.

LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM

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

2.1.1 Khái niệm về Kiểm thử phần mềm

Kiểm thử phần mềm là quá trình quan trọng nhằm phát hiện và sửa chữa lỗi trong phần mềm, đảm bảo rằng sản phẩm đáp ứng đầy đủ các yêu cầu của khách hàng và tiêu chuẩn đã đề ra.

Kiểm thử phần mềm không chỉ cung cấp mục tiêu rõ ràng mà còn mang đến cái nhìn độc lập về sản phẩm, giúp đánh giá và hiểu rõ các rủi ro liên quan đến việc triển khai phần mềm.

2.1.2 Mục tiêu Kiểm thử phần mềm

- Đảm bảo chất lượng của sản phẩm phần mềm

- Phát hiện và ngăn chặn lỗi

- Sẵn sàng tích hợp và chuyển đổi các thành phần

- Cung cấp thông tin để ra quyết định cho giai đoạn tiếp theo

- Công việc nên được thực hiện theo quy trình được xác định trước và SRS

- Thảo luận về việc tạo các test case

- Tạo sự tự tin trong công việc

2.1.3 Các nguyên tắc Kiểm thử phần mềm

Kiểm thử phần mềm chỉ có thể chứng minh sự tồn tại của lỗi, mà không đảm bảo rằng phần mềm đã hoàn toàn không còn lỗi Do đó, việc mở rộng thiết kế các trường hợp kiểm thử qua từng phiên bản phần mềm là rất quan trọng để phát hiện và khắc phục nhiều lỗi hơn.

Kiểm thử toàn bộ phần mềm là điều không thể thực hiện, do đó, thay vì cố gắng kiểm tra tất cả các chức năng, chúng ta nên áp dụng phân tích rủi ro và độ ưu tiên Việc sử dụng các kỹ thuật kiểm thử sẽ giúp lựa chọn các trường hợp kiểm thử phù hợp nhất, từ đó đảm bảo hiệu quả trong quá trình kiểm thử phần mềm.

Kiểm thử phần mềm càng sớm càng tốt là nguyên tắc quan trọng trong phát triển phần mềm, giúp phát hiện lỗi ngay từ giai đoạn đầu của vòng đời sản phẩm Việc thực hiện kiểm thử sớm không chỉ tiết kiệm thời gian mà còn giảm chi phí cho các giai đoạn tiếp theo, góp phần nâng cao chất lượng sản phẩm cuối cùng.

Lỗi thường đi theo cụm, hay còn gọi là defect clustering, là kỹ thuật phân tách các ca kiểm thử thành nhóm, giúp các ca trong cùng nhóm phát hiện các lỗi tương tự hoặc có cùng nguyên nhân Mục tiêu chính của phương pháp này là tối đa hóa hiệu quả kiểm thử bằng cách giảm thiểu số lượng ca kiểm thử cần thiết để phát hiện lỗi, từ đó nâng cao chất lượng sản phẩm.

Nghịch lý thuốc trừ sâu chỉ ra rằng việc sử dụng một bộ test case lặp đi lặp lại sẽ không phát hiện được các lỗi mới, vì những lỗi đã được tìm thấy đã được sửa chữa trong các giai đoạn trước Để phát hiện ra những lỗi khác mà chưa được phát hiện, các bộ test case cần được xem xét và cập nhật thường xuyên.

Quan niệm sai lầm về việc hết lỗi cho rằng việc kiểm thử phần mềm có thể chứng minh rằng không còn lỗi nào tồn tại Thực tế, kiểm thử chỉ có khả năng phát hiện lỗi, nhưng không thể đảm bảo rằng phần mềm hoàn toàn chính xác và không có lỗi.

Kiểm thử phần mềm phụ thuộc vào ngữ cảnh, cho phép thiết kế các ca kiểm thử sát với thực tế Điều này giúp phát hiện lỗi một cách toàn diện và đảm bảo phần mềm hoạt động chính xác trong nhiều tình huống khác nhau.

2.1.4 Sự khác nhau giữa QA và QC

Bảng 2.1 So sánh sự khác nhau giữa QA và QC

QA (Quality Assurance) QC (Quality Control)

Trọng tâm của QA là ngăn ngừa lỗi trong phần mềm đang phát triển bằng cách chú ý đến các quy trình.

Trọng tâm của QC là xác định các lỗi trong phần mềm đã phát triển bằng cách chú ý đến các quy trình thử nghiệm. Định hướng

QA định hướng theo quy trình QC là định hướng theo sản phẩm.

Mỗi và mọi thành viên của nhóm phát triển chịu trách nhiệm về QA.

Chỉ có nhóm thử nghiệm cụ thể chịu trách nhiệm về QC.

2.1.5 Quy trình kiểm thử phần mềm

Hình 2.1 Quy trình kiểm thử phần mềm

Quy trình kiểm thử phần mềm xác định các giai đoạn trong kiểm thử phần mềm Quy trình kiểm thử gồm những giai đoạn sau:

Step 1 involves requirement analysis to understand the project needs Step 2 focuses on test planning to outline the testing strategy Step 3 is dedicated to test case development, creating specific scenarios for evaluation Step 4 entails environment setup to prepare the testing infrastructure Finally, Step 5 is the test execution phase, where the actual testing is carried out.

Bước 6 Test Cycle Closure - Kết thúc chu kỳ kiểm thử

Vòng đời phát triển phần mềm

2.2.1 Các giai đoạn trong SDLC

SDLC (Vòng đời phát triển phần mềm) là quy trình nhằm phát triển phần mềm chất lượng cao với chi phí tối ưu và thời gian ngắn nhất Quy trình này cung cấp các giai đoạn có cấu trúc rõ ràng, giúp phát triển phần mềm nhanh chóng và hiệu quả, đảm bảo sản phẩm cuối cùng sẵn sàng để sử dụng.

Hình 2.2 Vòng đời phát triển phần mềm Giai đoạn 1: Requirement Gathering and Analysis (Thu thập và phân tích yêu cầu)

Trong giai đoạn này, các yêu cầu được thu thập là trọng tâm chính của quản lý dự án (PM) cùng với các bên liên quan Các cuộc họp với lãnh đạo, stakeholders và người dùng được tổ chức nhằm xác định rõ ràng các yêu cầu thông qua việc trả lời các câu hỏi thiết yếu.

- Ai sẽ sử dụng hệ thống?

- Họ sẽ sử dụng hệ thống như thế nào?

- Dữ liệu nào nên được nhập vào hệ thống?

- Dữ liệu nào sẽ được xuất ra bởi hệ thống?

Cuối cùng, một tài liệu đặc tả yêu cầu đã được tạo ra để hướng dẫn cho giai đoạn tiếp theo của mô hình Nhóm kiểm thử sẽ dựa vào tài liệu này và bắt đầu lập kế hoạch kiểm thử sau khi hoàn tất phân tích yêu cầu.

Giai đoạn 2: Design (Thiết kế)

Các thông số kỹ thuật thiết kế hệ thống là đầu vào quan trọng cho giai đoạn tiếp theo của mô hình Tại giai đoạn này, các tester phát triển các chiến lược kiểm thử, trong đó xác định rõ các yếu tố cần kiểm tra và phương pháp thực hiện kiểm tra.

Giai đoạn 3: Build/Development (Xây dựng sản phẩm)

Khi nhận Tài liệu thiết kế hệ thống, công việc được phân chia thành các module và lập trình sẽ bắt đầu Giai đoạn này thực hiện chức năng phần mềm sau khi khách hàng đã đồng ý với prototype Các lập trình viên sẽ tiến hành lập trình các chức năng và module theo yêu cầu Đây là giai đoạn dài nhất trong quy trình phát triển phần mềm (SDLC).

Giai đoạn 4: Testing (Kiểm thử)

Các tester nhận bàn giao chức năng từ developer và tiến hành kiểm tra theo các testcase đã xây dựng Nếu phát hiện lỗi trong quá trình kiểm thử, tester sẽ báo cáo để developer sửa chữa Quá trình này sẽ được lặp lại cho đến khi các chức năng được phát triển đúng theo tài liệu đặc tả và yêu cầu của khách hàng.

Giai đoạn 5: Deployment (Triển khai)

Sau khi thực hiện kiểm thử thành công, sản phẩm được giao/ triển khai cho khách hàng để họ sử dụng

Ngay sau khi sản phẩm được giao cho khách hàng, họ sẽ tiến hành kiểm tra beta trong môi trường của mình Nếu có yêu cầu thay đổi hoặc phát hiện lỗi, khách hàng sẽ thông báo cho nhóm phát triển.

Giai đoạn 6: Maintenance (Bảo trì)

Sau khi giao sản phẩm cho khách hàng, công ty vẫn tiếp tục hỗ trợ theo cam kết, vì trong quá trình sử dụng hệ thống, các vấn đề thực tế sẽ phát sinh và cần được giải quyết kịp thời Để đảm bảo điều này, công ty sẽ thành lập một nhóm chuyên trách về bảo trì và quản lý các vấn đề mà người dùng gặp phải Nhóm này sẽ chịu trách nhiệm quản lý và xử lý tất cả các vấn đề của người dùng Bên cạnh đó, phần mềm cũng sẽ được cập nhật sau khi triển khai để khắc phục lỗi và nâng cao hiệu suất.

Scrum là một framework phát triển dựa trên phương pháp Agile, giúp các đội ngũ tự tổ chức và hoạt động hiệu quả hướng tới mục tiêu chung Phương pháp này bao gồm các cuộc họp, công cụ và vai trò cụ thể nhằm tối ưu hóa quy trình bàn giao dự án.

Nhóm Scrum là một đội ngũ tự quản và liên chức năng, nơi các thành viên hỗ trợ lẫn nhau để phát triển Mục tiêu của nhóm Scrum là tối ưu hóa sự sáng tạo, linh hoạt và nâng cao năng suất, hiệu quả công việc Một đội Scrum bao gồm nhiều vị trí khác nhau.

Product Owner (PO) là người quyết định thành công của dự án, định nghĩa yêu cầu và đánh giá sản phẩm cuối cùng từ các nhà phát triển phần mềm PO cần có tầm nhìn rõ ràng, quyền hạn và sự sẵn sàng để truyền đạt tầm nhìn cũng như các ưu tiên cho nhóm phát triển.

Scrum Master đóng vai trò quan trọng trong việc đảm bảo các sprint được hoàn thành đúng mục tiêu Họ bảo vệ đội ngũ làm việc và tập trung vào việc loại bỏ những trở ngại cản trở sự tiến bộ của nhóm Nhiệm vụ chính của Scrum Master là giải quyết mọi vấn đề phát sinh, giúp nhóm đạt được các mục tiêu sprint một cách hiệu quả.

Nhóm phát triển thường bao gồm từ 5 đến 9 thành viên, tùy thuộc vào quy mô của dự án, có thể có nhiều đội và nhiều người tham gia Nhóm này có trách nhiệm tự tổ chức để hoàn thành công việc hiệu quả.

Các sự kiện trong SCRUM:

Sprint là một trong những sự kiện quan trọng nhất trong phương pháp Scrum, kéo dài từ 2 đến 4 tuần, là khoảng thời gian dành cho việc phát triển và phát hành sản phẩm.

• Sprint Planning: Lên kế hoạch công việc, trả lời các câu hỏi làm sao và làm thế nào để gia tăng hiệu quả công việc trong sprint sắp tới

Cuộc họp Daily Scrum Meeting diễn ra hàng ngày nhằm nâng cao năng suất làm việc Trong cuộc họp ngắn này, các thành viên sẽ trả lời ba câu hỏi chính: Tôi đã hoàn thành công việc gì hôm qua? Tôi dự định làm gì trong hôm nay? Tôi có gặp phải trở ngại nào không? Mục tiêu chính của cuộc họp là giải quyết khó khăn và hướng tới việc đạt được các mục tiêu đề ra.

Phân loại kiểm thử phần mềm

2.3.1 Manual Testing (Kiểm thử thủ công) a) Khái niệm

Kiểm thử thủ công là quy trình kiểm thử phần mềm mà trong đó các trường hợp kiểm thử được thực hiện hoàn toàn bằng tay, không sử dụng công cụ tự động Người thử nghiệm thực hiện các ca kiểm thử từ góc nhìn của người dùng cuối để đảm bảo ứng dụng hoạt động đúng như yêu cầu trong tài liệu Mục tiêu của quy trình này là hoàn thành gần như 100% các trường hợp kiểm thử cho ứng dụng phần mềm Ngoài ra, báo cáo kết quả kiểm thử cũng được thực hiện thủ công.

- Đầu tiên, người kiểm thử quan sát tất cả các tài liệu liên quan đến phần mềm, để lựa chọn lĩnh vực kiểm thử

- Người kiểm thử phân tích các tài liệu yêu cầu để bao gồm tất cả các yêu cầu mà khách hàng đã nêu

- Người kiểm thử phát triển các trường hợp kiểm thử theo tài liệu yêu cầu

- Tất cả các trường hợp kiểm thử được thực hiện thủ công bằng cách sử dụng kiểm thử hộp đen và kiểm thử hộp trắng

- Nếu xảy ra lỗi thì nhóm thử nghiệm sẽ thông báo cho nhóm phát triển

- Nhóm Phát triển sửa lỗi và bàn giao phần mềm cho nhóm kiểm thử để kiểm tra lại

2.3.2 Automation Testing (Kiểm thử tự động) a) Khái niệm

Kiểm thử tự động là quá trình kiểm tra phần mềm mà không cần sự can thiệp của con người, cho phép tự động hóa việc phát hiện lỗi và hiển thị kết quả một cách nhanh chóng và hiệu quả.

Hình 2.4 Các loại kiểm thử tự động b) Quy trình thực hiện kiểm thử tự động

- Lựa chọn công cụ kiểm thử tự động

- Thiết kế kịch bản kiểm thử tự động

- Phát triển kịch bản kiểm thử tự động

- Cập nhật và Bảo trì.

Các cấp độ kiểm thử phần mềm

2.4.1 Unit Testing (Kiểm thử đơn vị)

Kiểm thử đơn vị là quá trình kiểm tra từng thành phần riêng lẻ của ứng dụng phần mềm, đóng vai trò là cấp độ đầu tiên của thử nghiệm chức năng Mục tiêu chính của kiểm thử đơn vị là xác minh tính chính xác của mã được cô lập Một thành phần đơn vị có thể là một chức năng hoặc đoạn mã riêng biệt trong ứng dụng Phương pháp thử nghiệm hộp trắng thường được áp dụng trong kiểm thử đơn vị và thường do các lập trình viên thực hiện.

Khi ứng dụng đã sẵn sàng, quá trình kiểm tra từng thành phần của module hoặc module của ứng dụng sẽ được tiến hành Quá trình này được gọi là Kiểm tra đơn vị hoặc kiểm tra thành phần, và nó có thể được thực hiện một cách độc lập cho từng thành phần.

2.4.2 Integration Testing (Kiểm thử tích hợp)

Kiểm thử tích hợp là quá trình kết hợp các module riêng lẻ để kiểm tra sự tương thích giữa chúng Trong giai đoạn này, các hàm được tích hợp với nhau và các màn hình được kết hợp dựa trên chức năng, nhằm đảm bảo rằng các thành phần hoạt động hài hòa trong hệ thống tổng thể.

Kiểm tra tích hợp nhằm đạt hai mục tiêu chính: phát hiện lỗi khi kết hợp các module riêng lẻ và tích hợp chúng thành một hệ thống nhỏ có khả năng hoạt động, đồng thời tạo nền tảng cho quá trình kiểm thử hệ thống sau này.

2.4.3 System Testing (Kiểm thử hệ thống)

Kiểm thử hệ thống là quá trình đánh giá một hệ thống phần mềm hoàn chỉnh, bao gồm việc kiểm tra sự tích hợp giữa phần mềm và phần cứng Hệ thống máy tính được xây dựng từ các đơn vị phần mềm riêng lẻ, sau đó kết nối với nhau để tạo thành một hệ thống đồng bộ Mục tiêu của kiểm thử hệ thống là đảm bảo mọi chức năng hoạt động đúng theo yêu cầu đã đề ra, thông qua một loạt các phương pháp kiểm tra khác nhau.

Người thực hiện kiểm thử hệ thống thường là kiểm thử viên Có thể là một hoặc một nhóm kiểm thử viên cùng thực hiện

2.4.4 Acceptance Testing (Kiểm thử chấp nhận)

Kiểm tra chấp nhận đóng vai trò quan trọng trong việc xác định xem phần mềm có đáp ứng yêu cầu của khách hàng và mục đích hệ thống hay không Giai đoạn này tập trung vào tính thân thiện với người dùng, trong khi việc phát hiện lỗi không phải là mục tiêu chính.

Người dùng cuối hoặc khách hàng tiến hành kiểm tra hệ thống nhằm xác định xem hệ thống có đáp ứng các yêu cầu và mong đợi của họ hay không, đồng thời đánh giá mức độ phù hợp với nhu cầu sử dụng.

Thử nghiệm Alpha là giai đoạn kiểm tra phần mềm do các nhà phát triển thực hiện trước khi phát hành cho khách hàng Mục tiêu chính của thử nghiệm này là phát hiện và khắc phục các lỗi trong phần mềm, đảm bảo chất lượng sản phẩm trước khi đến tay người dùng.

Thử nghiệm Beta là giai đoạn kiểm tra phần mềm do một nhóm người dùng cuối thực hiện trước khi sản phẩm chính thức ra mắt Mục tiêu chính của thử nghiệm beta là thu thập phản hồi từ người dùng và phát hiện các vấn đề cần được khắc phục.

Phương pháp kiểm thử phần mềm

2.5.1 White-box Testing (Kiểm thử hộp trắng)

Nhóm phát triển (dev) thực hiện kiểm thử hộp trắng bằng cách kiểm tra từng dòng code của ứng dụng Sau đó, họ chuyển phần mềm cho nhóm kiểm thử (tester) để thực hiện kiểm thử hộp đen, xác minh ứng dụng với các yêu cầu và phát hiện lỗi, rồi gửi phản hồi lại cho nhà phát triển.

Dev sẽ thực hiện kiểm tra mã hóa nội bộ và cơ sở hạ tầng của phần mềm, tập trung vào việc so sánh các đầu vào đã được xác định trước với các đầu ra thực tế và mong đợi Kiểm thử này dựa trên hoạt động bên trong của ứng dụng và yêu cầu kỹ năng lập trình để thiết kế các test case Mục tiêu chính của kiểm thử hộp trắng là tối ưu hóa luồng đầu vào và đầu ra, đồng thời nâng cao tính bảo mật của phần mềm.

2.5.2 Black-box Testing (Kiểm thử hộp đen)

Kiểm thử hộp đen là một phương pháp kiểm thử phần mềm tập trung vào việc đánh giá chức năng của phần mềm mà không cần xem xét cấu trúc nội tại hay mã nguồn Kỹ thuật này chủ yếu dựa vào các yêu cầu được khách hàng nêu rõ trong đặc điểm kỹ thuật.

Trong phương pháp kiểm thử này, tester chọn một chức năng và nhập giá trị đầu vào để kiểm tra xem chức năng đó có hoạt động đúng như mong đợi hay không Nếu đầu ra của chức năng chính xác, nó sẽ được chuyển sang giai đoạn thử nghiệm tiếp theo; ngược lại, chức năng sẽ không đạt yêu cầu Đội ngũ kiểm thử sẽ báo cáo kết quả cho nhóm phát triển và tiếp tục kiểm tra chức năng tiếp theo Sau khi hoàn tất việc kiểm tra tất cả các chức năng, nếu phát hiện vấn đề nghiêm trọng, chúng sẽ được gửi lại cho nhóm phát triển để sửa chữa.

Các kỹ thuật thiết kế test case

2.6.1 Static Testing (Kỹ thuật kiểm thử tĩnh)

Kiểm thử tĩnh là một kỹ thuật đánh giá các tài liệu như yêu cầu, thiết kế và test case, cũng như thực hiện phân tích cú pháp tự động của mã nguồn mà không cần phải chạy chương trình Phương pháp này thường được thực hiện bằng các công cụ chuyên dụng để đảm bảo chất lượng và tính chính xác của tài liệu và mã nguồn trong dự án.

Các kỹ thuật kiểm thử tĩnh:

2.6.2 Dynamic Testing (Kỹ thuật kiểm thử động)

Kiểm thử động là một yếu tố thiết yếu trong kiểm thử phần mềm, nhằm phân tích hành vi thực thi của mã nguồn Quá trình này yêu cầu phần mềm phải được chạy để thực hiện các bài kiểm tra, với mục tiêu chính là đảm bảo phần mềm hoạt động ổn định trong và sau khi cài đặt Kiểm thử động giúp phát hiện và ngăn chặn các lỗi nghiêm trọng, đảm bảo ứng dụng hoạt động bình thường.

Các kỹ thuật kiểm thử động:

Phân vùng tương đương là phương pháp chia các điều kiện đầu vào thành những vùng có đặc điểm tương tự Mọi giá trị trong một vùng tương đương sẽ tạo ra cùng một kết quả đầu ra Do đó, chúng ta chỉ cần kiểm tra một giá trị đại diện trong mỗi vùng tương đương để đảm bảo tính chính xác của quá trình kiểm thử.

Phân tích giá trị biên là một kỹ thuật kiểm thử quan trọng, trong đó các test cases được xây dựng dựa trên các giá trị biên, tức là những giá trị nhỏ nhất và lớn nhất của một phân vùng Kỹ thuật này giúp đảm bảo rằng phần mềm hoạt động đúng ở các ranh giới của dữ liệu, từ đó phát hiện các lỗi tiềm ẩn có thể xảy ra khi dữ liệu ở gần các giá trị cực trị.

- Bảng quyết định: được sử dụng cho các chức năng cần sự kết hợp của nhiều yếu tố đầu vào các biến

Kỹ thuật chuyển đổi trạng thái yêu cầu người kiểm thử phân tích phần mềm theo một trình tự nhất định, phản ánh thứ tự chuyển đổi trạng thái trong sơ đồ chuyển đổi Phương pháp này được áp dụng để kiểm tra khả năng nhập, thoát và chuyển đổi trạng thái của phần mềm.

Đoán lỗi là một kỹ thuật kiểm thử phần mềm dựa trên việc xác định các lỗi tiềm ẩn trong mã nguồn Kỹ thuật này dựa vào kinh nghiệm của nhà phân tích kiểm thử, người sẽ sử dụng hiểu biết và kinh nghiệm của mình để nhận diện những phần có khả năng gặp lỗi trong ứng dụng.

PHÂN TÍCH HỆ THỐNG IMS

Tổng quát về hệ thống

Internship Management Syststem (IMS) là phần mềm dành riêng công TIP Bình Định để quản lý thực tập sinh

3.1.2 Chức năng của hệ thống

Hệ thống có những chức năng chính sau:

- Quản lý mentor (Xem, thêm, xóa, sửa, tìm kiếm)

- Ứng viên (Xem, thêm, xóa, sửa, tìm kiếm)

- Quản lý sinh viên (Chỉ định người hướng dẫn, xem, thêm, xóa, sửa, tìm kiếm)

- Quản lý khóa thực tập (Xem, thêm, xóa, sửa, tìm kiếm)

Hệ thống có người dùng chính là Admin - Nhân viên bộ phận thực tập công ty TMA Bình Định.

Đặc tả yêu cầu

Bảng 3.1 Yêu cầu chức năng “QUẢN LÝ ỨNG VIÊN”

Tiêu đề QUẢN LÝ ỨNG VIÊN

Mô tả • Hệ thống cho phép xem, thêm, sửa, xóa thông tin ứng viên, upload, tạo lịch phỏng vấn, tìm kiếm ứng viên

• 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ụ.

Đặc tả giao diện phần mềm

3.3.1 Giao diện màn hình Quản lý ứng viên

Sau khi đăng nhập thành công, màn hình chọn batch sẽ xuất hiện, cho phép người dùng chọn batch Sau khi lựa chọn, thông báo "CHÀO MỪNG BẠN ĐÃ ĐẾN VỚI BATCH…" sẽ hiển thị Tiếp theo, người dùng chọn “Quản lý ứng viên” để truy cập vào giao diện quản lý ứng viên.

Hình 3.1 Màn hình “Chọn khóa thực tập”

Hình 3.2 Màn hình chọn “Quản lý ứng viên”

Hình 3.3 Giao diện màn hình “Quản lý ứng viên”

3.3.2 Đặc tả yêu cầu cho tính năng “Thêm ứng viên”

Bảng 3.2 Đặc tả yêu cầu Thêm ứng viên

Tên Tính Năng Thêm ứng viên

Mô tả Nhập thông tin ứng viên vào hệ thống IMS

Để kích hoạt tác nhân Admin, người dùng cần truy cập vào giao diện Danh sách ứng viên Trước khi thực hiện, người dùng phải nhấn vào nút “Thêm” Sau khi nhấn, điều kiện thành công là người dùng phải thêm thông tin ứng viên một cách thành công.

1 Sau khi người dùng nhấn nút “Thêm”, hệ thống hiển thị dialog

2 Người dùng nhập đầy đủ thông tin ứng viên và nhấn “Thêm”

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

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 “Vui lòng 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 hoặc 11

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ụ: tma@google.com, trong đó “tma” tên email, bắt buộc phải có “@” trước tên miền là “google.com”

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 Kĩ năng: Kỹ năng hiện có, kiểu chữ, chiều dài 256 ký tự

16 Giấy chứng nhận: Giấy chứng nhận tiêm chủng covid, kiểu chữ, 128 ký tự

17 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

18 Tiêm chủng Covid: Đã tiêm hay chưa, kiểu chữ, chiều dài 64 ký tự

3.3.3 Đặc tả yêu cầu cho tính năng “Tạo lịch phỏng vấn”

Bảng 3.3 Đặc tả yêu cầu Tạo lịch phỏng vấn

Tên tính năng Tạo lịch phỏng vấn

Mô tả Lập lịch phỏng vấn cho ứng viên

Để người dùng truy cập vào giao diện danh sách ứng viên, cần có tác nhân Admin thực hiện các bước kích hoạt Trước khi tiến hành, người phỏng vấn phải được xác định rõ ràng Sau khi hoàn tất các điều kiện trên, người dùng có thể tạo lịch phỏng vấn thành công.

1 Chọn dòng có ứng viên trong danh sách, nhấn biểu tượng

“Tạo lịch”, hệ thống hiển thị dialog “Tạo lịch phỏng vấn”

2 Người dùng nhập đầy đủ thông tin ứng viên cần tạo lịch phỏng vấn và nhấn nút “Thêm”

3 Nếu thành công thì màn hình sẽ hiển thị thông báo Tạo lịch phỏng vấn thành công

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 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 “Ngày phỏng vấn không hợp lệ”

3 Time: thời gian phỏng vấn không được từ 10:30 tối đến 4:00 sáng

Nếu nhập sai, hệ thống hiển thị thông báo “Thời gian không hợp lệ”

1 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ư !@#$%^&*(-~

2 Email người PV: Phải có @, đúng tên miền (gmail, edu, ), không quá 255 ký tự Nếu nhập sai, hệ thống hiển thị thông báo “Vui lòng nhập lại Email!”

3 Link phỏng vấn: Không quá 255 ký tự, đúng định dạng (.com/) Nếu nhập sai, hệ thống hiển thị thông báo “Link phỏng vấn không đủ chiều dài”

4 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ự Nếu nhập sai, hệ thống hiển thị thông báo “Tiêu đề không hợp lệ”

3.3.4 Đặc tả yêu cầu cho tính năng “Sửa ứng viên”

Bảng 3.4 Đặc tả yêu cầu Sửa ứng viên

Tên tính năng Sửa ứng viên

Người dùng có thể sửa thông tin ứng viên bằng cách truy cập vào giao diện danh sách ứng viên Để thực hiện điều này, người dùng cần nhấn vào biểu tượng “Sửa” Sau khi hoàn thành, thông tin ứng viên sẽ được cập nhật thành công.

1 Sau khi người dùng nhấn nút “Sửa”, hệ thống hiển thị dialog Sửa ứng viên

2 Người dùng nhập các thông tin cần sửa và nhấn nút “Cập nhật”

3 Nếu thành công thì màn hình sẽ hiển thị thông báo “Sửa thành công” và hiển thị các thông tin đã sửa thương ứng với ứng viên đã chọn

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

Luồng xử lý ngoại lệ:

2.1 Thiếu thông tin bắt buộc: Khi người dùng nhập thiếu các thông tin bắt buộc được ghi chú bằng “*” và nhấn nút “Cập nhật”

- Hệ thống sẽ hiển thị thông báo “Vui lòng điền vào trường này!”

- Nhấn “Hủy” và quay lại bước 2 trong luồng xử lý chính

2.2 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin họ tên vào trường “Họ tên” khác chữ và nhấn nút “Cập nhậ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!”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.3 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin số điện thoại vào trường “Số điện thoại” khác số và nhấn nút “Cập nhật”

- Hệ thống hiển thị thông báo “Vui lòng nhập lại Số điện thoại!”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.4 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin email vào trường “Email” sai định dạng và nhấn nút “Cập nhật”

- Hệ thống hiển thị thông báo “Vui lòng nhập lại Email!”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.5 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin mã sinh viên và trường “Mã sinh viên” khác số và nhấn nút “Cập nhật”

- Hệ thống hiển thị thông báo “Mã sinh viên không chứa kí tự đặc biệt!”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.6 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin ngành học vào trường “Ngành học” khác chữ và nhấn nút “Cập nhật”

- Hệ thống sẽ hiển thị thông báo “Ngành học không hợp lệ”

Để tiếp tục, hãy nhấn “Xác nhận” và quay lại bước 2 trong quy trình xử lý chính Nếu người dùng nhập sai định dạng thông tin vào trường “Trường học” và nhấn nút “Cập nhật”, hệ thống sẽ thông báo lỗi.

- Hệ thống sẽ hiển thị thông báo “Trường học không hợp lệ”

Nhấn “Xác nhận” để quay lại bước 2 trong quy trình xử lý chính Nếu người dùng nhập sai định dạng thông tin khi điền trường “Sinh viên năm” khác chữ và nhấn “Cập nhật”, hệ thống sẽ thông báo lỗi.

- Hệ thống sẽ hiển thị thông báo “Sinh viên năm không hợp lệ”

Nhấn "Xác nhận" để quay lại bước 2 trong quy trình xử lý chính Nếu người dùng nhập điểm trung bình vào trường "Điểm TB (Hệ 10)" với định dạng không phải là hệ 10 và nhấn nút "Cập nhật", sẽ xảy ra lỗi định dạng thông tin.

- Hệ thống hiển thị thông báo “Điểm trung bình có giá trị từ 0

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.10 Nhập sai định dạng thông tin: Khi người dùng nhập năm tốt nghiệp vào trường “Năm tốt nghiệp” khác số và nhấn nút “Cập nhật

- Hệ thống hiển thị thông báo “ Năm tốt nghiệp không hợp lệ”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.11 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin ngày dự kiến tốt nghiệp vào trường “Dự kiến tốt nghiệp” nhỏ hơn ngày hiện tại và nhấn nút “Cập nhật”

- Hệ thống hiển thị thông báo “Ngày dự kiến không nhỏ hơn ngày hiện tại”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.12 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin môn học còn lại vào trường “Môn học còn lại” khác chữ và nhấn nút

- Hệ thống hiển thị thông báo “Môn học không hợp lệ”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.13 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin vào trường “Dự án đã tham gia” khác chữ và nhấn nút “Cập nhật”

- Hệ thống hiển thị thông báo “Dự án không hợp lệ”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.14 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin vị trí thực tập vào trường “Vị trí thực tập” khác chữ và nhấn nút “Cập nhật”

- Hệ thống hiển thị thông báo “Vị trí ứng viên không chứa ký tự đặc biệt!”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.15 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin kĩ năng vào trường “Kĩ năng” khác chữ và nhấn nút “Cập nhật”

- Hệ thống hiển thị thông báo “Kỹ năng không chứa ký tự đặc biệt!”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

2.16 Nhập sai định dạng thông tin: Khi người dùng nhập thông tin giấy chứng nhận vào trường “Giấy chứng nhận” khác chữ và nhấn nút “Cập nhật”

- Hệ thống hiển thị thông báo “Giấy chứng nhận không chứa ký tự đặc biệt!”

Khi người dùng nhập thông tin giấy chứng nhận vào trường "Giấy chứng nhận" với định dạng không hợp lệ, cụ thể là ít hơn 1 ký tự và nhấn nút "Cập nhật", hệ thống sẽ thông báo lỗi Để tiếp tục, người dùng cần nhấn "Xác nhận" và quay lại luồng xử lý chính.

- Hệ thống hiển thị thông báo “Giấy chứng nhận từ 2-255 kí tự !”

Nhấn “Xác nhận” để quay lại luồng xử lý chính Nếu người dùng nhập sai định dạng thông tin tiêm chủng Covid vào trường “Tiêm chủng Covid” và nhấn nút “Cập nhật”, hệ thống sẽ thông báo lỗi.

- Hệ thống hiển thị thông báo “Thông tin tiêm chủng không có ký tự đặc biệt!”

- Nhấn “Xác nhận” và quay lại luồng xử lý chính

3.3.5 Đặc tả yêu cầu cho tính năng “Xóa ứng viên”

Bảng 3.5 Đặc tả yêu cầu Xóa ứng viên

Tên tính năng Xóa ứng viên

Người dùng có thể xóa thông tin ứng viên bằng cách truy cập vào giao diện danh sách ứng viên Để thực hiện việc này, người dùng cần nhấn vào biểu tượng “Xóa” Sau khi hoàn tất, thông tin ứng viên sẽ được xóa thành công.

1 Sau khi nhấn nút “Xóa”, hệ thống hiển thị popup “Bạn có muốn xóa?”

2 Người dùng chọn nút “Đồng ý”

3 Nếu thành công thì 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 vừa được xóa không còn xuất hiện ở danh sách và không thể khôi phụ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.

THỰC HIỆN KIỂM THỬ WEBSITE IMS

Lập kế hoạch kiểm thử

- Truy cập vào Google Sheet:

• Link test case: Test case for IMS

• Viết test cases 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:

• Link website: https://ims-system.vercel.app/login

Hình 4.1 Giao diện khi truy cập vào website IMS

- Tài khoản để truy cập trang web bao gồm:

Bảng 4.1 Tài khoản sử dụng

4.1.3 Trạng thái của Test cases

- Passed: Nhập “Passed” vào status nếu test case đã được thực hiện và kết quả thực tế đúng với kết quả mong đợi

- Failed: Nhập “Failed” vào status nếu test case đã được thực hiện và kết quả thực tế không đúng với kết quả mong đợi

- Blocked: Nhập “Blocked” vào status nếu test case đã được thực hiện và bị chặn bởi một lỗi nào đó

- N/A: Nhập “N/A” vào status nếu test case không thể thực hiện được ở một môi trường khác

- Un-test: Nhập “Un-test” vào status nếu test case chưa được thực hiện.

Thiết kế Test case

4.2.1 Các bước để tạo Test cases Để xây dựng những bộ Test cases đầy đủ và hữu ích nhất, Tester phải thiết kế Test cases dựa trên quy trình sau đây:

- Nghiên cứu yêu cầu khách hàng một cách cẩn thận

- Tạo bảng thiết kế kiểm thử bằng cách áp dụng các kỹ thuật thiết kế kiểm thử phù hợp

4.2.2 Cấu trúc của một Test case

- 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 là kiểm tra chức năng nào trong phần mềm

- 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 từng quy mô dự án

- Steps to Perform: Quy trình mô tả từng bước rõ ràng và chi tiết để thực hiện test

Kết quả mong đợi từ các bước kiểm thử sẽ được hiển thị dựa trên yêu cầu của khách hàng hoặc đánh giá theo tài liệu chuyên môn.

- Priority: Mức độ ưu tiên của test case

- Status: Kết quả kiểm thử (Passed/Failed)

- BugID: Số thứ tự của lỗi trong report bug

KẾT QUẢ KIỂM THỬ

Kết quả thực hiện kiểm thử

5.1.1 Chức năng “Thêm ứng viên”

Bảng 5.1 Kết quả kiểm thử chức năng “Thêm ứng viên”

Name Thêm ứng viên Total

TCs Passed Failed Blocked N/A Un-test Create

5.1.2 Chức năng “Tạo lịch phỏng vấn”

Bảng 5.2 Kết quả kiểm thử chức năng “Tạo lịch phỏng vấn”

Total TCs Passed Failed Blocked N/A Un-test

5.1.3 Chức năng “Sửa ứng viên”

Bảng 5.3 Kết quả kiểm thử chức năng “Sửa ứng viên”

Name Sửa ứng viên Total

TCs Passed Failed Blocked N/A Un-test Create

5.1.4 Chức năng “Xóa ứng viên”

Bảng 5.4 Kết quả kiểm thử chức năng “Xóa ứng viên”

Name Xóa ứng viên Total

TCs Passed Failed Blocked N/A Un-test Create

Thống kê lỗi sau khi thực hiện kiểm thử

Sau khi hoàn tất quá trình kiểm thử, chúng tôi đã tổng hợp bảng thống kê số lượng lỗi, được phân loại theo mức độ ưu tiên (Priority) của từng lỗi.

- Critical – khá nghiêm trọng: đây là một lỗi có thể làm ngừng hoạt động 1 phần hệ thống, tuy nhiên một số chức năng khác vẫn hoạt động bình thường

- Major – mức độ cao: lưu sai dữ liệu, trả kết quả không chính xác

- Medium – mức độ trung bình: không ảnh hưởng đến hệ thống, xảy ra một số trường hợp không mong muốn

- Low – mức độ thấp: Lỗi này không có ảnh hưởng nhiều tới người dùng khi duyệt web hay mở ứng dụng, nhưng vẫn cần phải xem xét

- Trivial: những lỗi không đáng kể

Priority Critical Major Medium Low Tổng

Bảng 5.5 Kết quả thống kê lỗi

Bug Report

5.3.1 Bug Report chức năng “Thêm ứng viên” và “Tạo lịch phỏng vấn” a Bug Report trên Google Sheet:

- Link Google Sheet: BUG-QLUV b Bug Report trên Trello:

- Link Trello: https://trello.com/b/lV0Z2kin/ims-project

Hình 5.1 Bug report trên Trello

5.3.2 Bug Report của chức năng “Sửa ứng viên” và “Xóa phỏng vấn”

- Link Google Sheet: BUG-QLUV

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Sau 10 tuần thực tập tại Công ty TMA Solutions Bình Định, tôi đã nâng cao bản thân và cải thiện hiệu suất làm việc, đồng thời tích lũy được nhiều kiến thức và kỹ năng mới.

Áp dụng kiến thức đã học tại công ty giúp xây dựng kịch bản kiểm thử, thiết kế test cases và viết bug report cho một chức năng của hệ thống hiệu quả.

Khám phá nhiều phương pháp học tập hiệu quả giúp cải thiện năng suất và tiết kiệm thời gian, từ đó nâng cao khả năng tự nghiên cứu và tìm hiểu kiến thức mới.

- Cải thiện được kỹ năng thuyết trình, viết email chuyên nghiệp, trình bày slide bắt mắt thông qua các buổi tập huấn trực tiếp được tổ chức công ty

- Cải thiện được kỹ năng giao tiếp, 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

- Cải thiện kỹ năng đọc hiểu tiếng anh thông qua việc tìm hiểu và đọc tài liệu tiếng anh

- Đạt được chứng chỉ RPA Certification Level 1

Thời gian hạn chế và khối lượng kiến thức phong phú đã khiến tôi chưa thể nghiên cứu sâu rộng, dẫn đến việc viết test cases còn nhiều thiếu sót.

- Chỉ mới thực hiện test những chức năng cơ bản và chưa đi sâu vào nhiều chức năng khác của toàn bộ hệ thống IMS

Sau khi kết thúc kỳ thực tập, tôi nhận thấy mình phù hợp với công việc Kiểm thử theo hướng Manual Testing Tôi sẽ nỗ lực trau dồi kiến thức và học hỏi kinh nghiệm để phát triển bản thân trong lĩnh vực này Đồng thời, tôi cũng có kế hoạch tìm hiểu thêm về Automation Testing, nhằm nâng cao khả năng đọc hiểu tài liệu tiếng Anh và cải thiện kỹ năng giao tiếp trong công việc.

Em rất mong nhận được sự hướng dẫn và góp ý từ ThS Trần Thị Thu Thảo để có thể hoàn thiện bản thân trong hành trình trở thành một kiểm thử viên chuyên nghiệp Xin chân thành cảm ơn sự giúp đỡ.

Sau 10 tuần thực tập tại Công ty TMA Solutions Bình Định, tôi đã cải thiện bản thân và nâng cao hiệu suất làm việc, đồng thời tích lũy được nhiều kiến thức và kỹ năng mới.

Trong quá trình thực tập, tôi đã áp dụng kiến thức học được để viết các ca kiểm thử (Test cases), thực hiện kiểm thử thủ công và báo cáo kết quả một cách chi tiết.

- Phát triển kỹ năng kiểm thử phần mềm, học cách xây dựng và thực hiện các kế hoạch kiểm thử, hiểu rõ về mức độ kiểm thử phần mềm

- Cải thiện được khả năng giao tiếp và phối hợp làm việc nhóm

- Cải thiện được kỹ năng thuyết trình

Được đào tạo qua nhiều bài học, tôi đã cải thiện bản thân với những kỹ năng quan trọng như cách làm việc và học tập hiệu quả, viết email phù hợp, và trình bày slide hấp dẫn để thu hút người đọc.

- Làm việc trong môi trường Tiếng Anh giúp bản thân trau dồi nhiều hơn về kỹ năng đọc hiểu Tiếng Anh

- Đạt được chứng chỉ "Introduction to Python" và "Python Intermediate"

Mặc dù bài báo cáo đã được hoàn thiện, nhưng do thời gian thực tập có hạn, vẫn còn nhiều thiếu sót và hạn chế cần được cải thiện.

Để triển khai và áp dụng phần mềm vào thực tế, chúng tôi gặp nhiều khó khăn Các chức năng hiện tại chủ yếu chỉ là những tính năng cơ bản và chưa được phát triển thêm nhiều chức năng nâng cao.

Sau 10 tuần được học tập và làm việc tại doanh nghiệp, bản thân em đã hiểu rõ hơn về ngành nghề kiểm thử phần mềm và có những định hướng tốt hơn trong tương lai

Tại công ty, tôi không chỉ tiếp thu kiến thức mà còn nỗ lực trau dồi kỹ năng hàng ngày Tôi muốn mở rộng hiểu biết về tự động hóa, học cách sử dụng các công cụ như Selenium và các framework kiểm thử khác nhằm nâng cao hiệu suất kiểm thử và giảm thiểu công việc thủ công.

Để trở thành một tester toàn diện, bạn cần tiếp tục phát huy và trau dồi các kỹ năng mềm quan trọng như giao tiếp, làm việc nhóm, quản lý thời gian và giải quyết vấn đề.

Tôi rất mong nhận được ý kiến đóng góp từ các thầy cô và anh chị hướng dẫn để hoàn thiện bản thân và rút ra kinh nghiệm cho các dự án trong tương lai.

1 https://www.javatpoint.com/unit-testing

2 https://www.javatpoint.com/white-box-testing

3 https://www.javatpoint.com/error-guessing-technique-in-black-box-testing

4 https://viblo.asia/p/static-testing-kiem-thu-tinh-phan-1

CHECK LIST CỦA BÁO CÁO

STT Nội dung công việc Có Không Ghi chú

1 Báo cáo được trình bày (định dạng) đúng với yêu cầu X

2 Báo cáo có số lượng trang đáp ứng đúng yêu cầu (30-50 trang) X

Báo cáo trình bày được phần mở đầu bao gồm: Mục tiêu, Phạm vi và đối tượng, kết cấu …

Ngày đăng: 12/12/2023, 19:47

w