Agile Testing Service
Traditional testing process is rigidly linear, inflexible and unable to absorb frequent changes to applications. With reduced visibility of the software testing process, minimal support for test suite maintenance, and a lack of collaboration mechanisms, such testing hamper the team’s ability to keep pace with rapid and flexible development tests.
What are the Principles of Agile Testing Service?
Agile Testing Service is a mindset that focuses on quick feedback and delivering working software iteratively. Here are the main core principles and values for such a testing service:
- Build the product well – using testing to provide feedback on an ongoing basis
- Testing is not a phase – test continuously right from requirements through deployment and production
- Everyone tests – ensuring quality is a responsibility of the whole team and the QA helps re-enforce quality mindset, spotting and highlight issues
- Fail first and fail quick – applying different levels of test ensures that software is tested before, during and after commit
- Bugs don’t hang around – testing is part of development; which means testing cannot be declared done with open defects; a discipline to fix any bugs as they are found while testing is required
- Lightweight documentation – focus on working software as opposed to heavy documentation and process; mostly automation and exploratory testing as opposed to test cases
- Clear expectation – defining the tests with the requirements, rather than after gives a much more clear view of the goal
What are the Signs Your Testing Team is Not Agile?
Many teams have either transitioned to Agile development or are either in the process of doing so. Transitioning a QA testing team requires core changes in mindset and focus. So what are the signs that your team is not agile? READ MORE
How are the values of Agile Testing Applied?
Testing software requirements within rapid release cycles requires technical knowledge, optimal test automation and collaboration with the developers & business, which then ensures faster feedback on quality.
Traditional test team always wait for development team to deliver something tangible, something testable before starting to test. In most of situations, something tangible only comes at the very end of development or sprint.
We test on the smallest possible deliverable, continuously, independently and thoroughly. We do this at technical levels as well as business process levels, starting from requirements.
We perform a series of activities, which include story reviews, validation at technical and non technical level, working with developers to challenge and validate the solution, as well as validation of automated unit tests.
We apply stubs and drivers, manipulate test data, use lots of tools to sniff ports, check source codes, analyse traffic data, verify HTTP headers/responses, modify headers, trace routes, validate XML against schemes, etc; we do everything possible to break the code and are very meticulous at this.
Acceptance testing is done via user stories and sometimes at the component level. We test each story and verify it is working before moving into QA. The goal is to minimize the feedback loop and improve communication. Once a story is accepted into testing, it is then subjected to functional testing, exploratory testing, validation in a near production environment and integration with other components. Tested stories are presented to the business for sign off and approval. Acceptance testing may also be applied to deliverables from third parties and other integration points, for example APIs.
The biggest challenge for organizations to make a transition to agile is a focus on continuous testing. It’s not just continuous development, but testing as well. The agile process needs to start with engaging the customer and flowing through to the testing team. READ MORE
How We Mitigate Complexity and Risks Involved in Agile Testing?
Whether integrating components or interacting with external systems, technical knowledge is crucial in determining the integration points, methods and risks involved. This helps in establishing effective test strategy that will govern the test process.
While some integration points and testing may require little or no level knowledge, with our technical background, we are better positioned in understanding the complexity and risks involved. We make sure integration issues are addressed not only at story level but also at system level. During acceptance testing we ensure that integration tests are implemented and executed. During exploratory testing, we make sure real data is used to validate the integration.
* Agile Software Testing Approach: Agile software testers work as part of the team bringing insight into the rapidly changing system that is being developed. The skills that these testers bring to the table are not those that are typical of testers. Agile software testers are an elite group of testers that must have broad knowledge and/or experience. Read More
* Combined For Agility: The concept of Combined Engineering really comes from the ONE TEAM concept. ONE TEAM dedicated to deliver a quality product or system to market for the success of the organization. Read More
* QA Testing With Common Sense: Today, organizations are buying into the need for Quality Assurance (QA Testing), also known as Software Testing. But, as we all know, the investment is pricey until the process is built and the return on investment can be seen. In fact, organizations immediately think that automation will solve all their problems. So what do these organizations do? Read More