„TESTING AS BUSINESS SERVICE”
Guntis Urtāns, Ģirts Baltaisbrencis, Edgars Zālīte,
Exigen Services has established a global practice in software testing. In working with software
development over 15 years, we have developed a substantial testing expertise throughout our
delivery organization, centered in Riga. We are now bringing a focus to this inhouse expertise,
and offering to share the benefits of our extensive experience with interested clients.
Bringing rigorous testing to IT environments has one overriding goal, and that is to improve the
quality of software and applications being brought to production. Quality means:
- Minimum of defects. We help clients structure their testing processes and infrastructure
- Responsiveness to requirements. By ensuring that all requirements are thoroughly
tested, we can help ensure that the final software product will perform as expected.
- High performance. Applications are only perceived as high-quality if the perform quickly
for the users.
Today’s IT organizations often need more than quality – they need cost effectiveness. The Exigen
Testing Engagement Progression works with our customers to evaluate existing testing process,
and find areas for improvement. The improvement areas, however, usually lead to substanial
gains in testing efficiency, therefore saving clients money. We can also offer off-shore test
execution services to reduce on-going costs. Ultimately, we can bring to bear Quality Acceleration
techniques, such as test-driven design, and test automation, to bring organizational testing
efficiency to world-class levels
Building on our past experiences, we have found that the most successful testing engagements
have followed a rigourous phased approach. To ensure success going forward, we have
formalized this phased approach into 4 standardized steps, with clear go/no-go decision points at
the end of each step. The benefit of this approach is that it builds in decision-making points at the
optimum times in the project to ensure that Exigen and our clients are in agreement on what
needs to be done, and the engagement can the proceed at full speed. It also offers built-in logical
re-evaluation points for clients, where clients have received specific outcome, and can decide to
proceed or not proceed, depending on their perceived value and resources.
The 4 steps are:
STEP 1: TESTING ASSESSMENT (What exists?)
Engagement at a new client for testing needs to begin with an assessment. This first assessment
step will evalute all aspects of the IT infrastructure at the client site. During the Testing
Assessment, we discuss the IT environment with both IT and business side people, gathering an
evaluation of the perceived quality of the IT environment. We also evaluate a specific list of
characteristics of the testing process and environment.
This engagment, called Testing Assessment, gives our clients a complete overview of the current
status of their testing processes and infrastructure as compared to best practices. The
assessment typicall takes approximately 2 weeks of on-site work by our team of testing experts,
and results in an evaluation report showing all findings, and a list of reccomended actions and
areas for improvement. To help focus improvement efforts, we work with the client to prioritize the
recommendations, showing which areas can have the biggest and most cost-effective impact on
IT environment quality and reliability.
STEP 2: TESTING PROCESS UPGRADE (Getting to a better process)
Once we have an understanding of the current state in the clients environment, we will work with
the client’s testing or development groups to upgrade their testing evironment and processes. We
will work from the list of prioritized improvement areas developed from the intial engagement,
focusing first on the highest pay-back improvement areas. While all aspects of the testing process
and infrastructure can be adressed, in our experience we have found that several areas tend to
come up frequently as most neededing improvement. These are:
- Real-time tracking and reporting of test coverage and execution
- Testing tool selection and implementation.
- Identify needed testing types.
- Functional testing coverage analysis.
While we have extensive theoretical understanding of testing processes, our main strength is in
our years of practical experience. Our testing managers and analysts have worked for many
global firms applying high-process (CMMi-5) testing methodologies day-to-day in their work. We
will bring this practical experience to bear with clients.
STEP 3: EXIGEN TESTING PARTNERSHIP (ON-going Testing Partnership)
Exigen can apply its testing expertise for clients on an on-going basis. We offer several types of
engagements to many clients, but are always ready to work out more specific areas of
partnership as necessary. Depending on the results of Step 1 and 2, we do recommend several
types of engagements with have proven effective with many previous clients.
These are documented here in more detail:
Capacity and Performance Testing – Testing and analysis of how systems perform under load.
Load here can mean many different things, including simultaneous users, file sizes,
Integrated BA and QA testing services – Testing without firm requirements can be a guessing
game. Requirements development without testing is an open-loop with no guarantee of quality.
Often the best answer is to integrate both efforts, requirements gathering with Business Analysts
up front, and formalized testing practice against those requirements before cutover.
Blackbox Testing – Given thorough knowledge of the system should do, we can build and
execute test cases, ensuring test coverage and quality.
White box testing – Once bugs are found, integrating the bug-fix processes direclty with quality
assurance can be the most efficient way to operate.
STEP 4: ACCELERATING QUALITY (Long-term testing optimization)
The final step of the our process engages with the client to apply advanced testing concepts to
client environment and testing process to gain every greater efficiencies in software Quality
Assurance. The specifics of any client site will vary, but may include:
- Test automation
- Real-time management dashboard implementation for test monitoring
- Test-driven development process implementation
- High-availability Agile process implementation
In this step we utilize our control of the client QA environment to super-charge the testing
processes and greatly increase the capacity, thoroughness, quality, and transparency of the QA