QUAN VỀ CÔNG NGHỆ PHẦN MỀM
Tổng quan về công nghệ phần mềm
Công nghệ phần mềm đang phát triển mạnh mẽ và mở ra nhiều cơ hội mới cho các tổ chức và công ty Nhiều doanh nghiệp đã nhận thức rõ tầm quan trọng của ngành này và đã có những bước tiến đáng kể trong việc áp dụng công nghệ phần mềm Vậy, công nghệ phần mềm thực chất là gì?
Công nghệ phần mềm là lĩnh vực nghiên cứu về phương pháp, kỹ thuật và công cụ được áp dụng trong quy trình phát triển và vận hành phần mềm Mục tiêu chính của công nghệ phần mềm là phát triển sản phẩm chất lượng cao trong thời gian ngắn nhất, đồng thời giảm thiểu rủi ro cho khách hàng.
Mỗi phần mềm đều trải qua quy trình phát triển phần mềm, bao gồm các pha chính như xác định yêu cầu, phân tích yêu cầu, thiết kế, đặc tả, cài đặt, kiểm thử, triển khai và bảo trì Các công ty và tổ chức sẽ áp dụng quy trình phát triển này vào các mô hình khác nhau, phù hợp với từng dự án cụ thể của họ.
Bản chất của dự án và ứng dụng
+ Sự hiểu biết và kỹ năng của các kỹ sư
+ Kiến thức miền ứng dụng của người phát triển
Phương pháp và công cụ được dùng
Cách thức kiểm soát và các kết quả chuyển giao được yêu cầu
• Định nghĩa lỗi phần mềm và phân loại lỗi phần mềm
Lỗi phần mềm có thể được định nghĩa một cách tổng quát là sự không khớp giữa chương trình và đặc tả của nó.
D ự a vào đị nh ngh ĩ a, ta có th ể phân lo ạ i l ỗ i ph ầ n m ề m thành 3 d ạ ng sau:
- Lỗi sai: Sản phẩm phần mềm được xây dựng khác với đặc tả
- Lỗi thiếu: Các yêu cầu của sản phẩm phần mềm đã có trong đặc tả nhưng lại không có trong sản phẩm thực tế
- Lỗi thừa: Sản phẩm thực tế có những tính năng không có trong tài liệu
Có những trường hợp yêu cầu này có thể được người dùng chấp nhận, nhưng nếu nó khác với đặc tả thì vẫn được coi là lỗi.
Một loại lỗi khác thường gặp là phần mềm khó hiểu và khó sử dụng, dẫn đến trải nghiệm chậm chạp và cảm giác không chính xác trong hoạt động của phần mềm.
- Lỗi (Error): Là các lỗi lầm do con người gây ra
- Sai sót (Fault): Sai sót gây ra lỗi Có thể phân loại như sau:
Sai sót do đưa ra dư thừa – chúng ta đưa một vài thứ không chính xác vào mô tả yêu cầu phần mềm
Sai sót do bỏ sót là một vấn đề mà người thiết kế có thể gặp phải, dẫn đến việc thiếu một số phần quan trọng trong mô tả yêu cầu phần mềm.
- Hỏng hóc (Failure): – Xảy ra khi sai sót được thực thi (Khi thực thi chương trình tại các nơi bị sai thì sẽ xảy ra trạng thái hỏng hóc)
Kết quả không mong đợi, hay còn gọi là hậu quả (Incident), là những kết quả phát sinh từ các sai sót Hậu quả thể hiện qua các triệu chứng liên quan đến một hỏng hóc, giúp người dùng nhận biết sự xuất hiện của vấn đề.
Trường hợp thử (Test case) liên quan trực tiếp đến hoạt động của chương trình, bao gồm một tập hợp các giá trị đầu vào và danh sách các kết quả đầu ra mong muốn.
Thẩm tra là quá trình xác định xem đầu ra của một giai đoạn trong phát triển phần mềm có phù hợp với giai đoạn trước đó hay không.
- Xác nhận (Validation) – Xác nhận là tiến trình nhằm chỉ ra toàn hệ thống đã phát triển xong phù hợp với tài liệu mô tả yêu cầu
• So sánh giữa Thẩm tra và Xác nhận:
Thẩm tra: thẩm tra quan tâm đến việc ngăn chặn lỗi giữa các công đoạn Xác nhận: xác nhận quan tâm đến sản phẩm cuối cùng không còn lỗi
• Tại sao phải kiểm thử
Mọi hành động của con người và tất cả các máy móc, thiết bị, vật dụng do con người tạo ra đều có khả năng gây ra lỗi, dù là rõ ràng hay tiềm ẩn.
Hoạt động kiểm thử phần mềm là cần thiết để hợp tác với nhóm phát triển, nhằm tạo ra sản phẩm cuối cùng đạt chất lượng tốt nhất, đáp ứng yêu cầu và mong đợi của người dùng.
• Khi nào cần kiểm thử phần mềm
Công việc kiểm thử phần mềm có thể được thực hiện ở mọi giai đoạn của quá trình phát triển, từ việc thu thập yêu cầu của khách hàng, phân tích yêu cầu, thiết kế, lập trình cho đến khi triển khai sản phẩm đến tay người dùng.
Tùy thuộc vào từng giai đoạn, các phương pháp kiểm thử sẽ khác nhau và chi phí cho việc kiểm thử cũng như sửa lỗi sẽ tăng dần.
Quy trình kiểm thử phần mềm
Hình 1.1 Sơ đồ quy trình kiểm thử phần mềm
• Lập kế hoạch và kiểm soát việc kiểm thử
Lập kế hoạch kiểm thử bao gồm các bước chính như sau:
- Xác định phạm vi, rủi ro cũng như mục đích của hoạt động kiểm thử
- Xác định các cách tiếp cận kiểm thử
Chiến lược kiểm thử là một yếu tố quan trọng trong chu kỳ phát triển phần mềm, bao gồm các mục tiêu kiểm thử, phương pháp kiểm thử, tổng thời gian và nguồn lực cần thiết cho các dự án, cũng như các môi trường kiểm thử Thông thường, chiến lược này được xây dựng bởi Giám đốc Dự án (PM) và Trưởng nhóm (TL).
- Xác định các nguồn lực cần có cho kiểm thử như: nhân lực, phần cứng, phần mềm, môi trường test v.v
- Lên lịch cho các hoạt động phân tích và thiết kế các trường hợp kiểm thử, thực thi kiểm thử cũng như đánh giá kết quả kiểm thử
Xác định các tiêu chí kết thúc việc kiểm thử (exit criteria) là rất quan trọng, bao gồm tỷ lệ độ bao phủ của test case, số lượng lỗi (bug) phát hiện và mức độ nghiêm trọng của những lỗi đó.
Hoạt động kiểm soát kiểm thử có các nhiệm vụ chủ yếu sau đây:
- Đo lường và phân tích các kết quả của hoạt động kiểm thử
- Theo dõi và ghi lại tiến độ, độ bao phủ cũng như các tiêu chí kết thúc kiểm thử
- Cung cấp thông tin về kiểm thử
- Tiến hành các hành động khắc phục nếu cần thiết
• Phân tích và thiết kế các trường hợp kiểm thử:
Hoạt động phân tích và thiết kế kiểm thử có các nhiệm vụ chủ yếu sau đây:
- Rà soát các yêu cầu cần thiết trước khi tiến hành kiểm thử như tài liệu đặc tả, tài liệu thiết kế, tài liệu giao diện,
- Xác định các điều kiện kiểm thử
- Đánh giá tính khả thi trong việc kiểm thử của yêu cầu cũng như của hệ thống
- Chuẩn bị môi trường test cũng như xác định các yêu cầu về cơ sở hạ tầng và các công cụ kiểm thử tương ứng
• Thực hiện và chạy test:
Việc thực hiện test có nhiệm vụ chủ yếu sau đây:
- Thiết kế và phân loại các trường hợp kiểm thử dựa theo độ ưu tiên của từng trường hợp kiểm thử
- Tự động hóa cho các trường hợp kiểm thử nếu thấy cần thiết
Hoạt động chạy test có nhiệm vụ chủ yếu sau đây:
- Chạy các test case theo các bước đã định ra trước đó
- Chạy lại các case bị failed trước đó để xác nhận là case đó đã được sửa
- So sách kết quả ghi nhận được khi thực thi với kết quả mong đợi
- Đánh giá kết quả kiểm thử (Passed/Failed) cho các trường hợp kiểm thử
- Viết báo cáo lỗi cho những trường hợp kết quả ghi nhận được và kết quả mong đợi không giống nhau
• Đánh giá tiêu chí kết thúc kiểm thử và báo cáo kết quả:
Dựa trên đánh giá rủi ro của dự án, chúng ta sẽ thiết lập các tiêu chí cho từng hoạt động kiểm thử để xác định mức độ đủ của kiểm thử Những tiêu chí này, được gọi là tiêu chí kết thúc kiểm thử (exit criteria), sẽ khác nhau tùy thuộc vào từng dự án và bao gồm nhiều yếu tố quan trọng.
- Số lượng test case tối đa được thực thi Passed
- Tỷ lệ lỗi giảm xuống dưới mức nhất định
Việc đánh giá tiêu chí kết thúc kiểm thử bao gồm các nhiệm vụ chủ yếu sau đây:
- Đối chiếu kết quả thực thi test case so với các tiêu chí kết thúc kiểm thử được định ra trong lúc lập kế hoạch kiểm thử
- Từ đó, đánh giá xem liệu có cần phải test thêm hay điều chỉnh các tiêu chí kết thúc kiểm thử trong bản kế hoạch
- Viết báo cáo tóm tắt hoạt động kiểm thử cũng như kết quả kiểm thử cho các bên liên quan
• Đóng hoạt động kiểm thử:
Các hoạt động kiểm thử thường chỉ được hoàn tất khi phần mềm được bàn giao cho khách hàng Ngoài ra, việc kiểm thử cũng có thể kết thúc vì một số lý do khác.
- Khi tất cả các thông tin đã được thu thập đầy đủ cho hoạt động kiểm thử
- Khi dự án bị hủy bỏ
- Khi một mục tiêu nào đó đạt được
- Khi hoạt động bao trì hay cập nhật hệ thống hoàn tất
Hoạt động đóng kiểm thử thường có các hoạt động sau:
- Kiểm tra lại đã giao đầy đủ cho khách hàng những phần đã cam kết từ đầu
- Kiểm tra lại các lỗi nghiêm trọng đã được fix tương ứng
- Đóng gói các tài liệu kiểm thử, kịch bản kiểm thử, môi trường test v.v để dùng cho những mục đích /dự án sau này
- Đánh giá quá trình kiểm thử cũng như rút ra bài học kinh nghiệm cho những dự án trong tương lại.
Kiểm thử phần mềm
1.3.1 Ki ể m th ử ph ầ n m ề m là gì?
Kiểm thử phần mềm là quá trình thực thi một chương trình với mục đích tìm lỗi [3]
Kiểm thử phần mềm là quá trình đánh giá sản phẩm hoặc dịch vụ phần mềm trong môi trường thực tế mà chúng sẽ được triển khai, nhằm cung cấp thông tin về chất lượng cho các bên liên quan Mục tiêu chính của kiểm thử là phát hiện lỗi và khiếm khuyết, đảm bảo phần mềm hoạt động hiệu quả trong nhiều lĩnh vực khác nhau.
Kiểm thử phần mềm là một quá trình thiết kế nhằm đảm bảo mã hóa máy tính hoạt động đúng theo mục đích đã định và không thực hiện các hành động không mong muốn Đây là giai đoạn quan trọng trong phát triển hệ thống, giúp người xây dựng và khách hàng xác nhận rằng hệ thống mới đáp ứng các yêu cầu đã đặt ra.
Mục đích của kiểm thử phần mềm là phát hiện lỗi một cách sớm nhất và đảm bảo rằng các lỗi đã được sửa Kiểm thử phần mềm không nhằm chẩn đoán nguyên nhân của lỗi đã phát hiện Do đó, một trường hợp kiểm thử tốt là trường hợp có khả năng cao trong việc tìm ra các lỗi chưa từng được phát hiện.
Quy tắc cơ bản kiểm thử phần mềm
Để kiểm thử đạt hiệu quả thì khi tiến hành kiểm thử phần mềm cần phải tuân thủ một số quy tắc sau[4]:
Quy tắc 1: Một phần quan trọng của 1 ca kiểm thử là định nghĩa của đầu ra hay kết quả mong muốn
Quy tắc 2: Lập trình viên nên tránh tự kiểm tra chương trình của mình
Quy tắc 3: Nhóm lập trình không nên kiểm thử chương trình của chính họ Quy tắc 4: Kiểm tra thấu đáo mọi kết quả của mỗi kiểm tra
Quy tắc 5 yêu cầu rằng các ca kiểm thử cần được xây dựng không chỉ cho các trạng thái đầu vào hợp lệ và mong muốn, mà còn phải bao gồm cả các trạng thái đầu vào không hợp lệ và không mong muốn.
Quy tắc 6 yêu cầu khảo sát một chương trình để xác định xem chương trình có thực hiện đầy đủ các chức năng cần thiết hay không Bên cạnh đó, cần xem xét liệu chương trình có thực hiện những chức năng không cần thiết hay không.
Quy tắc 7: Tránh các ca kiểm thử bâng quơ trừ khi chương trình thực sự là 1 chương trình bâng quơ
Quy tắc 8: Không dự kiến kết quả của kiểm thử theo giả thiết ngầm là không tìm thấy lỗi
Quy tắc 9: Xác suất tồn tại lỗi trong 1 đoạn chương trình là tương ứng với số lỗi đã tìm thấy trong đoạn đó
Quy tắc 10: Kiểm thử là 1 nhiệm vụ cực kỳ sáng tạo và có tính thử thách trí tuệ.
Các phương pháp kiểm thử
Có 2 phương pháp kiểm thử chính là: Kiểm thử tĩnh và Kiểm thử động
1.5.1 Ki ể m th ử t ĩ nh – Static testing
Kiểm thử tĩnh là phương pháp thử phần mềm yêu cầu xem xét các yêu cầu và đặc tả một cách thủ công, sử dụng giấy và bút để kiểm tra logic và từng chi tiết mà không cần chạy chương trình Phương pháp này thường được áp dụng bởi các chuyên viên thiết kế viết mã lệnh độc lập Ngoài ra, kiểm thử tĩnh cũng có thể được tự động hóa, cho phép kiểm tra toàn bộ chương trình thông qua một trình thông dịch hoặc biên dịch, nhằm xác nhận tính hợp lệ về cú pháp của mã.
1.5.2 Ki ể m th ử độ ng – Dynamic testing
Kiểm thử động là phương pháp thử phần mềm thông qua việc chạy chương trình để điều tra trạng thái tác động của nó Phương pháp này dựa trên các ca kiểm thử xác định từ sự thực hiện của đối tượng kiểm thử Kiểm thử động kiểm tra cách thức hoạt động của mã lệnh, phản ánh sự thay đổi của các biến theo thời gian Để thực hiện kiểm thử động, phần mềm cần được biên dịch và chạy thực tế, bao gồm việc nhập các giá trị đầu vào và xác minh xem đầu ra có đạt yêu cầu hay không Các phương pháp kiểm thử động bao gồm Kiểm thử đơn vị (Unit Tests), Kiểm thử tích hợp (Integration Tests), Kiểm thử hệ thống (System Tests), và Kiểm thử chấp nhận sản phẩm (Acceptance Tests).
Các kỹ thuật kiểm thử
Có 3 chiến lược kiểm thử đó là: Kiểm thử hộp trắng, kiểm thử hộp đen, và kiểm thử hộp xám
Kiểm thử hộp trắng, hay còn gọi là kiểm thử hướng logic, là phương pháp kiểm tra cấu trúc bên trong của phần mềm nhằm đảm bảo rằng tất cả các câu lệnh và điều kiện đều được thực hiện ít nhất một lần Kỹ thuật này còn được biết đến với các tên gọi khác như kiểm thử hộp thuỷ tinh (Glass-Box Testing) và kiểm thử hộp trong suốt (Clear-Box Testing) Người kiểm thử có quyền truy cập vào mã nguồn chương trình, từ đó có thể kiểm tra và hỗ trợ cho quá trình kiểm thử.
Các phương pháp kiểm thử hộp trắng:
Kiểm thử giao diện lập trình ứng dụng, hay còn gọi là kiểm thử API, là phương pháp kiểm thử ứng dụng thông qua việc sử dụng các API công khai và riêng tư.
- Bao phủ mã lệnh – Code coverage:Tạo các kiểm tra để đáp ứng một số tiêu chuẩn về bao phủ mã lệnh
- Các phương pháp gán lỗi – Fault injection
- Các phương pháp kiểm thử hoán chuyển – Mutation testing methods
- Kiểm thử tĩnh – Static testing: kiểm thử hộp trắng bao gồm mọi kiểm thử tĩnh
Phương pháp kiểm thử hộp trắng có thể đánh giá sự hoàn thành của bộ kiểm thử được tạo ra từ các phương pháp kiểm thử hộp đen, giúp các nhóm phần mềm khảo sát những phần ít được kiểm tra trong hệ thống và đảm bảo rằng các chức năng quan trọng đã được kiểm tra đầy đủ.
Chương trình có thể gặp nhiều lỗi không chỉ do những điều bất khả thi mà còn do các nguyên nhân khác Đây là một nhược điểm của kỹ thuật kiểm thử hộp trắng.
- Việc kiểm thử bằng kỹ thuật hộp trắng không thể đảm bảo rằng chương trình đã tuân theo đặc tả
- Một chương trình sai do thiếu đường dẫn Việc kiểm thử hộp trắng không thể biết được sự thiếu sót này
- Việc kiểm thử bằng kỹ thuật hộp trắng không thể phát hiện được lỗi do dữ liệu
Việc chỉ sử dụng kỹ thuật kiểm thử hộp trắng không đủ để phát hiện lỗi, do đó, khi thiết kế các trường hợp kiểm thử, cần kết hợp với kỹ thuật kiểm thử hộp đen để đạt hiệu quả cao hơn.
Nguyên tắc của kỹ thuật kiểm thử hộp trắng là:
- Thực hiện mọi đường dẫn độc lập ít nhất một lần
- Thực hiện mọi điều kiện logic (if-then-else) trên các giá trị true và false của chúng
Thực hiện tất cả các vòng lặp, bao gồm vòng lặp for và while-do, trong phạm vi hoạt động của chúng Đồng thời, kiểm tra tính hợp lệ của mọi cấu trúc dữ liệu bên trong để đảm bảo sự chính xác và hiệu quả trong quá trình xử lý.
Hình 1.2.Ví dụchu trình kiểm thử
1.6.2 K ỹ thu ậ t ki ể m th ử h ộ p đ en (Black – Box Testing)
Kỹ thuật kiểm thử hộp đen còn được gọi là kiểm thử hướng dữ liệu (data-driven) hay là kiểm thử hướng vào/ra (input/output driven)
Trong kỹ thuật kiểm thử hộp đen, người kiểm thử không chú ý đến cấu trúc và hành vi nội bộ của phần mềm Họ chỉ tập trung vào việc phát hiện các hiện tượng mà phần mềm không hoạt động theo đúng đặc tả đã được định nghĩa.
Theo hướng tiếp cận này, dữ liệu kiểm thử được lấy chỉ từ các đặc tả
Kiểm thử hộp đen là phương pháp tập trung vào các yêu cầu chức năng của phần mềm, cho phép kỹ sư kiểm thử xây dựng các nhóm giá trị đầu vào nhằm thực thi đầy đủ tất cả các yêu cầu của chương trình Phương pháp này không thay thế kỹ thuật hộp trắng, mà bổ sung khả năng phát hiện các lớp lỗi khác biệt với các phương pháp kiểm thử hộp trắng.
Các phương pháp kiểm thử hộp đen:
- Kiểm thử lớp tương đương
- Phân tích giá trị biên
- Kiểm thử dự trên mô hình
- Kiểm thử dựa trên đặc tả
Kiểm thử hộp đen cố gắng tìm các loại lỗi sau:
- Các chức năng thiếu hoặc không đúng
- Các lỗi cấu trúc dữ liệu trong truy cập cơ sở dữ liệu bên ngoài
- Các lỗi khởi tạo hoặc kết thúc
1.6.3 K ỹ thu ậ t ki ể m th ử h ộ p xám ( Gray –Box Testing)
Kiểm thử hộp xám là phương pháp kiểm thử phần mềm kết hợp giữa kiểm thử hộp đen và hộp trắng Trong khi kiểm thử hộp đen, người kiểm thử không cần biết cấu trúc bên trong, thì kiểm thử hộp trắng cho phép Tester hiểu rõ cấu trúc của chương trình.
Trong kiểm thử hộp xám, người kiểm thử chỉ có thể tiếp cận một phần cấu trúc bên trong của sản phẩm Họ có khả năng truy cập vào dữ liệu và thuật toán của chương trình để thiết kế test case, nhưng khi thực hiện kiểm thử, họ sẽ thực hiện như một người dùng cuối hoặc ở mức kiểm thử hộp đen.
Các giai đoạn kiểm thử phần mềm
Kiểm thử phần mềm gồm có các cấp độ: Kiểm thử đơn vị, Kiểm thử tích hợp, Kiểm thử hệ thống và Kiểm thử chấp nhận sản phẩm
Hình 1.4.Chiến lược kiểm thử
1.7.1 Ki ể m th ử đơ n v ị - Unit Test
Unit tests are the smallest software components that can be tested Examples of units include functions, procedures, classes, and methods.
Unit Test thường có kích thước nhỏ và chức năng đơn giản, giúp dễ dàng tổ chức kiểm thử, ghi nhận và phân tích kết quả Khi phát hiện lỗi, việc xác định nguyên nhân và khắc phục cũng đơn giản hơn vì chỉ cần tập trung vào một đơn thể Unit Một nguyên lý thực tiễn cho thấy thời gian dành cho Unit Test sẽ được bù đắp bằng việc tiết kiệm đáng kể thời gian và chi phí cho các mức kiểm thử và sửa lỗi sau này.
Unit Test là quá trình do lập trình viên thực hiện, cần được bắt đầu sớm trong giai đoạn viết code và duy trì xuyên suốt chu kỳ phát triển phần mềm Để thực hiện Unit Test hiệu quả, kiểm thử viên cần có kiến thức về thiết kế và mã nguồn của chương trình Mục tiêu chính của Unit Test là đảm bảo rằng thông tin được xử lý và xuất ra từ Unit là chính xác, tương ứng với dữ liệu đầu vào và chức năng của Unit Điều này yêu cầu tất cả các nhánh bên trong Unit phải được kiểm tra để phát hiện lỗi Một nhánh thường là chuỗi các lệnh được thực thi trong một Unit, ví dụ như các lệnh nằm giữa điều kiện If trong cấu trúc then else Việc lựa chọn nhánh để đơn giản hóa kiểm thử và quét toàn bộ Unit đòi hỏi kỹ thuật và có thể cần sử dụng thuật toán để tối ưu hóa quá trình này.
Unit Test yêu cầu chuẩn bị các ca kiểm thử (Test case) và kịch bản kiểm thử (Test script) với dữ liệu đầu vào, các bước thực hiện và dữ liệu đầu ra mong muốn Việc lưu trữ các Test case và Test script này là cần thiết để có thể tái sử dụng trong tương lai.
1.7.2 Ki ể m th ử tích h ợ p – Intergration Test
Kiểm thử tích hợp là quá trình kết hợp các thành phần của một ứng dụng và kiểm tra chúng như một hệ thống hoàn chỉnh Trong khi kiểm thử đơn vị tập trung vào việc kiểm tra từng thành phần riêng lẻ, kiểm thử tích hợp chú trọng vào việc đánh giá sự giao tiếp và tương tác giữa các thành phần đó.
Kiểm thử tích hợp có hai mục tiêu chính là:
- Phát hiện lỗi giao tiếp xảy ra giữa các Unit
Tích hợp các đơn vị riêng lẻ thành các hệ thống con (subsystem) là bước quan trọng, dẫn đến việc hình thành một hệ thống hoàn chỉnh, sẵn sàng cho quá trình kiểm thử ở mức hệ thống (system test).
Có 4 loại kiểm thử trong kiểm thử tích hợp như sau:
Kiểm thử cấu trúc là quá trình kiểm tra nhằm đảm bảo các thành phần bên trong của chương trình hoạt động chính xác Nó tập trung vào việc kiểm tra các lệnh và nhánh bên trong, giúp xác định tính đúng đắn của cấu trúc nội tại của chương trình.
Kiểm thử chức năng (Functional test) tập trung vào việc đánh giá các chức năng của chương trình mà không xem xét cấu trúc bên trong Mục tiêu chính là khảo sát các chức năng của chương trình dựa trên các yêu cầu kỹ thuật đã được xác định.
- Kiểm thử hiệu năng (Performance test): Kiểm thử việc vận hành của hệ thống
- Kiểm thử khả năng chịu tải (Stress test): Kiểm thử các giới hạn của hệ thống
1.7.3 Ki ể m th ử h ệ th ố ng – System Test
Mục đích của kiểm thử hệ thống là xác định xem thiết kế và toàn bộ hệ thống, sau khi được tích hợp, có đáp ứng các yêu cầu đã đề ra hay không.
Kiểm thử hệ thống đánh giá cả hành vi chức năng của phần mềm lẫn các tiêu chí chất lượng như độ tin cậy, tính tiện lợi, hiệu năng và bảo mật.
Kiểm thử hệ thống bắt đầu khi tất cả các bộ phận phần mềm đã được tích hợp thành công, tuy nhiên, loại kiểm thử này thường tốn nhiều công sức và thời gian Nó thường yêu cầu thiết bị phụ trợ, phần mềm hoặc phần cứng đặc thù, đặc biệt trong các ứng dụng thời gian thực, hệ thống phân bố, hoặc hệ thống nhúng Mục tiêu chính của kiểm thử hệ thống là đánh giá hoạt động, thao tác, sự tin cậy và các yêu cầu chất lượng của toàn bộ hệ thống, khác với kiểm thử tích hợp, tập trung vào sự giao tiếp giữa các đơn thể Để đảm bảo mọi đơn vị và sự tương tác giữa chúng hoạt động chính xác, cần thực hiện kiểm thử đơn vị và kiểm thử tích hợp trước khi tiến hành kiểm thử hệ thống.
Sau khi hoàn thành kiểm thử tích hợp, hệ thống phần mềm đã được hình thành với các thành phần đã được kiểm tra đầy đủ Lập trình viên hoặc kiểm thử viên bắt đầu kiểm thử phần mềm như một hệ thống hoàn chỉnh Việc lập kế hoạch cho kiểm thử hệ thống cần bắt đầu từ giai đoạn hình thành và phân tích các yêu cầu Kiểm thử hệ thống đòi hỏi nhiều công sức, thời gian và tính chính xác, khách quan, và được thực hiện bởi một nhóm kiểm tra viên độc lập với nhóm phát triển dự án để đảm bảo tính chính xác và khách quan.
Kiểm thử hệ thống thường có các loại kiểm thử sau:
- Kiểm thử chức năng (Functional test): Bảo đảm các hành vi của hệ thống thỏa mãn đúng yêu cầu thiết kế
Kiểm thử khả năng vận hành là quá trình đảm bảo tối ưu việc phân bổ tài nguyên hệ thống, chẳng hạn như bộ nhớ, để đạt được các chỉ tiêu quan trọng như thời gian xử lý và khả năng đáp ứng các câu truy vấn.
Kiểm thử khả năng chịu tải, hay còn gọi là stress test, là quá trình đảm bảo hệ thống hoạt động hiệu quả dưới áp lực cao, chẳng hạn như khi có nhiều người truy cập cùng lúc Stress test chú trọng vào các trạng thái tới hạn, các "điểm chết" và các tình huống bất thường, ví dụ như việc ngắt kết nối trong quá trình giao dịch, thường gặp trong việc kiểm thử các thiết bị như POS và ATM.
- Kiểm thử cấu hình (Configuration test): Đảm bảo hệ thống hoạt động tương thích với các loại phần cứng khác nhau
- Kiểm thử khả năng bảo mật (Security test): Bảo đảm tính toàn vẹn, bảo mật của dữ liệu và của hệ thống
Kiểm thử khả năng phục hồi đảm bảo rằng hệ thống có thể khôi phục trạng thái ổn định trước đó khi gặp tình huống mất tài nguyên hoặc dữ liệu Điều này đặc biệt quan trọng đối với các hệ thống giao dịch, chẳng hạn như ngân hàng trực tuyến.
1.7.4 Ki ể m th ử ch ấ p nh ậ n s ả n ph ẩ m – Acceptance Test
Một số cấp độ kiểm thử khác
Ngoài các cấp độ trên, còn một số cấp độ kiểm thử khác như: Kiểm thử quy hồi và kiểm thử tính đúng đắn
1.8.1 Ki ể m th ử h ồ i quy – Regression Testing:
Kiểm thử hồi quy là quá trình kiểm tra lại một hệ thống hoặc thành phần để đảm bảo rằng các thay đổi không gây ra hậu quả không mong muốn Điều này có nghĩa là phần mềm đã được kiểm tra trước đó vẫn cần được kiểm tra lại Beizer định nghĩa kiểm thử hồi quy là việc lặp lại các kiểm tra để xác nhận rằng chức năng của phần mềm không bị thay đổi, ngoại trừ những thay đổi đã được yêu cầu Tuy nhiên, cần có sự thỏa hiệp giữa mức độ đảm bảo mà kiểm thử hồi quy mang lại và tài nguyên cần thiết để thực hiện các kiểm tra này.
1.8.2 Ki ể m th ử tính đ úng – Correctness testing:
Tính đúng đắn là yêu cầu tối thiểu của phần mềm và là mục đích chính của kiểm thử Kiểm thử tính đúng cần một người đáng tin cậy để phân biệt giữa hoạt động đúng và sai Kiểm thử viên có thể không biết chi tiết bên trong các mô-đun phần mềm, như luồng điều khiển hay luồng dữ liệu Do đó, kiểm thử phần mềm có thể được thực hiện từ quan điểm hộp trắng hoặc hộp đen.
Kiểm thử thủ công - (Manual Testing)
Kiểm thử thủ công (Manual Testing) là quá trình mà người kiểm thử phần mềm thực hiện kiểm tra phần mềm bằng cách sử dụng mắt và tay Để bắt đầu, người kiểm thử cần hiểu rõ yêu cầu của khách hàng Sau khi nắm vững những yêu cầu này, bước tiếp theo là viết test case để liệt kê các trường hợp cần kiểm thử, bao gồm giao diện và chức năng luồng dữ liệu.
• Tiến hành kiểm thử thủ công như thế nào ?
Trước khi thực hiện kiểm thử phần mềm thủ công, kiểm thử viên cần áp dụng các phương pháp thiết kế test case, hay còn gọi là kiểm thử hộp đen, để tối ưu hóa bộ test case Sau khi hoàn tất việc tối ưu hóa, tester sẽ tiến hành kiểm thử phần mềm bằng cách dựa vào các tiêu chí kiểm tra trong bộ test case và tương tác trực tiếp với phần mềm nhằm phát hiện lỗi.
• Lợi ích của việc kiểm thử thủ công ?
Kiểm thử thủ công có những ưu điểm như sau:
- Cho phép tester sáng tạo việc kiểm thử và khám phá sản phẩm
- Thích hợp việc kiểm thử trong số ít lần
- Giảm được chi phí ngắn hạn
- Test case chỉ thực hiện trong số ít lần
• Bất lợi kiểm thử thủ công ?
Việc kiểm thử sản phẩm mỗi lần ra mắt tốn nhiều thời gian, khi phải thực hiện lại một loạt các test case đã chạy, dẫn đến sự mệt mỏi và lãng phí nỗ lực.
• Tại sao lại lựa chọn hình thức kiểm thử thủ công ?
Mặc dù kiểm thử tự động đang trở thành xu thế hiện nay, nhiều doanh nghiệp vẫn ưu tiên sử dụng kiểm thử thủ công trong một số trường hợp nhất định.
- Khi phải thực thi một số lượng test case quá lớn trong một thời gian ngắn
- Khi số lượng đầu vào cho một test case quá nhiều
- Khi muốn thực thi performance test hoặc load test, kiểm thử tự động gần như là lựa chọn duy nhất
- Tuy đã có nhiều hình thức kiểm thử khác nhau nhưng kiểm thử thủ công vẫn được ưu ái và loại hình kiểm thử không thể thay thế được
Dù áp dụng kiểm thử tự động ở giai đoạn nào trong dự án, việc thực hiện kiểm thử thủ công vẫn cần thiết để giảm thiểu tối đa những lỗi không lường trước trong mọi kịch bản.
Kiểm thử tự động (Automated Testing)
Kiểm thử tự động (Automated Testing) là quy trình tự động hóa các bước thực hiện Test Case nhằm rút ngắn thời gian kiểm thử Phần mềm kiểm thử tự động sử dụng chương trình đặc biệt với ít hoặc không có sự can thiệp của con người, giúp giảm thiểu việc lặp lại các bước kiểm tra Công cụ kiểm thử tự động có khả năng lấy dữ liệu từ các file bên ngoài như excel hoặc csv, nhập vào ứng dụng, so sánh kết quả mong đợi với kết quả thực tế và xuất báo cáo kết quả kiểm thử.
• Lợi ích của kiểm thử thủ công
Nếu ta phải thực hiện một loạt các kiểm tra liên tục và lặp lại thì tự động hóa là một lợi lớn
Giúp thực hiện "kiểm tra khả năng tương thích" – kiểm thử phần mềm trên cấu hình khác nhau
Nó cung cấp cho chúng ta khả năng để thực hiện tự động hóa các kiểm thử hồi quy trong một thời gian ngắn
Nó cung cấp cho chúng ta khả năng để thực hiện kiểm thử hồi quy trên một đoạn code liên tục thay đổi
Có thể chạy đồng thời trên các máy khác nhau do đó giảm thời gian kiểm thử
Giảm được chi phí dài hạn
• Bất lợi của kiểm thử tự động
Chi phí đầu tư ban đầu lớn
Không thể tự động hóa mọi thứ vẫn phải có sự can thiệp của kiểm thử thủ công
CHƯƠNG 2 GIỚI THIỆU NGÔN NGỮ SỬ DỤNG VÀ PHẦN MỀM QUẢN
LÝ NHÂN SỰ VÀ BÁN VÉ XEM PHIM TẠI RẠP CHIẾU
Ngôn ngữ sử dụng
Ngôn ngữ lập trình C Ngôn ngữ SQL và cơ sở dữ liệu SQL server
Giới thiệu phần mềm quản lý nhân sự và bán vé xem phim tại rạp chiếu
Phần mềm quản lý nhân sự và bán vé tại Platinum Cineplex được thiết kế để giảm bớt khối lượng công việc cho nhân viên bán vé và quản lý, giúp họ dễ dàng quản lý số lượng vé bán, chương trình chiếu phim và hồ sơ nhân sự Điều này không chỉ giúp người xem truy cập thông tin nhanh chóng mà còn cho phép quản lý cập nhật chương trình một cách hiệu quả hơn Đây là ứng dụng thiết yếu cho các rạp chiếu phim, đặc biệt là những rạp lớn.
2.2.2 Các ch ứ c n ă ng c ơ b ả n c ủ a h ệ th ố ng
Phần mềm quản lý nhân sự và bán vé xem phim tại rạp chiếu phim Platinum Cineplex có những chức năng chính sau:
• Nhiệm vụ cơ bản của hệ thống:
Hệ thống bán vé cho phép cập nhật và tra cứu thông tin về phim và lịch chiếu, đồng thời hỗ trợ nhân viên trong việc kiểm soát số lượng vé bán ra Ngoài ra, hệ thống còn cung cấp thông tin chi tiết về vé, giúp khách hàng dễ dàng lựa chọn vị trí ngồi trong phòng chiếu.
Hệ thống theo dõi hoạt động của nhân viên tại rạp giúp quản lý nhân sự đánh giá và điều hành hiệu quả Nó cung cấp các thống kê và báo cáo định kỳ về tình hình làm việc, từ khi nhân viên bắt đầu cho đến khi kết thúc ca làm việc.
• Cơ cấu tổ chức và phân công trách nhiệm:
- Bộ phân quản lí thông tin phim: có nhiệm vụ cập nhật thong tin phim chiếu
- Bộ phận bán vé xem phim: có nhiêm vụ bán vé xem phim cho khách hàng
Bộ phận quản lý thông tin nhân viên có nhiệm vụ cập nhật và thêm hồ sơ khi có sự thay đổi hoặc khi có nhân viên mới Đồng thời, bộ phận này cũng quản lý thông tin liên quan đến quá trình làm việc của từng nhân viên.
- Bộ phận quản lý lương: Quản lý theo dõi ngày công làm việc, quản lý lương thưởng dựa theo ngày công làm việc
Chức năng bán vé của hệ thống cho phép bộ phận quản lý thông tin phim cập nhật thông tin về các bộ phim mới, lập lịch chiếu và đưa lên hệ thống Khi khách hàng đến xem phim, nhân viên bán vé sẽ tiếp nhận yêu cầu, hướng dẫn khách chọn ghế và thực hiện việc bán vé.
- Chức năng quản lý nhân s tin nhân viên đó vào h tiến hành cập nhật quá tr phân quản lý lương s viên vào bảng theo d bảng này để làm cơ s
• Sơ đồ phân rã ch
Bộ phận nhân sự sẽ cập nhật hồ sơ nhân viên khi có sự chuyển công tác, đồng thời theo dõi quá trình làm việc và thông tin ngày công Hương sẽ đảm nhiệm việc cập nhật thông tin chấm công hàng ngày Vào cuối tháng, bộ phận sẽ tổng hợp dữ liệu để tính lương cho nhân viên.
Hình 2.2 Sơ đồ ngữ cảnh hệ thống[5]
• Sơ đồ luồng dữ liệu lức dưới đỉnh – Chức năng Quản lý người dùng
Hình 2.3 Sơ đồ luồng dữ liệu lức dưới đỉnh – Chức năng Quản lý người dùng[5]
• Sơ đồ luồng dữ liệu mức dưới đỉnh – Chức năng quản lý nhân viên
Hình 2.4 Sơ đồ luồng dữ liệu mức dưới đỉnh - Chức năng quản lý nhân viên[5]
Hình 2.5 Sơ đồ luồng d liệu mức dưới đỉnh – chức năng quản lý phim ng dữ liệu mức dưới đỉnh – chức năng quả n lý phim ản lý phim[5]
• Giao diện trang đăng nh
Hình 2.7 liệu mức dưới đỉnh – chức năng quản lý bán vé ng dữ liệu mức dưới đỉnh – chức năng quản lý bán vé n thiết kế n trang đăng nhập
Hình 2.7 Giao diện trang đăng nhập[5] n lý bán vé n lý bán vé[5]
Hình 2.9 ức năng danh sách phim
Giao diện chức năng danh sách phim[5] ức năng cập nhập giá
Hình 2.9 Giao diện chức năng cập nhập giá[5]
Hình 2.11 Giao di ức năng lập lịch chiếu
Hình 2.10 Giao diện chức năng lập lịch chiếu [5] ức năng cập nhập phòng ban
Giao diện chức năng cập nhập phòng ban
Hình 2.12 Giao di ức năng theo dõi quá trình làm việc
Giao diện chức năng theo dõi quá trình làm việệc[5]
GIỚI THIỆU QUY TRÌNH, CÔNG CỤ LÀM VIỆC VÀ
Quy trình làm việc
Khi dự án được khởi động, Tester và Developer có trách nhiệm phân tích kỹ thuật và xác thực thông tin từ khách hàng Họ cần trao đổi với khách hàng để đảm bảo rằng mọi yêu cầu và thông tin cần thiết đều được ghi nhận trong từng phiên làm việc.
Sử dụng Members (assign cho ai) v
U QUY TRÌNH, CÔNG CỤ LÀM VIỆC V KHÁCH HÀNG LẬP KẾ HOẠCH KIỂ
Quy trình làm việc bắt đầu bằng việc phân công nhiệm vụ cho Tester và Developer, yêu cầu họ đọc hiểu và phân tích rõ ràng thời gian thực hiện Nếu khách hàng là nước ngoài, đội Tester sẽ hỗ trợ khách hàng trong quá trình này Mỗi dự án sẽ được tổ chức trên một bảng (board) với nhiều cột, trong đó mỗi cột chứa nhiều nhiệm vụ (task), quy định thành viên thực hiện (assign) và hạn cuối (due date).
3.1.Quản lý công việc trên board trello ỆC VÀ TRAO
CH KIỂM THỬ cho Tester và Dev u, với các yêu cầu ếu cần hỏi thêm ỗ trợ để đọc hiểu i 1 board trên Trello và định như sau:
Các công cụ khi làm việc và trao đổi với khách hàng
- Trello : Một công cụ để phối hợp công việc hiệu quả giúp cho mọi người trong team chỉ cần nhìn qua là biết được có những ai có đầu việc nào, ai đang làm gì và làm đến giai đoạn nào Link: https://trello.com
Kế hoạch kiểm thử
Tài liệu Kế hoạch Kiểm thử này được thiết kế cho phần mềm quản lý nhân sự và bán vé tại rạp chiếu phim Platinum Cineplex, nhằm hỗ trợ các công việc liên quan đến quản lý nhân sự và quy trình bán vé hiệu quả.
- Xác định thông tin cơ bản về dự án và các thành phần chức năng được kiểm thử và không được kiểm thử
- Liệt kê những yêu cầu cho việc kiểm thử
- Những chiến lược kiểm thử nên được sử dụng
- Ước lượng những yêu cầu về tài nguyên và chi phí cho việc kiểm thử
- Những tài liệu được lập sau khi hoàn thành việc kiểm thử
Kế hoạch kiểm thử này nhằm mục đích kiểm tra các chức năng của phần mềm quản lý nhân sự và bán vé tại rạp chiếu phim Platinum Cineplex.
Kiểm tra các chức năng chính của hệ thống :
- Module Quản lý người dùng : Đăng nhập, Tạo tài khoản, Phân quyền, Đăng xuất
Module Quản lý nhân viên bao gồm các chức năng quan trọng như quản lý thông tin nhân viên, theo dõi quá trình làm việc, chấm công, cập nhật khen thưởng và kỷ luật, quản lý tính lương, cũng như cập nhật phòng ban và chức vụ.
Module Quản lý phim bao gồm các chức năng quan trọng như cập nhật thông tin phim, quản lý lịch chiếu, cập nhật phòng chiếu, ghế ngồi, nhà phát hành, giá vé và dạng phim.
Module Quản lý bán vé: Bán vé, In vé
• Những phạm vi không được kiểm thử
Do thời gian làm đồ án có hạn nên những chức năng sau vẫn chưa được đưa vào kiểm thử:
Module Tìm kiếm – tra cứu cho phép người dùng dễ dàng tìm kiếm thông tin nhân viên, lương nhân viên, thông tin phim, lịch chiếu và công nhân viên một cách nhanh chóng và hiệu quả.
- Module Thống kê – báo cáo: Thống kê danh sách nhân viên, Thống kê lương nhân viên, Thống kê danh sách phim, Thống kê số lượng vé
• Những yêu cầu về tài nguyên
Các chức năng của hệ thống được kiểm tra trên phần cứng
Intel Core i3 4 GB 500 GB 64 bit
Bảng 3.2: Công cụ kiểm thử
Hoạt động Công cụ Nhà cung cấp Phiên bản
Quản lý Test Case Microsoft
Quản lý họat động kiểm thử Visual Studio Microsoft 2012
Các công cụ quản trị
Vai trò và trách nhiệm
Bảng 3.3 Vai trò và trách nhiệm
Tester: lập kế hoạch kiểm thử, thiết kế testcase, thực hiện test, báo cáo lỗi
Bảng 3.4 Kế hoạch kiểm thử
Nhiệm vụ Thành viên Ngày BĐ Ngày
Nghiên cứu và tìm hiểu tổng quan về kiểm thử phần mềm
Phạm Thị Ngọc Anh Tuần 1 Tuần 2 Tìm hiểu hệ thống quản lý nhân sự và bán vé xem phim tại rạp chiếu phim
Phạm Thị Ngọc Anh Tuần 3 Tuần 4
Lập kế hoạch test Phạm Thị
Chuẩn bị mội trường, nền tảng cho việc kiểm thử
Phạm Thị Ngọc Anh Tuần 6 Tuần 6
Thiết kế testcase và thực hiện kiểm thử chochức năng quản lý người dùng
Phạm Thị Ngọc Anh Tuần 7 Tuần 8
Thiết kế testcase và thực hiện kiểm thử chochức năng quản lý nhân viên
Phạm Thị Ngọc Anh Tuần 9 Tuần 10
Thiết kế testcase và thực hiện kiểm thử chochức năng quản lý phim
Phạm Thị Ngọc Anh Tuần 10 Tuần 11
Thiết kế testcase và thực hiện kiểm thử chochức năng quản lý bán vé
Phạm Thị Ngọc Anh Tuần 12 Tuần 12 Viết báo cáo tổng hợp kết quả test và report lỗi
Phạm Thị Ngọc Anh Tuần 13 Tuần 13
Hoàn thành báo cáo Phạm Thị
Bảng 3.5 Kiểm thử chức năng
Mục đích của việc kiểm thử là đảm bảo rằng các chức năng hoạt động đúng theo tài liệu mô tả Điều này bao gồm việc xác định rõ mục tiêu kiểm thử cho từng chức năng và mô-đun, từ định hướng, dữ liệu đầu vào, quá trình xử lý cho đến dữ liệu đầu ra nhận được.
Thực hiệnchức năng, sử dụng dữ liệu hợp lệ và không hợp lệ để kiểm tra:
-Kết quả mong đợi với dữ liệu hợp lệ
-Lỗi thích hợp hoặc thông báo hiển thị khi dữ liệu không hợp lệ
-Mỗi qui tắc nghiệp vụ đều được áp dụng đúng Cách kiểm thử Kiểm thử thủ công Điều kiện hoàn thành
-Tất cả các testcase đã được thiết kế đều được thực thi
- Toàn bộ các lỗi phát hiện ra đã được ghi nhận lý do rõ ràng để giúp người lập trình khắc phục
Tester phải nắm rõ các chức năng của hệ thống
Và thực hiện kiểm thử trên nhiều trình duyệt với nhiều phiên bản khác nhau
Bảng 3.6 Kiểm thử giao diện
Kiểm tra giao diện bằng trực quan của người dùng thông qua giao diện hệ thống
Việc sử dụng mục tiêu kiểm tra là cần thiết để đảm bảo các chức năng và yêu cầu nghiệp vụ được phản ánh chính xác Điều này bao gồm việc kiểm tra từ màn hình đến màn hình, trường đến trường, và áp dụng các phương pháp truy cập như phím tab, di chuột, và tổ hợp phím.
-Các đối tượng và thuộc tính màn hình như menu, size, position, state, và tập tring vào việc tương thích với chuẩn
- Kiểm tra hiển thị dữ liệu
- Kiểm tra sự di chuyển các con trỏ trên màn hình
- Kiểm tra các texbox, label, button bố trí thẳng hàng có kích thước phù hợp không xô lệch
Cách kiểm thử Kiểm thử thủ công Điềukiện hoàn thành
Tất cả các testcase đã được thực hiện kiểm tra và mọi lỗi phát hiện đều đã được ghi nhận Tester cần nắm vững thiết kế giao diện của hệ thống để đảm bảo hiệu quả trong quá trình kiểm thử.
Bảng 3.7 Kiểm thử hồi quy
Kiểm thử hồi quy nhằm mục đích phát hiện lỗi sau khi có sự thay đổi trong mã nguồn Quá trình này kiểm tra lại các lỗi đã được sửa để đảm bảo rằng chúng đã được khắc phục và rằng các thay đổi không gây ra lỗi mới trong các phần khác của hệ thống.
Cách thực hiện Tái sử dụng các testcase từ những phần test trước để test các module đã được sửa chữa
Công cụ Thủ công Điều kiện hoàn thành
Toàn bộ các test case đã được thực hiện và đạt yêu cầu
Tài nguyên -Hệ thống:Phần cứng: Máy tính
-Môi trường: Thiết lập môi trường test sao cho giống thực tế nhất
Passed tất cả các testcases đã được định nghĩa
Hệ thống chạy ổn định
- Không cài đặt được chương trình do thiếu nguồn tài nguyên phần cứng và phần mềm để phục vụ cho quá trình test
- Bên dev bàn giao sản phẩm chậm so với kế hoạch
- Không thể hoàn thành đúng tiến độ
THỰC HIỆN KIỂM THỬ PHẦN MỀM QUẢN LÝ NHÂN SỰ VÀ BÁN VÉ XEM PHIM TẠI RẠP CHIẾU PHIMPLATINUM CINEPLEX
Kiểm thử chức năng quản lý người dùng
4.1.1 Ch ứ c n ă ng đă ng nh ậ p
• Bảng mô tả chức năng đăng nhập
Bảng 4.1 Bảng mô tả chức năng đăng nhập
Tên chức năng: Đăng nhập Đầu vào: Đầu vào: Tài khoản, mật khẩu Đầu ra: Thành công
Bước 1: Hệ thống hiển thị form đăng nhập
Bước 2: Người dùng nhập tài khoản và mật khẩu, button “OK”
Hệ thống kiểm tra tài khoản và mật khẩu của người dùng Nếu thông tin đăng nhập đúng, người dùng sẽ được chuyển đến bước 3 Ngược lại, nếu tài khoản hoặc mật khẩu sai, hệ thống sẽ quay lại bước 1 và thông báo lỗi cho người dùng về việc nhập thông tin không hợp lệ.
Nếu bạn nhập sai Username hoặc Password, hệ thống sẽ thông báo lỗi Nếu một trong hai trường để trống, sẽ hiển thị "Yêu cầu nhập UserName" cho Tên đăng nhập hoặc "Yêu cầu nhập Password" cho Mật khẩu Nếu cả hai trường đều bỏ trống, thông báo sẽ là "Yêu cầu nhập Username và Password" Sau khi hoàn tất các bước này, bạn sẽ đăng nhập vào hệ thống thành công.
Hình 4.1 Một số test casecủa chức năng đăng nhậpp
Hình 4.2 MMột số test case kiểm thử giao diện đăng nhng nhập
4.1.2 Ki ể m th ử ch ứ c n ă ng t ạ o tài kho ả n
• Bảng mô tả chức năng tạo tài khoản
Bảng 4.2 Bảng mô tả chức năng tạo tài khoản
Tên chức năng: Tạo tài khoản Đầu vào: Tên nhân viên,Tên đăng nhập,mật khẩu,quyền Đầu ra: Tên nhân viên,Tên đăng nhập,mật khẩu,quyền
Tiền xử lý: Đăng nhập hệ thống
Bước 1: Đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản trị” Click vào chức năng Tạo tài khoản
Bước 2: Người dùng nhập đầy đủ các thông tin yêu cầu: Tên nhân viên,Tên đăng nhập,mật khẩu,quyền
Bước 3: Người dùng chọn “Create”
Khi bạn nhập đầy đủ và chính xác thông tin, nhấn nút “Thêm”, hệ thống sẽ hiển thị thông báo “Thêm thành công” và chuyển sang bước 4 Nếu có trường nào bị bỏ trống, thông báo lỗi sẽ được hiển thị.
Khi yêu cầu nhập đầy đủ thông tin, nếu nhân viên đã có tài khoản trong hệ thống, sẽ không thể tạo thêm tài khoản mới và hệ thống sẽ hiển thị thông báo "Mỗi nhân viên chỉ được tạo một tài khoản."
Bước 4: Hệ thống lưu thông tin mới vào cơ sở dữ liệu
Một số test case của chức năng tạo tài khokhoản
Kiểm thử chức năng quản lý nhân viên
4.2.1 Ch ứ c n ă ng qu ả n lý thông tin nhân viên
4.2.1.1 Kiểm thử chức năng thêm thông tin nhân viên
• Bảng mô tả chức năng thêm thông tin nhân viên
Bảng 4.3 Bảng mô tả chức năng thêm thông tin nhân viên
Chức năng quản lý thông tin nhân viên bao gồm các đầu vào như mã nhân viên, loại nhân viên, tên nhân viên, địa chỉ, quê quán, số điện thoại, chứng minh thư, mã số thuế, ngày sinh, giới tính, phòng ban, chức vụ và ngày bắt đầu Kết quả đầu ra sẽ bao gồm các thông tin tương tự, giúp quản lý và theo dõi thông tin nhân viên một cách hiệu quả.
Tiền xử lý: Đăng nhập hệ thống
Bước 1: Đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản lý nhân viên” Click vào chức Danh sách nhân viên
Người dùng cần điền đầy đủ thông tin bao gồm mã nhân viên, loại nhân viên, tên nhân viên, địa chỉ, quê quán, số điện thoại, chứng minh thư, mã số thuế, ngày sinh, giới tính, phòng ban, chức vụ và ngày áp dụng.
Bước 3: Người dùng chọn “Thêm”
Nếu nhập các thông tin hiện thị thông báo “Th
4.Còn nếu bỏ trống 1 tr thông báo "Yêu cầu nhậ
Hình 4.4 minh họa các test case với thông tin đầy đủ và chính xác khi nhấn vào nút thông báo “Thêm nhân viên thành công” Sau đó, hệ thống sẽ chuyển sang bước nhập thông tin vào một trong những trường đã đề cập Thông tin mới sẽ được thêm vào cơ sở dữ liệu, và quá trình kiểm thử giao diện quản lý thông tin nhân viên sẽ được thực hiện thông qua nút “Thêm”, hiển thị thông tin nhân viên.
Hình 4.5 Một số test case của chức năng thêm thông tin nhân viênthông tin nhân viên
4.2.1.2 Kiểm thử chức năng sửa thông tin nhân viên
• Bảng mô tả chức năng sửa thông tin nhân viên
Bảng 4.4 Bảng mô tả chức năng sửa thông tin nhân viên
Chức năng sửa thông tin nhân viên cho phép cập nhật các thông tin quan trọng như mã nhân viên, loại nhân viên, tên, địa chỉ, quê quán, số điện thoại, chứng minh thư, mã số thuế, ngày sinh, giới tính, phòng ban, chức vụ và ngày bắt đầu Dữ liệu đầu vào bao gồm các thông tin này và sau khi sửa đổi, hệ thống sẽ trả về thông tin đã cập nhật, đảm bảo tính chính xác và đồng nhất trong quản lý nhân sự.
Tiền xử lý: Đăng nhập hệ thống
Bước 1: Đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản lý nhân viên” Click vào chức Danh sách nhân viên
Bước 2: Hệ thống hiển thị danh sách thông tin nhân viên
Bước 3: Người dùng chọn tên nhân viên muốn thay đổi thông tin
Bước 4: Hệ thống sẽ hiển thị các giá trị có thể thay đổi của nhân viên Người dùng tiến hành chỉnh sửa thông tin và nhấn nút “Sửa” để hệ thống thực hiện yêu cầu.
Khi sửa thông tin hợp lệ, hệ thống sẽ hiển thị thông báo "Sửa nhân viên thành công" và chuyển sang bước 5 Nếu có trường nào bị bỏ trống, thông báo "Yêu cầu nhập đầy đủ thông tin" sẽ xuất hiện Ở bước 5, hệ thống sẽ lưu thông tin mới vào cơ sở dữ liệu.
Hình 4.6 Một số m thử ố test case kiểm chức năngsửa thông tin nhân a thông tin nhân viên
4.2.1.3 Kiểm thử chức năng xóa thông tin nhân viên
• Bảng mô tả chức năng xóa thông tin nhân viên
Bảng 4.5 Bảng mô tả chức năng xóa thông tin nhân viên
Chức năng xóa thông tin nhân viên yêu cầu đầu vào bao gồm mã nhân viên, loại nhân viên, tên nhân viên, địa chỉ, quê quán, số điện thoại, chứng minh thư, mã số thuế, ngày sinh, giới tính, phòng ban, chức vụ và ngày áp dụng Kết quả đầu ra sẽ bao gồm các thông tin tương tự như mã nhân viên, loại nhân viên, tên nhân viên, địa chỉ, quê quán, số điện thoại, chứng minh thư, mã số thuế, ngày sinh, giới tính, phòng ban, chức vụ và ngày áp dụng.
Tiền xử lý: Đăng nhập hệ thống
Bước 1: đăng nhập hệ thống thành công, người dùng chọn chức năng “Quản lý nhân viên” Click vào chức Danh sách nhân viên
Bước 2: Hệ thống hiển thị danh sách thông tin nhân viên
Bước 3: Người dùng chọn nhân viên cần xóa và bấm button “ xóa”
Bước 4: Hệ thống đưa ra thông báo xác nhận xóa:
Nếu đồng ý hiển thị thông báo”Xóa nhân viên thành công” chuyển sang bước 5
- Nếu hủy: Thông báo bị tắt Thông tin của nhân viên đó được giữ nguyên Bước 5: Thông tin của nhân viên đó được xóa khỏi CSDL
Hình 4.7 Một số m thi test case kiểm chức năngxóa thông tin nhân viêngxóa thông tin nhân viên
4.2.2 Ch ứ c n ă ng qu ả n lý quá trình làm vi ệ c
4.2.2.1 Kiểm thử chức năng thêm quá trình làm việc
• Bảng mô tả chức năng thêm quá trình làm việc
Bảng 4.6 Bảng mô tả chức năng thêm quá trình làm việc
Chức năng "Thêm quá trình làm việc" cho phép người dùng nhập thông tin bao gồm tên nhân viên, tên phòng ban, tên chức vụ, ngày bắt đầu và ngày kết thúc Kết quả đầu ra sẽ hiển thị đầy đủ các thông tin này, giúp quản lý quá trình làm việc một cách hiệu quả.
Tiền xử lý: Đăng nhập hệ thống
Bước 1: Đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản lý nhân viên” Click vào chức Quá trình làm việc
Người dùng cần nhập đầy đủ thông tin yêu cầu bao gồm tên nhân viên, tên phòng ban, tên chức vụ, ngày bắt đầu và ngày kết thúc, sau đó chọn “Thêm” để hoàn tất quy trình.
Khi bạn nhập đầy đủ và chính xác thông tin và nhấn nút “thêm”, sẽ có thông báo “Thêm nhân viên thành công” và chuyển sang bước 4 Ngược lại, nếu có trường nào bị bỏ trống, hệ thống sẽ hiển thị thông báo "Yêu cầu nhập đầy đủ thông tin".
Bước 4: Hệ thống lưu thông tin mới vào cơ sở dữ liệu
Hình 4.8 Một số test case m thi test case kiểm thử chức năng thêm quá trình làm viình làm việc
4.2.2.2 Kiểm thử chức năng tìm kiếmquá trình làm việc
• Bảng mô tả chức năng tìm kiếmquá trình làm việc
Bảng 4.7 Bảng mô tả chức năng tìm kiếm quá trình làm việc
Chức năng tìm kiếm quá trình làm việc cho phép người dùng nhập các thông tin như tên nhân viên, tên phòng ban, tên chức vụ, ngày bắt đầu và ngày kết thúc Kết quả trả về bao gồm các thông tin tương ứng: tên nhân viên, tên phòng ban, tên chức vụ, ngày bắt đầu và ngày kết thúc.
Tiền xử lý: Đăng nhập hệ thống
Bước 1: Đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản lý nhân viên” Click vào chức Quá trình làm việc
Bước 2: Hệ thống hiển thị danh sách quá trình làm việc
Khi người dùng nhập thông tin vào textbox theo tiêu chí tìm kiếm và nhấn nút “Tìm kiếm QTLV”, hệ thống sẽ tự động thực hiện tìm kiếm dựa trên thông tin đã nhập.
Bước 4 :Tìm kiếm quá trình làm việc của nhân viên theo tiêu chí đã được nhập vào(nếu có)
Hình 4.9 Một số test case m thi test case kiểm thử chức năng tìm kiếm quá trình làm viquá trình làm việc
4.2.3 Ch ứ c n ă ng c ậ p nh ậ p Phòng ban
4.2.3.1 Kiểm thử chức năng thêm Phòng ban
• B ả ng mô t ả ch ứ c n ă ng thêm Phòng ban
Chức năng "Thêm phòng ban" cho phép người dùng nhập mã phòng ban, tên phòng ban và ghi chú Kết quả đầu ra sẽ bao gồm mã phòng ban, tên phòng ban và ghi chú đã nhập.
Tiền xử lý: Đăng nhập hệ thống
Bước 1: Đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản lý nhân viên” Click vào chức năng cập nhập phòng ban
Bước 2: Người dùng nhập đầy đủ các thông tin yêu cầu: Mã phòng ban, Tên phòng ban, Ghi chú
Bước 3: Người dùng chọn “Thêm
Khi bạn nhập đầy đủ và chính xác thông tin, nhấn nút "Thêm" sẽ hiển thị thông báo "Thêm thành công" và chuyển sang bước 4 Nếu có trường nào bị bỏ trống, hệ thống sẽ thông báo "Yêu cầu nhập đầy đủ thông tin".
Bước 4: Hệ thống lưu thông tin mới vào cơ sở dữ liệu
Hình 4.10 Một s m thi t số test case kiểm thử chức năng thêm phòng banòng ban
Kiểm thử chức năng quản lý phim
4.3.1 Ch ứ c n ă ng danh sách phim
4.3.1.1 Kiểm thử chức năng thêm phim
• Bảng mô tả chức năng thêm phim
Chức năng "Danh sách phim" cho phép người dùng thêm thông tin chi tiết về phim, bao gồm các trường như mã phim, dạng phim, loại phim, nhà phát hành, tên phim, độ dài, ngày bắt đầu, ngày dừng chiếu, ghi chú và mô tả Đầu vào của chức năng này bao gồm tất cả các thông tin nêu trên, và đầu ra cũng sẽ phản ánh đầy đủ các trường dữ liệu tương ứng.
Tiền xử lý: Đăng nhập hệ thống
Bước 1: đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản lý phim” Click vào chức năng danh sách phim
Bước 2: Người dùng cần nhập đầy đủ thông tin yêu cầu bao gồm: Mã phim, Dạng phim, Loại phim, Nhà phát hành, Tên phim, Độ dài, Ngày bắt đầu, Ngày dừng chiếu, Ghi chú và Mô tả.
Bước 3: Người dùng chọn “Thêm
Khi nhập thông tin đầy đủ và chính xác, hệ thống sẽ hiển thị thông báo "Thêm thành công" và tự động chuyển sang bước tiếp theo Tuy nhiên, nếu bỏ trống một trong số những trường thông tin bắt buộc, hệ thống sẽ hiển thị thông báo "Yêu cầu nhập đầy đủ thông tin" để nhắc nhở người dùng hoàn thiện thông tin cần thiết.
Bước 4: Hệ thống lưu thông tin mới vào cơ sở dữ liệu
Hình 4.11 M m thi ột số test case kiểm thử chức năng thêm phng thêm phim
4.3.1.2 Kiểm thử chức năng sửaphim
• Bảng mô tả chức năng sửa phim
Chức năng "Danh sách phim" cho phép người dùng nhập các thông tin như mã phim, dạng phim, loại phim, nhà phát hành, tên phim, độ dài, ngày bắt đầu, ngày dừng chiếu, ghi chú và mô tả Kết quả đầu ra sẽ bao gồm các thông tin tương tự, giúp quản lý và theo dõi các bộ phim một cách hiệu quả.
Tiền xử lý: Đăng nhập hệ thống
Bước 1: Đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản lý phim” Click vào chức năng danh sách phim
Bước 2: Hệ thống hiển thị danh sách phim
Bước 3: Người dùng chọn phim muốn thay đổi thông tin
Bước 4: Hệ thống sẽ hiển thị các giá trị có thể thay đổi trong danh sách phim Người dùng có thể chỉnh sửa thông tin và sau đó nhấn nút để lưu lại các thay đổi.
“Sửa” để cho phép hệ thống thực hiện theo yêu cầu
Nếu thông tin hợp lệ được sửa, hệ thống sẽ hiển thị thông báo "Sửa thành công" và chuyển sang bước 5 Ngược lại, nếu có trường bắt buộc nào bị bỏ trống, sẽ hiện thông báo "Yêu cầu nhập đầy đủ thông tin".
Bước 5: Hệ thống lưu thông tin mới vào cơ sở dữ liệu
Hình 4.12 Một số test case m thi test case kiểm thử chức năng sửa phim
4.3.2 Ch ứ c n ă ng c ậ p nh ậ p nhà phát hành
4.3.2.1 Kiểm thử chức năng thêm nhà phát hành
• Bảng mô tả chức năng thêm nhà phát hành
Bảng 4.11 Bảng mô tả chức năng thêm nhà phát hành
Tên chức năng: Cập nhập nhà phát hành Đầu vào: Mã nhà phát hành, Tên nhà phát hành Đầu ra: Mã nhà phát hành, Tên nhà phát hành
Tiền xử lý: Đăng nhập hệ thống
Bước 1: Đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản lý phim” Click vào chức năng cập nhập nhà phát hành
Bước 2: Người dùng nhập đầy đủ các thông tin yêu cầu: Mã nhà phát hành, Tên nhà phát hành
Bước 3: Người dùng chọn “Thêm
Khi người dùng nhập đầy đủ và chính xác thông tin, nhấn nút "Thêm" sẽ hiển thị thông báo “Thêm thành công” và chuyển sang bước 4 Ngược lại, nếu có trường bắt buộc nào bị bỏ trống, hệ thống sẽ thông báo "Yêu cầu nhập đầy đủ thông tin".
Bước 4: Hệ thống lưu thông tin mới vào cơ sở dữ liệu
Bảng 4.12 Tên chức năng: Cập nh Đầu vào: Mã nhà phát hành, Đầu ra: Mã nhà phát hành,
Tiền xử lý: Đăng nhậ
“Quản lý phim” Click vào ch
Bước 3: Người dùng thực hiện kiểm thử chức năng thêm và sửa nhà phát hành Để cập nhật thông tin nhà phát hành, người dùng cần nhập mã và tên nhà phát hành vào hệ thống Sau khi đăng nhập thành công, người dùng nhấn vào chức năng cập nhật, danh sách nhà phát hành sẽ hiển thị Từ danh sách này, người dùng chọn nhà phát hành muốn thay đổi thông tin và thực hiện việc sửa đổi.
Người dùng thực hiệ để cho phép hệ thống th
Nếu sửa các thông tin h chuyển sang bước 5 C thì hiện thị thông báo
Hình 4.14 trình bày một số giá trị cho phép thay đổi của nhà hiện sửa thông tin Người dùng cần thực hiện theo yêu cầu để các thông tin hợp lệ hiển thị thông báo "Sửa thành công" Nếu có trường nào bị bỏ trống, hệ thống sẽ thông báo "Yêu cầu nhập đầy đủ thông tin" Sau khi nhập thông tin mới, dữ liệu sẽ được cập nhật vào cơ sở dữ liệu và kiểm thử chức năng sửa nhà phát hành Người dùng chỉ cần bấm nút “Sửa” để hoàn tất quá trình.
4.3.3 Ch ứ c n ă ng c ậ p nh ậ p phòng chi ế u
4.3.3.1 Kiểm thử chức năng thêm phòng chiếu
• Bảng mô tả chức năng thêm phòng chiếu
Chức năng "Cập nhật phòng chiếu" cho phép người dùng nhập thông tin bao gồm mã phòng, số ghế, ghi chú và số hàng Kết quả đầu ra sẽ hiển thị các thông tin tương ứng như mã phòng, số ghế, ghi chú và số hàng.
Tiền xử lý: Đăng nhập hệ thống
Bước 1: Đăng nhập hệ thống thành công, người dùng chọn chức năng
“Quản lý phim” Click vào chức năng cập nhập phòng chiếu
Bước 2: Người dùng nhập đầy đủ các thông tin yêu cầu: Mã phòng, Số ghế, Ghi chú, Số hàng
Bước 3: Người dùng chọn “Thêm
Khi người dùng nhập đầy đủ và chính xác thông tin, nhấn nút "Thêm", hệ thống sẽ hiển thị thông báo "Thêm thành công" và chuyển sang bước 4 Nếu có trường bắt buộc nào bị bỏ trống, thông báo "Yêu cầu nhập đầy đủ thông tin" sẽ xuất hiện Ngoài ra, nếu thông tin nhập vào không hợp lệ, dữ liệu sẽ không được thêm vào cơ sở dữ liệu.
Bước 4: Hệ thống lưu thông tin mới vào cơ sở dữ liệu
Hình 4.15 Một s m thi t số test case kiểm thử chức năng thêm phòng chithêm phòng chiếu
Quá trình trao đổi giữa Dev và Test
Hình 4.16 Hình trình trao đổi giữa Dev và Test
Hình ảnh quá trình trao đổi giữa Dev và Test.a Dev và Test.