JOB108 Insider Quality Assurance and TestingIstinye UniversityDegree Programs Software Engineering (English)General Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
Software Engineering (English)

Preview

Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Course Introduction and Application Information

Course Code: JOB108
Course Name: Insider Quality Assurance and Testing
Semester: Fall
Course Credits:
ECTS
5
Language of instruction: English
Course Condition:
Does the Course Require Work Experience?: No
Type of course: Departmental Elective
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator: Dr. Öğr. Üy. ALI ASGHAR POUR HAJI KAZEM
Course Lecturer(s): Dr. Öğr. Üy. ALI ASGHAR POUR HAJI KAZEM
Course Assistants:

Course Objective and Content

Course Objectives: The aim of this course is to introduce students to fundamental quality assurance and testing principles in order to enhance the quality of software development processes and ensure the reliability of software products. By applying quality assurance and testing techniques in various stages of the software life cycle, students will learn to evaluate the software's compliance with requirements, its performance, reliability, and usability. Additionally, through real-world scenario-based applications, they will develop skills such as debugging, automation, and test planning, thereby gaining the ability to contribute to the successful delivery of software projects.
Course Content: This course covers the fundamentals of software quality assurance, software test life cycles, software testing techniques, static tests, unit tests (and refactoring), integration tests, database tests, user acceptance tests, support tools for testing, mocks, and test sensitivity. Additionally, the course content also includes topics related to test management.

Learning Outcomes

The students who have succeeded in this course;
1) Understanding software quality assurance and testing principles in software engineering applications.
2) Selecting and applying appropriate software quality assurance methodologies and software testing tools to meet user requirements.
3) Planning, designing, and establishing software testing environments to ensure software quality in alignment with software test life cycles.
4) Defining the subcomponents required in the testing processes and comprehend their roles.
5) Enhancing software quality by evaluating and analyzing software testing results, understanding industry requirements and standards effectively.

Course Flow Plan

Week Subject Related Preparation
1) Software quality assurance principles -
2) Software test life cycles -
3) Testing techniques, Test Pyramid, and Functional Tests -
4) Unit testing principles -
5) Entegrasyon testleri ve kullanıcı kabul testleri -
6) Automated tests and Selenium -
7) API Testing -
8) Midterm Exam -
9) Mocks and test sensitivity -
10) Database and Migration Tests -
11) Load Tests -
12) Industry best practices in software testing -
13) Selenium workshop -
14) JMeter workshop -

Sources

Course Notes / Textbooks: Software Testing: An ISTQB-BCS Certified Tester Foundation guide - 4th edition,
References: Software Testing: An ISTQB-BCS Certified Tester Foundation guide - 4th edition,

Course - Program Learning Outcome Relationship

Course Learning Outcomes

1

2

3

4

5

Program Outcomes
1) Adequate knowledge in mathematics, science and software engineering; the ability to use theoretical and practical knowledge in these areas in complex engineering problems.
2) Ability to identify, formulate, and solve complex software engineering problems; ability to select and apply appropriate analysis and modeling methods for this purpose.
3) Ability to design, implement, verify, validate, measure and maintain a complex software system, process, device or product to meet specific requirements under realistic constraints and conditions; ability to apply modern design methods for this purpose.
4) Ability to develop, select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in software engineering applications; ability to use information technologies effectively.
5) Ability to design, conduct experiments, collect data, analyze and interpret results for the study of complex engineering problems or software engineering research topics.
6) Ability to work effectively within and multidisciplinary teams; individual study skills.
7) Ability to communicate effectively orally and in writing; knowledge of at least one foreign language; ability to write effectice reports and understand written reports, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions.
8) Awareness of the necessity of lifelong learning; ability to access information, to follow developments in science and technology and to renew continuously.
9) To act in accordance with ethical principles, professional and ethical responsibility; information on the standards used in engineering applications.
10) Information on business practices such as project management, risk management and change management; awareness of entrepreneurship and innovation; information about sustainable development.
11) Knowledge of the effects of software engineering practices on health, environment and safety in the universal and social scale and the problems of the era reflected in software engineering; awareness of the legal consequences of software engineering solutions.

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Average 3 Highest
       
Program Outcomes Level of Contribution
1) Adequate knowledge in mathematics, science and software engineering; the ability to use theoretical and practical knowledge in these areas in complex engineering problems.
2) Ability to identify, formulate, and solve complex software engineering problems; ability to select and apply appropriate analysis and modeling methods for this purpose.
3) Ability to design, implement, verify, validate, measure and maintain a complex software system, process, device or product to meet specific requirements under realistic constraints and conditions; ability to apply modern design methods for this purpose.
4) Ability to develop, select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in software engineering applications; ability to use information technologies effectively.
5) Ability to design, conduct experiments, collect data, analyze and interpret results for the study of complex engineering problems or software engineering research topics.
6) Ability to work effectively within and multidisciplinary teams; individual study skills.
7) Ability to communicate effectively orally and in writing; knowledge of at least one foreign language; ability to write effectice reports and understand written reports, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions.
8) Awareness of the necessity of lifelong learning; ability to access information, to follow developments in science and technology and to renew continuously.
9) To act in accordance with ethical principles, professional and ethical responsibility; information on the standards used in engineering applications.
10) Information on business practices such as project management, risk management and change management; awareness of entrepreneurship and innovation; information about sustainable development.
11) Knowledge of the effects of software engineering practices on health, environment and safety in the universal and social scale and the problems of the era reflected in software engineering; awareness of the legal consequences of software engineering solutions.

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Project 1 % 10
Midterms 1 % 30
Final 1 % 60
total % 100
PERCENTAGE OF SEMESTER WORK % 40
PERCENTAGE OF FINAL WORK % 60
total % 100

Workload and ECTS Credit Calculation

Activities Number of Activities Preparation for the Activity Spent for the Activity Itself Completing the Activity Requirements Workload
Course Hours 13 3 39
Study Hours Out of Class 14 5 70
Project 2 5 10
Homework Assignments 3 3 9
Midterms 1 3 3
Final 1 3 3
Total Workload 134