Software Testing (IT 538)

2021 Spring
Faculty of Engineering and Natural Sciences
Information Technology(IT)
3
6
Ömer Karacan okaracan@sabanciuniv.edu,
Click here to view.
Doctoral, Master
--
Click here to view.

CONTENT

Briefly, software testing is a process of executing a program with the goal of finding errors. Through testing, one inspects behavior of a program on a finite set of test cases (a set of inputs, execution preconditions, and expected outcomes developed for a particular objective). To assure the quality of the project, testing must be considered and executed on all phases of Software Development Life Cycle. This is a critical task for all parties involved in the software project team including analysts, developers and testers. In this course, we will introduce all types of tests in different phases of SDLC such as, unit testing, functional and integrational testing, performance tests, user acceptance tests and adhoc testing. We will examine white box and black box testing formats along with test management formats and reporting. Automation tests and conditions will also be examined within the scope if this course. All lectures will be supported with practical examples and workshops.

PROGRAMME OUTCOMES


1. Develop the ability to use critical, analytical, and reflective thinking and reasoning

2. Reflect on social and ethical responsibilities in his/her professional life.

3. Gain experience and confidence in the dissemination of project/research outputs

4. Work responsibly and creatively as an individual or as a member or leader of a team and in multidisciplinary environments.

5. Communicate effectively by oral, written, graphical and technological means and have competency in English.

6. Independently reach and acquire information, and develop appreciation of the need for continuously learning and updating.


1. Design and model engineering systems and processes and solve engineering problems with an innovative approach.

2. Establish experimental setups, conduct experiments and/or simulations.

3. Analytically acquire and interpret data.


1. Identify the communication requirements in the corporate infrastructure, design and implement a capable and expandable solution.

2. Apply fundamental programming concepts to produce the source code by enforcing the correct syntax and semantics.

3. Customize, debug and test the code.

4. Design and implement a database system suitable for the requirements of the project.

5. Conduct project planning, management and coordination; prioritize resources and activities for on-time and on-budget project delivery.