What is Software Quality Assurance?
Software Quality Assurance involves the entire software development process, monitoring and improving the process making sure that any agreed –upon standards and procedure are
followed and ensuring that problems are found and dealt with .It is oriented to prevention.
Software ‘Quality ‘
Quality software is reasonably bug free delivered on time and within budget, meets requirement and or expectations and is maintainable. However quality is obviously a subjective term.
It will depended on who is the ‘Customer’ is and their overall influence in the scheme of things. A wide –angle view of the Customers of a software development project might include end
users, customer acceptance testers, customer contract officers, customer management the development organizations management /accountant/testers/salespeople. Future software
maintenance engineer’s stockholders, magazine columnists etc. Each Type of ‘Customer’ will have their own slant on ‘quality’ the accounting department might define quality in terms of
profits while an end-user might define quality as user-friendly and bug free
Quality of ‘good code’
Good code is the code that works, is bug free and is readable and well commented and easy to maintain. Some organizations has coding standard that all developers are supposed to
adhere to. But everyone has different ideas about good and best.
There are various theories and metrics such as McCabe Complexity metrics .It should be kept in mind that excessive use of standard and rules can stifle productivity and creativity ‘Peer
Review ‘ buddy checks code analysis tools etc. can be used to check for problem and enforce standard.
List good coding standard
o Minimize or eliminate use of global variables.
o Use descriptive function and method names use both upper and lower case , avoid abbreviation , use as many characters as necessary to be adequately descriptive (use of
more than 20 characters is not out of line ) be consistent in naming convention.
o Function and method sizes should be minimized less than 100 lines of code is good, less than 50 lines are preferable.
o Function description should be clearly spelled out in comments preceding a functions code
o Organize code for readability
o Use white space generously –vertically and horizontally.
o Each line of code should contain 70 characters max.
o One code statement per line
o Coding style should be consistent through a programer (eg, use of brackets, indentation, naming convention)
o In adding comments ,err on the side of too many rather than too few comments a common rule of thumb is that there should be at least as many lines of comments (including
header block) as lines of code .
o No matter how small, an application should include documentation of the overall program function and flow (even a few paragraphs is better than nothing) or if possible a separate
flow chart and detailed program documentation.
o Make extensive use of error handling procedure and status
o For C++ to minimize complexity and increase maintainability, avoid too many levels of inheritance in class hierarchies (relative to the size and complexity of the application).
Minimize use of operator overloading (note that java programming language eliminates multiple inheritance and operator overloading)