Skip to main content

Posts

Showing posts with the label DevOps Test Engineering

Who needs to be informed and knowledgeable about DevOps Test Engineering?

Testing starts with the first line of code!   It is NOT a downstream activity. DevOps testing has a critical role to play in a Continuous Delivery Pipeline. Without integrated testing DevOps simply will not work!   With the advent of DevOps and the movement to breakdown silos between developers, QA, security, and operations, it becomes critically important that all members of an IT team - regardless of what tools they use, or role they play - understand the essentials of testing. Every member of your development team should also integrate to ensure Compliance and Audit outcomes!   It is a new world.   In this new world, we can leverage from existing but must be open to walking through new doors of opportunity. Understanding traditional test strategies is helpful but when and where, and most importantly how we proceed with our test strategy must shift.   Knowing how to code is not enough, Quality Assurance in and of itself is not enough.   We canno...

What is a Microservice?

Business requirements are not static.  The rate of dynamic change for new evolving business needs is increasing as you are reading this blog.  The traditional software development practice for building one big honking monolithic program to provision services is not applicable to the explosion of need. This old way of thinking and deploying is not conducive to Agile.   To understand a microservice let’s first start with our traditional view point.  For this purpose, let’s say that you want to build a “Self Service Catalog”.   To make this seemingly complex service less complex let’s break it up into many microservices.   For example; one microservice might be for “Creation of Online Account” another for making a selection from the “Service Catalog”.  One might be to “Select Payment Method” and yet another microservice for “Invoicing” and so on.  These are many microservices or sub-services that will eventually be connected via Applic...

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. ...

DevOps Test Monitoring Strategy

The combination of continuous monitoring with continuous testing and analytic tools can provide a broader strategic view of test results.  This view is necessary to collect, aggregate and organize test data that enables a gain in confidence for each release.  Key Concepts for Realizing Your Test Monitoring Strategy: Determine continuous test monitoring priorities: Some examples of problems that continuous test monitoring can help with include intermittent failures caused by marginal designs, marginal test designs, environmental condition changes not detected by individual tests, memory leaks, varying starting conditions, interactions with other systems, system topologies and performance degradation within the margin of a test. These can and will accumulate over time. The best practice for continuous monitoring indicates that the problems of most concern to a specific product or DevOps environment will be monitored. Regression test product areas even though there wer...

DevOps Testing – Do it Right

One of the key principles of DevOps stresses that we need to fail and fail fast.   A key part that frequently gets omitted.  That key element of the principle is that we fail fast so that we can LEARN. When we learn it is always best to act and to share.   In the spirit of learning and sharing here are some consequences of not performing DevOps testing properly that might help to mitigate some of your challenges. Consequences of NOT doing DevOps testing properly – challenges and thoughts Culture Conflict Culture Conflict can exist between business leaders, developers, QA testers, infrastructure/tools staff, operations staff or any stakeholder in the entire value stream. When there are unclear roles and responsibilities for the testing of a new or changed service or product, a friction begins.  This friction propagates conflict.  Be aware.  Make management of organizational change a priority. Test Escapes (False Positive)   ...

Cyber and DDOS – What is it?

We saw in a recent blog from “The Professor” how cybercriminals could create a network of controlled computers to propagate a “BotNet”.   One of the malicious reasons for these powerful networks of control is so that the hacker can perform “Distributed Network Attacks” (DDA’s). We all have experienced this at some level and the outcome is not good for enterprise, corporations, or businesses of any size.  DDA’s create disruption even to our own home operations.   A DDA is sometimes referred to as a Distributed Denial of Service or DDOS attack.  This virus or network of virus’s attacks behind the scenes to take over system resources.  A DDOS could attack switches, hubs, routers. It sometimes will flood the network backbone with nuisance transactions with the intention of sucking up all the bandwidth that might otherwise be necessary for day to day operations. DDOS can bring to a screeching halt the web sites for processing claims, or even shopping cart in...

DevOps Test Engineer Question…What is the difference between Static Testing and Dynamic Testing for Continuous Deployment?

Every organization that delivers products or services will need to shift their ideas for how they plan, build, test and deploy a service that is resilient and for one that truly delivers value for both customers and the internal business.  Continuous Integration, Continuous Delivery, and Continuous deployment are all supported by Continuous testing.    Continuous anything will not be assured of success without Continuous Testing.   Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate. Shifting left ensures that the test takes place early, up front in the pipeline of delivery, NOT after the development.  Testing after development is too late because then we do not have the time, money or resources available to re-engineer, re-design or to re-develop appropriately.   When we test after the developm...

What is a Botnet - Why do I care?

Today every business is an internet business.  The performance of any business is directly related to the capability and performance of IT.  Therefore, we must all take cyber security seriously.   Let’s start with a botnet by breaking down the word itself.  The first syllable, “bot” is short for robot. The second syllable “net” is from the word network.  A botnet is formed when a hacker writes a computer program that will breach security on a single computer.  It does not stop there.  This computer program called a virus has the capability to take over that computer that it just hacked into. It does not stop there either because this is not good enough for the cybercriminal.  With a botnet, the virus will move from one computer to another, take control of each and then connect all of the disparate computers into a powerful system or network of control.  This is known as a botnet. Cyber criminals are control freaks.  They wi...