3Review: quality assurance Flashcards
meaning of quality assurance
set of processes that occur throughout the dev + manufacturing of a product which ensure standards/requirements are met so that product is high quality
software quality meaning
the extent to which desirable features are incorporated in software so that it can reliably and efficiently continue to meet the needs of users
quality assurance for manufactured products
largely about monitoring process to ensure parts continue to meet tolerances + standards over time
why is software different from manufactured products
in software: the design + dev process determines quality
SQA meaning + aim
software quality assurance: aims to provide users with confidence in the integrity of software, ensures software will function reliably as intended w/out errors + vulnerabilities
what do software vulnerabilities entail
intentional or unintentional faults such as:
- security flaws
- inclusion of untested code
- bugs which may result in loss of data
what is the criteria of software quality dependant on
dependant on the nature + size of the project
basic criteria list for software quality
- efficiency
- integrity
- reliability
- usability
- accuracy
- maintainability
- testability
- reusability
efficiency meaning
software should perform its functions by making the best possible use of computer’s resources
efficiency considerations
- good coding techniques + structure
- language, OS + CPU features(multi-tasking, distributed/parallel processing)
- judged with range of system configs
- code that accesses networks should be examined + optimised
integrity meaning
the correctness of data in system
data integrity considerations
- will reduce over time, dependent data outdated
- system should check if data = current(mobile, address)
- judged on security mechanisms + data validation
reliability meaning
the ability of a system to continue to perform its functions over time
reliability considerations
- time required to recover from a failure
- ability of the system to be updated to reflect changes in requirements or changes in environment in which software operates
usability meaning
the ability of the software to be learnt + used by users