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)