Skip to main content

DevOps Testing vs Traditional Testing

Appropriate testing is THE differentiator for high performing IT organizations.

What is the Same?

Tests need to be classified according to the attributes of the system or the product that is to be tested.  Test types include:

Unit Test - This is a method that validates that the code statements satisfy assertions.

Static Code Analysis – Testing that checks source code logic and consistency.  Static testing evaluates code against development standards and guidelines. Code execution is not required.

Dynamic Analysis – This type of testing might also be referred to as “Functional Testing”. In this type of test, code is executed against positive and negative functional scenarios.

Code Coverage – Measures the percentage of relevant lines of code tested.

Integration Test – This form of testing will help to determine if code changes work after a code merge.   Integration testing may also be referred to as smoke test, sanity test or build test.

Compatibility Test –  This is used for testing feature interactions.

Conformance Test – This is where we test to ensure the code/product conforms to standards.

Usability – Tests to evaluate the user experience.

Application Testing – Tests to verify the application functions.

Regression Testing – This is required to ensure that changes made did not break something else.

The list goes on to include compliance, security, performance, acceptance testing and more.  Not all test types apply to all products or organizations and the names may be different.

What is Different?

Testing must happen much earlier in the development pipeline and must also take into account all aspects of privacy, security and monitoring. 

Tests are Automated apart from some nonlinear test types requiring human intervention.  Non-automated testing is limited.

Test Environment and Test Data provisioning self-services increase test reliability.

DevOps Tests including pre-flight tests, are performed in an environment that is equivalent to the production environment of customer deployments.  This limits the risk of false positives.

New Thinking for when and how to accelerate change, become a ticketless IT organization and how to provision for skillsets and structures that shatter silos will continue to be integrated into Continuous Testing and the DevOps Pipeline.


Comments

Popular posts from this blog

What is the difference between Process Owner, Process Manager and Process Practitioner?

I was recently asked to clarify the roles of the Process Owner, Process Manager and Process Practitioner and wanted to share this with you.

Roles and Responsibilities:
Process Owner – this individual is “Accountable” for the process. They are the goto person and represent this process across the entire organization. They will ensure that the process is clearly defined, designed and documented. They will ensure that the process has a set of Policies for governance.Example: The process owner for Incident management will ensure that all of the activities to Identify, Record, Categorize, Investigate, … all the way to closing the incident are defined and documented with clearly defined roles, responsibilities, handoffs, and deliverables. An example of a policy in could be… “All Incidents must be logged”. Policies are rules that govern the process. Process Owner ensures that all Process activities, (what to do), Procedures (details on how to perform the activity) and the policies (r…

How Does ITIL Help in the Management of the SDLC?

I was recently asked how ITIL helps in the management of the SDLC (Software Development Lifecycle).  Simply put... SDLC is a Lifecycle approach to produce the software or the "product".  ITIL is a Lifecycle approach that focuses on the "service".
I’ll start by reviewing both SDLC and ITIL Lifecycles and then summarize:
SDLC  -  The intent of an SDLC process is to help produce a product that is cost-efficient, effective and of high quality. Once an application is created, the SDLC maps the proper deployment of the software into the live environment. The SDLC methodology usually contains the following stages: Analysis (requirements and design), construction, testing, release and maintenance.  The focus here is on the Software.  Most organizations will use an Agile or Waterfall approach to implement the software through the Software Development Lifecycle.
ITIL  -  is a best practice for IT service management (ITSM) that focuses on aligning IT services with the needs …

Incidents when a Defect is Involved

Question: We currently track defects in a separate system than our ticket management system. With that said, my question is does anyone have suggestions and/or best practices on how to handle incidents when a defect is involved? Should the incident be closed since the defect is being worked on in another defect tracking system if it is noted in the incident ticket? I am considering creating an incident statuses of 'closed-unresolved' so the incident can still be reported on in our ticket management system but know it is being worked on/tracked in the defect system. With defects, it is possible that we may never work on them because they are very low priority and the impact is low to the user. However, in some cases a defect is being worked on. Should we create a problem ticket instead?
Thanks, René W.

Answer: RenĂ©. In ITIL, the activity you are describing is handled by the Problem Management process. ITIL does not use the term “defect” but it does use the term “known error” to…