Quality standards are implemented or used in many areas for example in food chains, cloth or car industries, this allows different products or services to maintain certain qualities and specifications. Imagine you want to buy a car and you decide to buy the one you see in a specific exhibition, they will make another exactly the same just for you. The time has come and you go to see your new car but is not what you expected. The color is opaque, it feels slower and its not like the other even though you bought the same model, color and specifications. Thats why quality controls exist to ensure the standards and conditions that a product or service must meet in order to be delivered.
Software industry is not the exception we must have strict regulations and standards of quality in order to develop the best software we can. Depending on the area it will be used it can cause severe damage or consequences. For example imagine a program used in a radiology device malfunctioning and exposing patients to more radiation than they should be. Or a problem in software used in air traffic control, leading to a crash. Now-days we depend on software to live our daily lives so its important to have a regulation to determine the characteristics and specifications software must have.
According to asq.org software quality focus mainly in the following 8 attributes:
- Functional suitability (Functional completeness)
- Reliability (Availability)
- Operability (Learnability)
- Performance efficiency (Resource use)
- Security (Integrity)
- Compatibility (Interoperability)
- Maintainability (Modularity)
- Transferability (Adaptability)
This 8 attributes focus on delivering a quality software with all the right specifications and standards. As we can see most of them involves more that just good coding or using the best programming practices, it also involves all the software development process from setting the focus of the project to the work plan and tests. Thats why we must have a quality process working in
parallel with our main objectives. We must register all the risks we are taking in the project and think more about the long term of our programs. Also we must implement unit tests, reviews and feedback of every objective completed of our project.
According to the QA PLATFORMS the most used international testing standards in software development industry are the following five:
- ISO/IEC 29119-1: Deals with concepts and definitions of software (published: Sept 13).
- ISO/IEC 29119-2: Deals with test processes in a product (published: Sept 13).
- The ISO/IEC 29119-3: Deals with test documentation of the product (published: Sept 13).
- ISO/IEC 29119-4: Deals with testing techniques and strategies (published: 2014).
- ISO/IEC 29119-5: Deals with keyword-based software testing (published: 2015).
All this standards come with specific requirements we must meet in order to achieve this certification. Following this guidelines will help to prevent weaknesses in the process of developing software. Also it ensures our projects have al the specifications and attributes needed to work the best way posible. Thats why standards are important in the cycle of software development.