Quality Assurance in an Agile Environment
Our QA team follows two main testing processes:
1) Functional Testing
Functional testing is a QA process and a type of testing that examines the functionality of an application without peering into its internal structures or workings. Functional testing bases its test cases on the specifications of the software component under test. Functions are tested by feeding input and examining the output, while the internal program structure is rarely considered. Functional testing usually describes what the system does.
2) Usability Testing
Usability testing is a technique used in user-centered interaction design. Setting up a usability test involves carefully creating a realistic situation. Usability testing measures the usability, or ease of use, of a specific build or bug. Since it gives direct input on how real users use the system. We must ask ourselves the following question, “is what I am testing the best way for the user to tackle this issue?”
The three keys to successful testing in an agile environment are:
1) Don’t Forget to Perform Sanity Testing, “be sane because insane is so not in anymore!”
Often testers ignore sanity testing as a subset of regression testing. But sanity testing helps us to evaluate the features and functionality of the application within a short amount of time. This focus helps us identify partner headaches before they ever happen. Also, while performing sanity tests we can check if the web application is working as expected despite bug fixes and code changes quickly and efficiently.
2) Integrate Exploratory Testing with Conventional Testing Techniques, “have your cake and eat it too, just without the error!”
This duel method helps reduce testing time and uncover more defects quickly. The conventional testing approach requires developers to write and execute test cases while simultaneously, writing the fix or update (code) these tests are known as unit tests which test individual units of code.
QA team members then integrate conventional testing with exploratory testing by using Usability and Functional testing techniques. This integration helps to produce more reliable test results, while reducing testing time significantly. This allows QA to use their time to explore all use cases and ensure core functionality is intact. As well as identify quality of life fixes and communicate these as quickly as possible to the developer team.
3) Be a Part of all Teams, “all of your teams belong to us!”
The number of businesses adopting agile methodology or “DevOps” has been increasing consistently. Agile methodology required business to unify software development and testing activities. In addition to testing the web application throughout the software development life-cycle, DevOps requires us to unify software development, testing, and deployment activities while handling requests from internal and external sources. Hence, the QA team must learn how to work with Programmers, IT professionals, Partner Success Managers, Product Managers and all our Partners.
As you can see, successful QA teams must have as much information from as many resources as possible to work effectively. The QA team’s success is dependent on our ability to coordinate with developers, business analysts, and partners.
Kevin Barton, Quality Assurance Specialist
Kevin Barton is a results oriented professional that brings 15 years of experience to the Passportal team. With an accomplished background he offers a unique combination of skills which include testing experience in mobile platforms, experience in web development, and hands on experience with various types of automation, just to name a few. In his spare time Kevin enjoys playing poker which allows him to use his strongest skill; critical thinking.