There was an article I found the other day that took a different approach on types of testing. The article is from ITpro, a site based out of the United Kingdom (http://www.itpro.co.uk/software-development/29994/types-of-software-testing). The author breaks down nine different types of testing. The article doesn’t try to state that the types are exclusive and that you should pick one or two and use those types. Instead it just breaks down the different types, the different times they are carried out, and who carries out these tests. Some are performed by the software testers during development and some are performed by the user to test different aspects. For example alpha testing is performed by the software tester before release to search for all possible issues and errors. Whereas beta testing is performed by the user in a deployed environment. It can be as controlled and closed off to as group of a desired size in order to test for real time failures. The control group is to ensure that it is not widely deployed across an environment and causing business failures. Beta testing is similar to acceptance testing which is performed by the customer to ensure the product meets all requirements and expectations set by the user and the developer. There is also a type of testing called security testing. This type is performed by a special team outside of the standard testing team and usually performed by security consultants. It is usually done to find out if there are flaws in the software that can allow it to gain access to computers or networks that it shouldn’t be able to and could cause damage to these networks. Another specialized type is stress testing. This is performed to push the software to its limits and usually beyond the normal operation that the standard user will put it through. This is used and needed to get a clearer picture of what your software can do and what the limits are. The one type that stood out to me the most and struck my interest was smoke testing. This is done when a new build is sent to the testing team. Simple tests are performed to find out if it crashes the program indicating bigger issues. It makes sense to do, before digging deep into tests to just run quick simple tests to see if it can even pass that stage. It just never occurred to me to make sure to do this step first before fully jumping into alpha testing. I think that reviewing the different types of tests every once in a while to remember that there is a full spectrum of testing and how important the testing process is to software development.