Most users do not know the answers to such questions as “What are your interoperability requirements?” or “How reliable should the software be?” When working on the Chemical Tracking System, analysts came up with several supporting questions for each of the attributes they considered important. For example, when investigating integrity, they decided to find out how important it would be not to allow users to view orders that were placed by other users, or whether each user should be able to search through the list of chemicals in the warehouse. They interviewed user representatives to evaluate each attribute on a scale of 1 (it does not matter) to 5 (extremely important). The answers helped analysts identify the most important attributes. Sometimes different classes of users had their own preferences, then in resolving any conflicts the advantage was given to the privileged class.
Then analysts worked with users to develop specific, measurable and verifiable requirements for each attribute. If the quality attributes cannot be checked, then it will not be possible to establish whether they are met or not. You must specify the scale or units of measure for each attribute and task, as well as their minimum and maximum values. If you do not know how to measure all the important quality attributes, at least determine their priorities and customer preferences. The IEEE Standard for Software Quality Metrics Methodology provides a technique for determining software quality requirements in the context of a common quality measurement system (IEEE, 1992).
It is desirable to bear in mind that offshore software testing is conducted by highly experienced specialists cost-effectively.
Pitfall! When considering quality attributes, do not neglect the opinions of all stakeholders, including maintenance programmers.
Perhaps it is worth asking users how they imagine unacceptable performance, usability, integrity and reliability. This will allow you to determine the properties of the system that are contrary to users’ quality expectations, such as the ability to delete files by unauthorized users. Defining unacceptable characteristics – a kind of backward requirement – try to develop tests to realize these characteristics of the system in practice. If you do not succeed, then you probably have achieved your goals with respect to the attributes. This method is especially important for applications, which security is critical: negative changes in their reliability or performance will come with severe consequences.