Software Testing

bigstock-code-bug-13044284-300x225

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: