Development Testing is
a process used in software development and its goal is to reduce software
development risks, costs and time. The process applies a broad range of defect
prevention and detection strategies to achieve this. Development Testing usually
includes a variety of test methodologies like static code analysis, data flow analysis, metrics analysis, peer code reviews, unit testing, code coverage analysis, traceability and other software verification practices.
The main point is that
this form of testing is performed by the software developer during the
development phase of the software development lifecycle. Development testing
does not aim to replace the traditional QA, but rather to complement it. Its
purpose is to eliminate development errors before the code reaches the QA
phase; and increase the software quality and efficiency of the development and
QA process while decreasing the cost of eliminating production errors.
The process of
implementing Development Testing starts like any other best practice,
standard or framework implementation.
Policies that state the organization's expectations for availability, security
reliability, performance and regulatory compliance are usually defined. Then,
the team should be trained on these policies and after the team is trained,
Development Testing practices are implemented to align software development
activities with these policies. These Development Testing practices include:
- Practices that prevent defects through a Deming (plan-do-check-act) approach that promotes reducing the opportunity for error via root cause analysis and improvements.
- Practices that detect defects immediately after they are introduced— believing that at the moment of finding fixing defects is fastest, easiest and cheapest.
![]() |
Development Testing Maturity Model |
Coverity (software vendor which develops development testing solutions) has developed five-level Development Testing Maturity Model that is based on a set of services and best practices designed to help companies adopt development testing within their organizations. These are the five maturity levels:
LEVEL ONE: Automatic Defect Detection
This level is about detecting and repairing critical issues through automated notifications as part of the software build process, as well as preventing any new defects from entering the system.
LEVEL TWO: Identification of Residual Risks
At level two, developers identify residual risks in key components of code that may be shared by different groups or found in their authentication routines. These components are very critical to the heart of the code base and necessitate further automated testing of all different possibilities from a logic standpoint.
LEVEL THREE: Developer Workflow Optimization
The development testing process is integrated with other SDLC systems that developers use on a regular basis, such as source control management and bug tracking. For example, the source control management system is queried for the automated identification of file owners so defects can be automatically assigned to them and tracked. By integrating with other mission-critical systems, the development process becomes more efficient, and it fosters the adoption of the testing platform into the organization.
LEVEL FOUR: Code Governance
At this level software code governance and quality assurance is promoted. It is characterized by establishing and enforcing consistent standards for code quality and security and measuring improvement over time. As part of this stage, policy thresholds are established for items such as the number of high-risk defects. With policies in place, stage gates can be implemented to validate that code is in line with an organization’s governance goals before it is moved to the next stage of the development lifecycle.
LEVEL FIVE: Enterprise Code Assurance
Once users reach level five, developers have mitigated all legacy defects and the build will fail if new defects are introduced. They have established automated test cases for their critical code and code affected by change that secures it against any logic defects.
According to some analysis it is believed that organizations that are committed to the Development Testing Maturity Model are able to develop software 50 percent faster and have reduced development costs by 20 percent.
If planning to implement this maturity model it is wise to do it using the ITIL best practices because a very important aspect in the implementation is policy defining and ITIL can help with that, and also because ITIL can help change related conflicts to be reduced. If you want to find out more about ITIL I recommend reading the following books ITIL Lifecycle Suite 2011 Edition (5 volume set)
.
According to some analysis it is believed that organizations that are committed to the Development Testing Maturity Model are able to develop software 50 percent faster and have reduced development costs by 20 percent.
If planning to implement this maturity model it is wise to do it using the ITIL best practices because a very important aspect in the implementation is policy defining and ITIL can help with that, and also because ITIL can help change related conflicts to be reduced. If you want to find out more about ITIL I recommend reading the following books ITIL Lifecycle Suite 2011 Edition (5 volume set)
0 comments:
Post a Comment