1 Introduction and Goals - maex0/SoftwareQualityWithCats GitHub Wiki

This project was created in my second semester (summer term 2024) of my master studies in computer science in the mandatory module Software Quality Assurance at the University of Applied Sciences Rosenheim as part of the Software and Systems Engineering path. The goal was to create a basic application that should be secured with best practice security measures.

According to the module handbook, after completing this module I will be able to do the following:

"Students acquire in-depth knowledge and the theoretical foundations of software quality assurance. They work on the relevant standards, in particular ISO 25000 (SQARE). They also understand the economic principles (good-enough software, entrepreneurial thinking). Students understand how to measure correctly in software technology and can carry out measurements independently. They can independently define and validate quality models and develop suitable test concepts in accordance with IEEE 829-2008. Students understand the theoretical foundations of the quality of documents and models (e.g. the Hamburg comprehensibility model) and are able to use appropriate quality assurance procedures with confidence. They are proficient in theoretically sound methods of test case generation (including model-based testing). You will be able to use advanced methods and tools for continuous quality assurance (CI) and test automation with confidence and understand how they work. They are able to select and implement an organizational and operational structure within the framework of quality management, based on economic objectives. Students can independently fulfill the role of a quality manager, tester and test manager in small projects."

Requirements

Id Requirement Explanation
F1 API call Load cat image from external API
F2 Display cat image Display a main cat image to user
F2.1 Frontend interaction Allow user to like or dislike the cat image
F5 Save to database Save recent three cat images inside a database
F5.1 Load from database Load three recent liked cat images from database on startup
F6 Display cat images Display three recent liked cat images below the main cat image

Quality Goals

The quality goals are based on the ISO 25010 standard. The quality goals are defined in the following quality tree with their corresponding quality scenarios.

Quality Tree

Quality Category Quality Description Scenario
Functional Suitability Robustness The ability of the software to handle errors, unexpected inputs, and stressful conditions without failure. SC1
Performance Efficiency Performance The capability of the software to provide appropriate performance relative to the amount of resources used under stated conditions. SC2
Security Security The measures and mechanisms implemented to protect the software from malicious attacks, data breaches, and unauthorized access. SC3

Quality Scenarios

Id Scenario
SC1 A user should not be able to break the website
SC2 After starting the program a user should not wait too long to work with the website
SC3 A user should not be able to see security related code like passwords

Stakeholder

Role/Name Contact Expectations
Student Whatsapp Group Just a visitor who plays around.
Professor TH Rosenheim Uses this program only for a few days to make a grade for the project. Expects Software quality measurements in several forms.