From the course: Software Testing Foundations: Testing throughout the SDLC

Types of testing in development

- [Instructor] Though the types of testing and development may be familiar ground, I'm going to cover it because these typical phases in testing can be impacted differently based on the project methodology and how a development team approaches the SDLC. It's important to understand not only what purpose these tests serve, but how they are managed. Depending on the size of your organization and the complexity of your product, there may be a single person managing all testing. Or you may have multiple managers and testers covering several different kinds of tests. Even if you are engaged in one or all of these tests, the point of emphasis remains the same, each is focused on delivering a good customer experience through quality testing. Please note that while the terms I use here are generally understood, you may have different internal names depending on your location, your company culture, or industry. I'd suggest paying attention to the content and methodologies I'm covering here to ensure that your team is incorporating this kind of customer validation into your process. Alpha testing is usually the first phase of tests which occur directly out of development. In most cases, the object of this testing is to ensure the product's stability and viability are good. This kind of testing often incorporates rigorous test cycles and may integrate automation to ensure the product is fully and thoroughly tested. During the SDLC's testing stage, alpha is almost always executed first. Once a product has reached a stable point where customers can look at it, you begin beta testing. The beta phase is focused on the target customer evaluating the product in a real world environment. In this phase, the validation comes through weeks of assessment where customers are experimenting with their own systems and sharing their ideas, opinions, and of course, issues. It usually happens later in the testing stage but can be pulled in if the product's stability won't negatively impact users. Delta testing is very similar to beta but its duration is a lot longer. When focused on agile project management, the delta has users testing continuously over the latter part of the testing stage and then continuing into the maintenance stage. The premise behind delta is that you engage customers over a longer period of time to accommodate bursts in development that are associated with agile projects. Looking at our Explore California software, it integrates with popular travel sites to show reviews and comments from users about destinations in the state. In the alpha test, we rigorously test the application's programming interface, or API, to ensure that our inputted data comes back as we expect. During the beta, our customers test the software to look to see if their favorite reviewers are appearing. Last, the delta helps us roll out even more travel sites and fix small issues discovered after release. In all three of these phases of the test types, the SDLC specifies the need for conducting testing during the testing stage. However, my experience has shown me that creating a product isn't always a rigid process. I've seen constant shifts during development and you may be forced to perform testing during one or more of the other stages of the software development lifecycle.

Contents