Nếu bạn cũng đang là “chiến hữu” chuẩn bị thi PE môn SWT301 (Software Testing) kỳ SU25 giống mình thì chắc hẳn đang lo lắng không biết đề sẽ như thế nào đúng không Bài thi này tuy 85 phút nhưng đọc yêu cầu, phân tích test case rồi viết đủ bước cũng dễ bị cuống nếu chưa quen format.
Thế nên mình chia sẻ lại đề thi thử PE SWT301 - Software Testing để anh em sinh viên FPTU có chỗ luyện tay, quen cách làm bài và test tốc độ trước khi vào phòng thi thật. Hy vọng sẽ giúp mọi người “qua môn” nhẹ nhàng hơn và bớt căng thẳng trước kỳ thi chính thức.
Giới thiệu nhanh về bài thi PE môn SWT301
PE - hay còn gọi là Practical Exam của môn SWT301 (Software Testing), đây là bài kiểm tra thực hành chiếm phần lớn điểm số cuối kỳ.
Trong 85 phút, sinh viên sẽ được giao một yêu cầu kiểm thử phần mềm và phải:
- Đọc và phân tích yêu cầu của đề bài
- Thiết kế Test Case theo các kỹ thuật (EP, BVA, Decision Table…)
- Viết Test Data, xác định expected result
- Đảm bảo format chuẩn để giảng viên dễ chấm điểm
Nghe thì “ngầu” vậy thôi, nhưng thực tế 85 phút trôi nhanh như gió. Ai chưa quen cách trình bày hoặc quên template dễ rơi vào cảnh “đang làm ngon thì hết giờ”.
Vì vậy, đề thi thử PE SWT301 này sẽ giúp bạn luyện trước, quen format, và có chiến thuật làm bài hợp lý hơn trước khi bước vào thi thật.
Nội quy kỳ thi môn SWT301 (Software Testing)
Trước khi vào phòng thi PE, có vài “luật chơi” mà ai cũng nên nhớ để tránh mất điểm oan hoặc bị “thầy cô giám thị dòm ngó”. Nội dung này mình tổng hợp lại từ nội quy chính thức của kỳ thi PE SWT301 SU25, để anh em nắm rõ.
Phần mềm được sử dụng
- Sinh viên dùng phần mềm PEA để đọc đề và trả lời câu hỏi theo template được cung cấp kèm theo đề thi.
- Được phép sử dụng: Tài liệu giấy, tài liệu offline trên máy tính, máy tính cầm tay, phần mềm Excel, Visio.
Nghiêm cấm
- Sinh viên không kết nối internet, không trao đổi ra bên ngoài, không dùng các phần mềm khác ngoài phần mềm cho phép (chỉ dùng Excel).
- Không được chụp màn hình, đóng/mở code (GIT, OneDrive, Dropbox hoặc công cụ tương tự), chạy máy ảo (VMWare, VirtualBox,…), cheat, dùng các phần mềm chat (Zalo, Viber, Skype, Messenger, …), mở các tab trình duyệt như Gmail, Live Inbox, Email, Teamviewer, Ultra Viewer,…
- Đây là các hành động VI PHẠM, nếu phát hiện các tiến trình lạ đang chạy (kể cả chưa sử dụng), bài thi sẽ bị xử lý.
- Đề nghị tắt tất cả các chương trình này trước khi thi.
Hậu kiểm
- Mọi thao tác trên máy tính trong quá trình làm bài đều được phần mềm ghi nhật ký (write logs) và lưu trên máy chủ nhà trường làm bằng chứng xử lý khi có vi phạm.
- Nếu điểm thi PE có sự chênh lệch lớn so với các bài kiểm tra khác, giảng viên có quyền phỏng vấn trực tiếp để xác định mức độ hiểu bài của sinh viên.
- Trong quá trình thi, nếu có vấn đề phát sinh, sinh viên báo giám thị ngay, sau đó có thể gửi email cho khảo thí để được xem xét.
Đề Thi Thử PE SWT301 (Software Testing) - Bản Đầy Đủ
Hello mọi người, dưới đây là đề thi thử môn Software Testing (SWT301) phần PE - kỳ SU25 mà mình vừa sưu tầm được. Anh em sinh viên FPTU chuẩn bị thi môn này có thể dùng để luyện đề trước 80 phút xem thực chiến nó áp lực cỡ nào nha. Dưới đây là toàn bộ đề gốc.
SWT301 SU25 – The final PE Test
Duration: 80 minutes
EduPortal – Online Education Management System
Instructions
- Proficiency in at least one programming language is necessary to perform adequately on certain exam questions.
- Students must submit their exam work in a single Word document; no other file formats will be accepted.
Description
SunBright is developing a new education management system (EduPortal) for schools and universities. The system allows students to register for courses, track academic progress, submit assignments, and take exams online. Teachers can manage class schedules, grading, attendance, and communicate with students through the platform. The system also supports admin-level features for reporting, user access control, and school-wide announcements.
Project Development Details
- Project Type: New Software Development
- Development Duration: 9 months
- Development Team: 8 developers
- Testing Team: 4 testers (including 1 QA lead)
Constraints
- The system must support concurrent access by thousands of users during peak registration and exam periods.
- Exam submission and grading modules must be accurate and tamper-proof.
- The portal must be mobile-friendly for both students and teachers.
- Integration with third-party services (e.g., payment gateways, learning management systems) must be seamless.
Question 1 (3 points): Selecting Test Strategy
Based on the project context, choose one or more testing strategies from the following:
- Analytical
- Model-based
- Methodical
- Process-/Standard-compliant
- Directed (consultative)
- Regression-averse
- Reactive (dynamic)
Answer Requirements:
- Identify the most suitable testing strategy or strategies for the project.
- Explain why this strategy (or strategies) is appropriate for the given system and constraints.
- Propose how to implement this strategy (or strategies) within the testing process for the EduPortal project.
Question 2 (3 points): Code Review and Bug Identification
Below is a Java method from the EduPortal system. Identify 6 errors related to coding conventions, coding standards, or coding logic. Identify and explain each defect using the following defect report template:
- Defect ID: __________ (Unique identifier for the defect, e.g., DF001, DF002)
- Defect Name: ______ (Descriptive name for the defect, such as "Naming Convention Error")
- Line Number: _______ (Specific line in the code where the defect occurs)
- Defect Description: __ (A brief, one-sentence explanation of the issue)
- Fixing Solution: _____ (Concise description of the code change to resolve the defect)
Question 3 (2 points): Component Test Case Design
Below is a method for classifying students based on their final grade.
public String classifyStudent(double finalGrade) {
if (finalGrade < 0 || finalGrade > 100) {
return "Invalid";
} else if (finalGrade >= 90) {
return "Excellent";
} else if (finalGrade >= 75) {
return "Good";
} else if (finalGrade >= 60) {
return "Average";
} else {
return "Poor";
}
}
Design Unit Test Cases to ensure:
- 100% Statement Coverage
- 100% Branch Coverage
- 100% Equivalence Partitioning Coverage
- 100% Boundary Value Coverage
Answer requirements:
- List all required test cases (including input values and expected output).
- Explain how the test cases ensure full coverage.
Question 4 (2 points): System Test Case Design
Requirement
Write System Test Cases to test two key business processes in the EduPortal system.
Process 1: Course Registration
- Student logs into the EduPortal.
- Navigates to the "Course Registration" module.
- Searches for available courses for the semester.
- Selects a course and reviews schedule, credits, and prerequisites.
- Submits course registration request.
- System checks for seat availability and prerequisite fulfillment.
- System confirms registration and updates the student’s timetable.
- Student views confirmation in registration history.
Process 2: Taking an Online Exam
- Student logs in and accesses the “Exams” section.
- Selects the assigned subject and exam session.
- Reads exam instructions.
- Starts the exam and answers questions within a time limit.
- Submits the exam before or when time expires.
- System records answers and displays a submission confirmation.
- Exam results are auto-evaluated (if applicable) or sent for grading.
- Student views result after grading is complete.
Answer Requirements
- Write at least 5 test cases for each process.
- Include:
- Normal Flow: Typical expected path.
- Alternative Flow: Other valid paths.
- Exception Flow: Invalid input, system issues, missing data.
Standard Format for Each Test Case
- Test Case ID
- Test Scenario
- Preconditions
- Test Steps
- Expected Result
Notes: You may state your assumptions to clarify conditions or system behavior.
Đáp án tham khảo đề thi thử PE SWT301
Answer to Question 1: Selecting Test Strategy
Selected Testing Strategies: Analytical, Regression-averse, Directed (Consultative)
Why These Strategies Are Appropriate
Analytical Strategy: Since EduPortal involves critical modules like online exams, grade calculation, and course registration, a risk-based analytical approach is essential. It helps prioritize testing based on the likelihood and impact of failure. (Vì EduPortal bao gồm các chức năng quan trọng như thi trực tuyến, tính điểm và đăng ký học phần, cách tiếp cận phân tích dựa trên rủi ro là rất cần thiết. Giúp ưu tiên kiểm thử dựa trên khả năng xảy ra và mức độ ảnh hưởng của lỗi).
Regression-averse Strategy: The project spans 9 months and involves continuous updates, increasing the risk of introducing new bugs in old functionalities. Automated regression testing ensures that new code changes do not break existing features. (Dự án kéo dài 9 tháng và liên tục cập nhật, dễ gây lỗi hồi quy trong các chức năng cũ. Việc kiểm thử hồi quy tự động đảm bảo các thay đổi mới không gây ảnh hưởng đến các chức năng đã có).
Directed (Consultative) Strategy: Since the system serves students, teachers, and admins, consulting with domain experts (educators and staff) helps capture realistic scenarios. This ensures that tests reflect real-world use cases and user expectations. (Vì hệ thống phục vụ sinh viên, giáo viên và quản trị viên, nên tham khảo ý kiến chuyên gia giúp xác định các tình huống sử dụng thực tế. Đảm bảo các bài kiểm thử phản ánh đúng nhu cầu và tình huống sử dụng ngoài thực tế).
How to Implement These Strategies
Analytical Strategy Implementation: Use risk-based testing: identify high-risk features like exams, grading, and payments. Design test cases using boundary value analysis, equivalence partitioning, and UML diagrams (use case, activity). (Sử dụng kiểm thử dựa trên rủi ro: xác định các tính năng có rủi ro cao như thi, chấm điểm, thanh toán. Thiết kế test case bằng phân tích giá trị biên, phân vùng tương đương và sơ đồ UML (use case, activity)).
Regression-averse Strategy Implementation: Set up CI/CD pipelines with automated testing tools like Selenium or JUnit. Maintain and regularly update a regression test suite. (Thiết lập quy trình CI/CD tích hợp công cụ kiểm thử tự động như Selenium hoặc JUnit. Duy trì và cập nhật bộ test hồi quy định kỳ).
Directed Strategy Implementation: Conduct user interviews, surveys, and workshops with teachers and students to collect test scenarios. Perform User Acceptance Testing (UAT) sessions to gather feedback before release. (Tổ chức phỏng vấn người dùng, khảo sát và hội thảo với giáo viên và sinh viên để thu thập kịch bản kiểm thử. Thực hiện các phiên kiểm thử chấp nhận người dùng (UAT) để thu thập phản hồi trước khi triển khai chính thức).
Answer to Question 2: Code Review and Bug Identification
studentName
, midtermScore
, and finalExamScore
are correct, but the constructor uses inconsistent parameter names like final
.final
to finalScore
to avoid using reserved keywords and ensure naming consistency.printResult()
method lack explicit access modifiers, reducing clarity.public
modifier to the constructor and printResult()
method.GetGradeLevel()
does not follow camelCase naming convention.getGradeLevel()
.0.4
, 0.6
, and grade thresholds are hardcoded and should be defined as constants.MIDTERM_WEIGHT
, FINAL_WEIGHT
, GRADE_A_THRESHOLD
, etc.-1
, but this value is not handled in getGradeLevel()
.getGradeLevel()
to handle the -1
case with a proper message or exception.printResult()
prints details directly; overriding toString()
would improve object representation.toString()
and call System.out.println(this)
in printResult()
.Answer to question 3 (2 points): Component Test Case Design
ID | Function name (parameter 1, parameter 2,…) | Expected Output |
---|---|---|
TC01 | classifyStudent(-1.0) | Invalid |
TC02 | classifyStudent(101.0) | Invalid |
TC03 | classifyStudent(100.0) | Excellent |
TC04 | classifyStudent(90.0) | Excellent |
TC05 | classifyStudent(89.9) | Good |
TC06 | classifyStudent(75.0) | Good |
TC07 | classifyStudent(74.9) | Average |
TC08 | classifyStudent(60.0) | Average |
TC09 | classifyStudent(59.9) | Poor |
TC10 | classifyStudent(0.1) | Poor |
Answer to question 4 (2 points): System Test Case Design
Process 1: Course Registration
ID | Description | Test Steps | Expected Result |
---|---|---|---|
TC01 | Successful registration for a course with available slots |
1. Navigate to “Course Registration” 2. Search for the course "MATH101" 3. Click "Register" 4. Confirm registration |
System registers the course, updates timetable, and displays confirmation message. |
TC02 | Registering for a course with no available seats |
1. Go to “Course Registration” 2. Search for full course "CS202" 3. Click "Register" |
System displays error message: "Course is full. Please choose another course." |
TC03 | Registering without fulfilling prerequisites |
1. Navigate to registration 2. Attempt to register for "PHY301" |
Registration is denied with message: "Prerequisite not met." |
TC04 | Student adds and drops a course within the registration period |
1. Register for "ENG101" 2. Navigate to "My Courses" 3. Click "Drop Course" |
Course is removed from timetable and confirmation is displayed. |
TC05 | Attempting to register outside of allowed registration period |
1. Navigate to “Course Registration” 2. Search and attempt to register for a course |
System shows: "Registration period has ended." |
Process 2: Taking an Online Exam
ID | Description | Test Steps | Expected Result |
---|---|---|---|
TC06 | Successful exam submission within time |
1. Start exam 2. Answer all questions 3. Click "Submit" before time expires |
System records answers, shows confirmation message. |
TC07 | Exam autosubmitted when time runs out |
1. Start exam 2. Let timer run until 00:00 |
System automatically submits the exam and confirms submission. |
TC08 | Attempting to access an exam before its start time | 1. Attempt to enter exam room before scheduled time | System displays message: "Exam not yet available." |
TC09 | Losing internet connection during exam |
1. Start exam 2. Disconnect from internet mid-exam 3. Reconnect after 1 minute |
System saves progress periodically and allows resume if supported. |
TC10 | Viewing results after grading | 1. Navigate to “My Exams” | System displays score, breakdown, and feedback if available. |
Download đề thi và đáp án
Bạn có thể tải về đề thi và đáp án đầy đủ ngay bên dưới!
DownloadKết luận
Đề thi thử PE SWT301 kỳ SU25 thực sự là một bài tập rất đáng để thử sức. Làm đề giúp mình hình dung rõ hơn đề chính thức ra sao, cách phân bổ thời gian thế nào và quan trọng nhất là biết mình đang yếu phần nào để kịp bổ sung.
Với mình, mỗi lần làm đề giống như một lần “tập dợt”, không áp lực điểm số, chỉ tập trung vào luyện tư duy test case và cách trình bày cho gọn gàng, logic hơn. Hy vọng những bạn ôn sau sẽ thử làm đề này, vừa tự tin hơn trước kỳ PE vừa có thêm chút “vốn liếng” kinh nghiệm để thi thật thoải mái hơn.