Undergraduate
Faculty of Engineering and Architecture
Computer Engineering
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.

Computer Engineering Main Page / Program Curriculum / Software Quality and Testing

Software Quality and Testing

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
CSE0463 Software Quality and Testing 2/0/2 DE 6
Course Goals
Software Quality and Testing is a course on concepts, principles, and techniques related to software testing and quality. Students will become acquainted with both the strengths and limitations of various functional and structural testing methods, as well as techniques for proving the functional correctness of sequential programs. Topics include: black-box and white-box test case design strategies, incremental integration testing techniques, inspections and reviews, axiomatic verification, predicate transforms, and function-theoretic verification. Students will have the opportunity to practice the techniques presented in class via optional exercises.
Prerequisite(s) none
Corequisite(s) none
Special Requisite(s) Due to Covid-19 pandemic and in compliance with the directives of the Higher Education Council and University`s Academic Boards this course will be delivered in the 2020-21 Fall Term exclusively on the Distance Education Platforms of the University. Students enrolled in this course are required to have, or have access to a computer system equipped with a camera and microphone and connected to an Internet Service Provider with at least 0.5 Mbps upload and 1 Mbps download bandwidth in order to attend on-line class activities and perform their examinations. In proctored examinations on distance education platforms, authentication and on-line surveillance rules are mandatory for everyone. Students are required to abide fully by the control procedures that are defined to ensure the transparency and integrity of the assessment.
Instructor(s) Instructor Alper Buğra KELEŞ
Course Assistant(s)
Schedule Tuesday, 13:00-14:45 (Theory), Online Tuesday, 15:00-16:45 (Tutorial), Online
Office Hour(s) Friday, 10:00-11:00, CATS/Chatroom
Teaching Methods and Techniques Teaching and homework

Course slides that are used in support of lecture sessions are posted regularly at the course CATS site. They should be exclusively used as study guidelines. For comprehensive coverage you are advised to refer to the course text book, the references cited in the course syllabus, and the homeworks you have handled.

Principle Sources

Jorgensen, P. C. (2016). Software testing: a craftsman’s approach. CRC press.

Other Sources
Course Schedules
Week Contents Learning Methods
1. Week Course Introduction, Software Testing Concepts: Introduction, Meaning, What is Bug? Reasons of Bugs, Cost of Bugs, Software Tester Task. Teaching
2. Week Introduction to Software Development Models and Software Testing: Testing Axioms, Terms & Definitions Teaching
3. Week Software Testing Fundamentals: Types, Black Box, White Box, Static & Dynamic Testing, Static Black Box Testing Teaching
4. Week Dynamic Black Box Testing: Test to Pass & Test to Fail, Equivalence Partitioning, Data Testing, State Testing, , Other Black Box Testing Techniques Teaching
5. Week Static White Box Testing: Formal Reviews, Peer Reviews, Coding Standards and Guidelines, Review Check List Dynamic White Box Testing: Comparison with Debugging, Testing Pieces: Unit & Integration Testing, Data Coverage & Code Coverage. Teaching
6. Week Configuration Testing: Overview, Software and Hardware Devices, Deciding Hardware Configurations. Compatibility Testing: Overview, Backward and Forward Compatibility, Testing Multiple versions, Data Sharing Compatibility User Interface Testing: Effective UI, Testing for Disabled. Teaching
7. Week Midterm Teaching
8. Week Documentation Testing: Types of Documentation, Importance of Documentation Testing. Security Testing: Threat Modelling, Buffer Overrun, Safe String Functions, Computer Forensics Exam
9. Week Web Site Testing: Web Page Fundamentals, Black Box Testing: Text, Hyperlinks, graphics, forms. Gray Box Testing & White Box Testing, Configuration and Compatibility Testing Teaching
10. Week Testing Tools: Benefits of Automation and Tools. Test Tools, Software Test Automation. Random Testing: Monkeys & Gorillas. Bug Bashes & Beta Testing: Test Sharing, Beta Testing, Outsourcing. Teaching
11. Week Planning Testing: Goals, Test phases, Strategy, Resource Requirements, Schedule, Test Cases, Bug Reporting, Metrics Teaching
12. Week Test Cases: Test Case Planning, Design, Cases, Procedures, Organization and Tracking. Bug Life Cycle and Tracking System Teaching
13. Week Software Quality Assurance: What is Quality? Testing and Quality Assurance in Workplace. Test Management Teaching
14. Week Organisational Structures: CMM Capability Maturity Model, ISO 9000. Teaching
15. Week
16. Week
17. Week
Assessments
Evaluation tools Quantity Weight(%)
Midterm(s) 1 40
Homework 1 20
Final Exam 1 40


Program Outcomes
PO-1Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9Awareness of professional and ethical responsibility.
PO-10Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1Describe the life cycle-based testing
LO-2Explain the integration testing, system testing and object oriented testing
LO-3Define the test driven development and exploratory testing
LO-4Describe the black box testing, white box testing technique, and model-based testing
LO-5Explain the boundary value testing
LO-6Describe the equivalence class testing
LO-7Define the decision table-based testing
LO-8Explain the path testing and data flow testing
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11
LO 1
LO 2
LO 3
LO 4
LO 5
LO 6
LO 7
LO 8