Well most of the time if you find any of the following situations then you can safely say the software has a bug and can log a defect against it:
1. The software doesn't do something that the product specification says it should do.
2. The software does something that the product specification says it shouldn't do.
3. The software does something that the product specification doesn't mention.
4. The software doesn't do something that the product specification doesn't mention but should.
5. The software is difficult to understand, hard to use
Some common testing terms:
1. Static vs. dynamic testing
Static testing is performed using the software documentation. The Code is not executed during static testing. So here you will find defects which are related to requirements (documentation related defects), whereas in dynamic testing you will run the application and find the actual bugs in the code.
2. Software verification and validation
Verification and validation are often used interchangeably but have different definitions. These differences are important to software testing.
Verification is the process confirming that the software meets its specification. Validation is the process confirming that it meets the user's requirements. These may sound very similar, but an explanation of the Hubble space telescope problems will help show the difference.
Software Quality Assurance (SQA) (wiki)
Though software testing may be viewed as an important part of the software quality assurance (SQA) process, in SQA software process specialists and auditors take a broader view of software and its development. They examine and change the software engineering process itself to reduce the amount of faults that end up in the delivered software: the so-called defect rate.
What constitutes an "acceptable defect rate" depends on the nature of the software. For example, an arcade video game designed to simulate flying an airplane would presumably have a much higher tolerance for defects than mission critical software such as that used to control the functions of an airliner that really is flying!
Although there are close links with SQA, testing departments often exist independently, and there may be no SQA function in some companies.
Software Testing is a task intended to detect defects in software by contrasting a computer program's expected results with its actual results for a given set of inputs. By contrast, QA (Quality Assurance) is the implementation of policies and procedures intended to prevent defects from occurring in the first place.
No comments:
Post a Comment