Software Testing can be defined as the process of executing a program with the purpose of finding bugs, but the fact is that this process is just one part of what a complete Software Testing is. Besides of debugging, testing includes validating and verifying that a software meets the business and technical requirements, works as expected and can be implemented.
I’d like to list some important characteristics of software testing:
- Testing is a process rather than a single activity.
- To design tests early in the life cycle can prevent you from having defects in the code. That’s a reason why Agile Development is so cool!
- Testing can be Static, it can test and find defects without executing code, it includes reviewing documents.
- Or it can be Dynaminc, the code is executed to see the results of running tests.
- From the beginning, it’s important to choose what testing we will do, by selecting test conditions and designing test cases.
- We evaluate to check the results and the completion criteria.
- Blackbox testing ignores the internal mechanism and focuses on the output generated.
- Whitebox testing takes into account the internal mechanism.
There are many types of testing:
- Unit Testing.
- Integration Testing.
- Functional Testing.
- System Testing.
- Stress Testing.
- Performance Testing.
- Usability Testing.
- Acceptance Testing.
- Regression Testing.
- Beta Testing.
You can read more about them here.
Source:
- http://www.codeproject.com/Tips/351122/What-is-software-testing-What-are-the-different-ty
- http://istqbexamcertification.com/what-is-a-software-testing/