| Instructor(s) | Dr. Reza Samavi [Coordinator] Office: ENG457 Phone: (416) 979-5000 x 554903 Email: samavi@torontomu.ca Office Hours: TBA | ||||||||||||||
| Calendar Description | Introduces students to various techniques to verify and validate software and software-hardware co-design systems with an emphasis on the design and implementation of system-level software, System-On-Chip systems, Electronic-Design-Automation tool flows, and embedded systems. | ||||||||||||||
| Prerequisites | COE 692 | ||||||||||||||
| Antirequisites | None | ||||||||||||||
| Corerequisites | None | ||||||||||||||
| Compulsory Text(s): |
| ||||||||||||||
| Reference Text(s): |
| ||||||||||||||
| Learning Objectives (Indicators) | At the end of this course, the successful student will be able to:
NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB). | ||||||||||||||
| Course Organization | 3.0 hours of lecture per week for 13 weeks | ||||||||||||||
| Teaching Assistants | TBA | ||||||||||||||
| Course Evaluation |
Note: In order for a student to pass a course, a minimum overall course mark of 50% must be obtained. In addition, for courses that have both "Theory and Laboratory" components, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section above for details on the Theory and Laboratory components (if applicable). | ||||||||||||||
| Examinations | Midterm examination in Week 7, 1.5-2 hours, closed book (covers Weeks 1-6). Final examination, during exam period, 2-3 hours, closed book (covers Weeks 1-13). | ||||||||||||||
| Other Evaluation Information | In order to achieve a passing grade in this course, the student must achieve an average of at least 50% in both theoretical and laboratory components. | ||||||||||||||
| Teaching Methods | - Notes/slides from the class lectures will be posted on D2L. - Laptops/computer systems are mandatory requirement for the course lectures and labs. - Audio/video recordings of the lecture delivery will not be posted on D2L. Individual students may record the lectures at their own discretion and the professor is not responsible for such recordings. | ||||||||||||||
| Other Information | All the labs have to be performed individually by each student. Each lab has its own weight as specified in the lab instructions. Submissions that are substantially similar will be considered plagiarized. Projects requires to be completed in a team of students from the same lab section. Any late submission of the lab deliverable will be deducted 10% per day up to 8 days, whereby the lab will not be accepted. Generative AI Course Policy Expectations around appropriate and inappropriate use of Generative Artificial Intelligence (sample syllabus statements). https://docs.google.com/document/d/1xk7hP2Ihh7WL3AViKxJJpLAM_Jy9IvZoaoNnxBbngjU/edit?usp=sharing Include the Academic Integrity Office's student facing resource: FAQs: Academic Integrity and AI Use at TMU. https://docs.google.com/document/d/1HVre0-YflnPA5WPAYR6Ecjv_OwqDP0TMcOePCQQYIaU/preview?tab=t.0#heading=h.qcfhdt6b496b | ||||||||||||||
Week | Hours | Chapters / | Topic, description |
|---|---|---|---|
1 | 3 | AO: Ch. 1, Ch. 2.1 | Introduction to Software Testing and and Quality Assurance; Course administration; Goals of testing software; Key concepts of software testing; |
2 | 3 | AO: Ch.2, Ch. 3, and Ch. 4 | Software Model Driven Test Design (MDTD), Agile SDLC and Agile testing methodologies, Data-Driven Tests (DDT), Test automation: JUnit test framework, Java path finder, and other automated test frameworks; |
3 | 3 | AO:Ch. 5, Ch. 7.1 | Criteria and coverage; Graph coverage overview; Infeasibility and subsumption; |
4 | 3 | AO: Ch. 6 | Input Space Partitioning (ISP); Input Domain Modeling: Interface based, functionality based; |
5 | 3 | AO: Ch. 7.2, Ch. 7.3 | Graph coverage criteria; Introduction to graph control flow; Data flow criteria; Graph coverage for source code; |
6 | 3 | AO: Ch. 7.4, 7.5 | Graph coverage for specifications; Graph coverage for design; Graph coverage for use cases; |
7 | 3 | AO: Ch. 7.6. Ch. 8.1 | Techniques for improving test design; Semantic logic coverage criteria; |
8 | 3 | AO: Ch. 8.1-8.3 | Specification-based logic coverage; Logic coverage of finite state machines (FSM); Hardware(RTL,System Verilog)/software co-design and verification; |
9 | 3 | AO: Ch. 8.4-8.7 and posted material | Syntax based Testing: Program-Based Mutation, Integration Mutation |
10 | 3 | AO: Ch. 9, Ch. 13 | Specification-Based Mutation; Continuous integration (regression testing) and containerized testing strategy; |
11 | 3 | AO: Ch. 10, 11, and 14 | AI-Assisted Software Testing. Using an LLM as a Testing Assistant via ChatUniTest. |
12 | 3 | posted material | Software verification; Principles of verifying and validating of system-level software, System-On-Chip, and embedded systems; |
13 | 3 | posted material | Research topics in software testing and quality assurance; Software testing and artificial intelligence; Final exam review; |
Week | L/T/A | Description |
|---|---|---|
2-3 | Lab 1 | JUnit. Review of Automated Testing |
4-5 | Lab 2 | Coverage-based Test Design, Code Coverage tools (OpenClover), Input Domain Model and derive Input Space Partitioning (ISP) test inputs; |
6-7 | Lab 3 | Web application testing with ISP approach using TestNG and Selenium. (week 6) |
8-9 | Lab 4 | Graph coverage prime path and complete path; Apply structural graph coverage and data flow coverage to source code; Apply graph coverage to test various parts of the software design (weeks 8 and 9). |
10 | Lab 5 | Logic coverage; Automatic Generation of High-Coverage Tests for Complex Systems Programs. |
11 | Lab 6 | Syntax based testing, Mutation Testing |
12-13 | Project | Project activities: Project Q&A and review (week 12) |
Students are reminded that they are required to adhere to all relevant university policies found in their online course shell in D2L and/or on the Senate website
Refer to the Departmental FAQ page for furhter information on common questions.
The University Libraries provide research workshops and individual consultation appointments. There is a drop-in Research Help desk on the second floor of the library, and students can use the Library's virtual research help service to speak with a librarian, or book an appointment to meet in person or online.
You can submit an Academic Consideration Request when an extenuating circumstance has occurred that has significantly impacted your ability to fulfill an academic requirement. You may always visit the Senate website and select the blue radio button on the top right hand side entitled: Academic Consideration Request (ACR) to submit this request.
For Extenuating Circumstances, Policy 167: Academic Consideration allows for a once per semester ACR request without supporting documentation if the absence is less than 3 days in duration and is not for a final exam/final assessment. Absences more than 3 days in duration and those that involve a final exam/final assessment, always require documentation. Students must notify their faculty/contract lecturer once a request for academic consideration is submitted. See Senate Policy 167: Academic Consideration.
Longer absences are not addressed through Policy 167 and should be discussed with your Chair/Director/Program to be advised on next steps.
Students are to strictly adhere and follow:
During the lab sessions, to avoid tripping hazards, the area around the lab stations should not be surrounded by bags, backpacks etc, students should place their bags, backpacks etc against the walls of the labs and/or away from their lab stations in such a way that it avoids tripping hazards.
Academic Accommodation Support (AAS) is the university's disability services office. AAS works directly with incoming and returning students looking for help with their academic accommodations. AAS works with any student who requires academic accommodation regardless of program or course load.
Academic Accommodations (for students with disabilities) and Academic Consideration (for students faced with extenuating circumstances that can include short-term health issues) are governed by two different university policies. Learn more about Academic Accommodations versus Academic Consideration and how to access each.
At Toronto Metropolitan University, we recognize that things can come up throughout the term that may interfere with a student’s ability to succeed in their coursework. These circumstances are outside of one’s control and can have a serious impact on physical and mental well-being. Seeking help can be a challenge, especially in those times of crisis.
If you are experiencing a mental health crisis, please call 911 and go to the nearest hospital emergency room. You can also access these outside resources at anytime:
If non-crisis support is needed, you can access these campus resources:
We encourage all Toronto Metropolitan University community members to access available resources to ensure support is reachable. You can find more resources available through the Toronto Metropolitan University Mental Health and Wellbeing website.