Menu


Managing Software Development Quality

Devtest Development

How We Work: Methodologies

How We Work: With You

The Devtest Solution Team

Additional Resources

Technical Assurance Agreement (TAA)
The unique Devtest Solution Team approach has been proven highly effective with a 100% success rate for delivering projects, on time, on budget and with quality.
A Devtest Solution Team comprises of four roles that aren't found within the traditional software development and testing environments.
  1.  Defect Manager
 
2.  Test Automation Engineer
 
3.  Performance Testing Engineer
 
4.  Build Engineer
Defect Manager / Metrics and Triage Manager
The Defect Manager is responsible for managing the defect and metrics tracking tools, and facilitates the Triage, a daily prioritisation of defects.  Specific tasks performed by this role are:
    Manages the defect tracking tool.
    Filters, updates and chases missing information on defects.
    Assigns defects to the most appropriate person to perform the next resolution activity.
    Documents the best bug lifecycle strategy and educates the team on how it applies to them.
    Facilitates a regular triage between development, test and business to make quick decisions on priority, assignment and scope.
    Obtains the right information to assess these decisions.
    Interprets trend lines and statistics daily for management to make decisions on course corrections.  Daily monitoring keeps the project on track.
    Coordinates with the test team and release management for each target release to ensure they have retested all the bugs.
Automation Testing Engineer
The Automation Engineer is responsible for planning the structure of the automated test harness.  This engineer develops the build verification suite and automates test cases for regression testing.  Specific tasks performed by this role are:
    Evaluates existing approach to testing automation.
    Recommends approach to test case automation and discusses potential tools with client.
    Creates a Build Verification Test suite for the Build Engineer.  This is also provided to the test team.
    Writes automated test scripts in parallel with the development of each new feature.  These are then passed to Test Engineers to run daily.
    Runs the automated test suite daily.
    Troubleshoots any failing test cases.
    Logs and tracks bugs / issues that arise when designing or executing test automation.
    Leads and trains client testers in the skills of scripting and keeping automation in sync.
Performance Testing Engineer
The Performance Engineer is responsible for managing and testing the performance of the product throughout development.  Specific tasks performed by this role are:
    Evaluates the existing infrastructure and applications.
    Recommends approaches to performance testing at a component level first, then by project area and finally through the entire application.
    Runs traces, scripts and bench marks across application and infrastructure to uncover potential bottle necks.
    Creates performance testing scripts.
    Tests the failover, availability, transactions per second, robustness, data integrity, stress and volume.
    Tunes and tweaks the tools, environments and code in partnership with the development to ensure that the environment and applications achieve their targets.
    Coordinates with the test team to expose bottlenecks earlier in the project cycle.
    Works with the development team to achieve specific performance goals before new code is introduced into the daily build.
Build Engineer
The Build engineer is responsible for the implementation of the "Daily Build", which includes the automated installation, deployment, and Build Verification Testing (BVT) 'smoke-testing' of the built software.  Also responsible for managing the cycles of daily code check-in prior to the build, as well as the management of the environments.
Specific tasks performed by this role are:
    Evaluate existing build process, scripts, automation, tools.
    Recommend changes, tools and processes, and introduces automation to achieve stable daily software builds.
    Coordinates with the development team on their daily 'check-ins'; troubleshoots why code is breaking the build; writes, fine-tunes, or adapts scripts and tools to get the build running on a daily basis with proven consistency and stability.
    Coordinates with the Environment Managers on automated deployments to development, testing, staging and production.
    Coordinate with Test on the automated build verification tool scripts that verify that newly checked in code has not broken previous builds.  This adds stability to the code base.
    Transfer skills to existing Developers, Environment Managers and Test Engineers.
   

 

Co-ordination and management of source control repositories in conjunction with the Development Team Lead.