Software Engineering Testing - Winter 2023
General
- Undergraduate; 4th year
- 60 learners; individual projects
- 15 hours per learner
- Dates set by experience
- Learners self-assign
Preferred companies
- 1/1 project matches
- Anywhere
- Academic experience
- Any
- Any
Categories
Skills
Project timeline
-
January 2, 2023Experience start
-
January 28, 2023Final Reports
-
February 23, 2023Project 2: Code-based testing
-
March 22, 2023Project 1: Specification-based testing
-
April 15, 2023Experience end
Timeline
-
January 2, 2023Experience start
-
January 28, 2023Final Reports
Final reports are shared with the partners.
-
February 23, 2023Project 2: Code-based testing
The second project (code-based testing) is started after week 8 is finished. Students will get two weeks to finish the project and submit their reports.
-
March 22, 2023Project 1: Specification-based testing
The first project (specification-based testing) is started after week 4 of the term is finished. Students will get two weeks to finish the project and submit their reports.
-
April 15, 2023Experience end
Overview
- Details
-
Bring on fourth year Computer Science students from York University's Lassonde School of Engineering to be your program tester, in a project-based experience. Students will work on one main project over the course of the semester.
Community partners are invited to present a specification-based and code-based testing challenge for the students to address for the duration of the semester.
Upon successful completion of the project, students should be able to produce quality written reports describing their testing.
- Learner skills
- Software engineering, Computer science
- Deliverables
-
A final project outcome includes:
- A detailed report describing the complete set of test cases by which the system is tested. The document will include the software performance as well.
Project Examples
Community partners are invited to present either a specification-based or code-based testing challenge, the criteria for each are listed below:
SPECIFICATION-BASED:
Students will learn specification-based unit testing methods including the use of equivalence class, boundary value and decision table. As part of the students learning, a community partner provides a document containing the specification of a project (i.e., the specification of a unit or a couple of units) and students are asked to prepare a document including a set of test cases that they think are required to (almost) comprehensively test the code. For example, if the unit is a function, students should be given the signature of the function. If the unit is a class, students should be given the UML of the class and the document that describes what each method is supposed to complete.
CODE-BASED:
Students will learn how to create a document containing the set of test cases that (almost) comprehensively covers all the paths in the code. For this assignment, no detailed specification is required, instead a very brief description of the unit is given. However, the code should be available to the students. The output of this project is a document that contains the set of test cases in addition to explanation of how much of the code is covered with this set of test cases. They are required to work with a software such as JCoCo (if the code is in java), to show the test coverage metric for the set of test cases that they have designed. The expectation from the industry partner is to provide the input (i.e., short description and the code) to this project.
Additional company criteria
Companies must answer the following questions to submit a match request to this experience:
Provide a dedicated contact person who is available to address students’ questions as well as periodic messages over the duration of the project.
Be available for a quick phone/virtual call with the instructor to initiate your relationship and confirm your scope is an appropriate fit for the course.
How is your project relevant to the course?
Provide relevant information/data as needed for the project.