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. |