Devops Testing
Development, operations and Bigdata
Devops
• DevOps Testing is the continuous and automated process of software
testing that enables continuous and faster delivery of software.
• The legacy approach of testing is performed manually.
• Manual testing involves more human activity, is more prone to error, and
is more time-consuming.
• As DevOps focuses on automating processes, testing can fit into DevOps
with the help of the right test automation tools.
Features of Testing in a DevOps Environment
• Organizations are swiftly moving to DevOps for Agile teams.
• Testing is automated, and it is continuous.
• Testing is carried out at different stages of SDLC.
• Easy to roll back and detect errors in the code as results/reports will be
instant.
• Testing becomes a shared responsibility. Each team member is
responsible for quality.
Who is Responsible?
Some of the Key areas that DevOps QA members should focus on are given below.
• Source Control (using Git, Bitbucket, AzureDevOps, etc)
• Continuous Integration (using Jenkins, Bamboo, AzureDevOps)
• Deployment Automation & Orchestration (using Jenkins, AzureDevOps, Octopus
Deploy)
• Container Concepts (Kubernetes, Docker)
• Cloud (using AWS, Azure, GoogleCloud, etc)
Testing Types in Devops
• Unit
• Integration
• Component
• API
• Functional
• Performance
• Stress
Tools
• Test Sigma
• Jira
• Orchestration tools
Automated Testing Powers DevOps?
• Better collaboration and communication: DevOps with automation build clear and
concise communication between all the teams and stakeholders handling that particular
project.
• Speed and agility: Improve the overall project timeline and quality to ensure that users
get the best and most updated version of the product.
• Scalability: Consistently provide quality builds in the CI/CD pipeline by distributing the
development process across multiple teams.
• Security: Take care of all the security and compliance measures by following the
automated practices to run, test, and deploy all your builds.
• Reliability: Increase product release reliability with higher test coverage options with
automation.
BIG DATA TESTING
Big Data Testing Strategies
• Database Testing: Ensures data is correctly stored, retrieved, and queried
from databases.
• Infrastructure Testing: Validates the hardware, software, and network
components that support Big Data platforms.
• Performance Testing: Assesses how well Big Data systems perform
under different loads and how quickly data is processed.
• Functional Testing: Ensures the Big Data system behaves as expected,
meeting business and technical requirements.
How to adopt Big Data Testing?
Steps to adopt its testing strategies are listed below:
• Implement Live integration - Live integration is important as data comes from
different sources. Perform End-to-End Testing.
• Data Validation - It involves validating data into the Hadoop Distributed File System. It
includes the comparison of source data with the added data.
• Process Validation - After comparison, process validation involves Mapreduce
validation, Business Logic validation, Data Aggregation and Segregation, and checking
key-value pair generation.
• Output Validation - It involves the elimination of data corruption, successful data
loading, maintenance of data integrity, and comparing HDFS data with target data.
5 benefits of Big Data Testing
• Data Validation Testing
• Improved Business Decisions
• Minimizes losses and increases revenues
• Quality Cost
• Improved market targeting and Strategizing
Best practices of Big Data Testing?
• Testing based on requirements
• Prioritize the fixing of bugs
• Stay connected with the context
• To save time, automate it
• The test objective should be clear
• Communication
• Technical skills
Best tools for Big Data Testing?
• HDFS (Hadoop Distributed File System)
• Hive
• HBase