Forum Discussion
scot1967
Champion Level 2
5 months agoI'll stick my toe in the water first. 😉To me it means the software performs all agreed upon written requirements AND performs the function for which it was designed well. The software must also be 'testable', 'maintainable' and 'fail gracefully'.
- Software should be written with testing in mind by and structured to support testing not only in automation but in exploratory, performance and security testing by providing a logical structure of named objects, documented access to those objects and logging options. The requirements should also be documented in a way that represents the application operation and key points to verify.
- Maintainable software is well documented (in code and for the user), supported by a version control system and designed with failure and performance analysis in mind.
- Failing gracefully will come with the previous aspect to a degree. Errors will be caught, logged and displayed to the user in a fashion that enables the user and support staff to understand failures and supply information back to development.
To me quality software isn't just software that is easy to automate in testing. Testing will play a key role in every point here. Some testing can be automated and easily if the software is designed with this in mind. Other points here require communication, exploration, analysis and curiosity to make truly great software.
... If you agree drop me a like👍and/or provide your own views on quality! I am not sure if there can be a 'Best Answer' on this. We will see! 😎