Automation Testing with Devops in Agile methodolgy

Abstract

What is DevOps?

DevOps – a portmanteau of Development & Operations – is a software development methodology which looks to integrate all the software development functions from development to operations within the same cycle.

This calls for higher level of coordination within the various stakeholders in the software development process (namely Development, QA & Operations).

 

Devops is not a tool, it’s not a methodology, but it’s a process of integrating software development and quality. Devops is not release management system, it integrates with release management system by standardizing the process.

 

Devops Trends

Traditional Development teams and Operations departments normally have completely different motivations and deliverables. Development keeps changing things based on user or market demands for new features (and fixes of existing features). Operations try to keep everything as constant as possible in order to deliver maximum availability and stability of software services. These two contradicting goals create a bottleneck when it comes to delivery of business value.

 

Why DevOps: Automated Deployment

Most companies are adopting this Devops model in order to facilitate a practice of automated software deployment. DevOps provides the structure that enables teams to push software out as a service on a weekly, or daily, or even hourly basis. The traditional concept of a “software releases” transforms into a continuous cycle of service improvement.

DevOps is a logical evolution in removing all the obstacles to getting high-quality software in the hands of customers. It smoothens the process for agile development and continuous integration, automating the process makes it easier, is more transparent and leads to higher quality.

 

Beyond Functional Testing: Automation for Load Testing, Stress Testing, and Performance Testing

As processes are maturing and Devops is moving at high speed, you may want to integrate performance testing, stress tests and load tests along with it. It’s about creating a continuous process to both check and monitor the software services.

Once the processes are mature and stable enough to be moved to Devops, functional testing can be integrated with load, stress and performance, to continuously integrate with the process to aid more control and structured way of operation. Performance tests can be integrated to check the performance over a period of time on real time data rather than idealistic data. Similarly load and stress can be tested over a period of time.

 

Devops in Real world

DevOps practices promise bridge all communication gaps that usually exist between software engineers, IT, QA and other parts of the business. DevOps should create complete transparency within the business to facilitate agile planning and prompt decision-making. So, as the organization integrates DevOps, it makes services continuous.

DevOps projects must identify and align with business needs, it always ask why you're taking up a DevOps approach and what success will look like. DevOps specific goal will be to shorten the cycle to fix bugs or grapple with fewer bugs in each new release, improving customer retention.

 

Devops and Cloud computing

DevOps developers successfully use private or public cloud to create more complex environments that simulate production use for version testing. The scalable, self-service nature of cloud computing allows developers to provision and migrate new versions for testing with little -- if any -- reliance on IT administrators. This makes testing faster and simpler than traditional provisioning requests to IT.

Public cloud is usually preferable because it offers high scalability and self-service without any danger of exhausting local IT resources. When testing is complete, the public cloud resources can be released to save money until the next testing cycle starts.

Approach for Integrating Devops and Automated Testing in cloud

Step 1: Get proper Test automation in place

Since a key aspect of DevOps is to ensure that deployments are made continuously, as well as effectively, the need to for having tests in place is pretty obvious – untested and faulty code has the potential to mitigate the benefits of DevOps.

Step 2: Choosing the right CI Integration and integrating it

Integrating the automation suite with a build deployment tool to enable centralized execution and reporting.

Step 3: Making customizations as requirements for organization and cloud integration

The customizations made can be pertaining to code and testing framework, to check mode of reporting, environment availability. The integrations related to cloud must be made.

Step 4: Monitoring Results

We can also use a small subset of existing high priority test cases to be executed periodically on production to actively monitor the environment.

Challenges in implementing Devops

  1. The organization processes and practices must be matured enough for Devops.
  2. Exploratory or ad-hoc testing may at first appear to have no room in DevOps.
  3. DevOps is still a relatively young method, partly experimental, so support is solely dependent on internet. 

 

References & Appendix

 

Author Biography

Archana Krushnan is currently working as Test Analyst at Nihilent Technologies Pvt Ltd. She has been in the field of Software Testing for 5.5 years and worked on several domains such as Telecom, Ecommerce and Healthcare. Her interests include exploring new things in testing and sharing on her blog. She has previous experiences of working with companies like Reliance Communications Ltd and Fab.com. She has good knowledge in Selenium, Jmeter and Soap UI. She is ISTQB Foundation Level Certified.

 
1 favorite thumb_down thumb_up 2 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Abstract

What is DevOps?

DevOps – a portmanteau of Development & Operations – is a software development methodology which looks to integrate all the software development functions from development to operations within the same cycle.

This calls for higher level of coordination within the various stakeholders in the software development process (namely Development, QA & Operations).

 

Devops is not a tool, it’s not a methodology, but it’s a process of integrating software development and quality. Devops is not release management system, it integrates with release management system by standardizing the process.

 

Devops Trends

Traditional Development teams and Operations departments normally have completely different motivations and deliverables. Development keeps changing things based on user or market demands for new features (and fixes of existing features). Operations try to keep everything as constant as possible in order to deliver maximum availability and stability of software services. These two contradicting goals create a bottleneck when it comes to delivery of business value.

 

Why DevOps: Automated Deployment

Most companies are adopting this Devops model in order to facilitate a practice of automated software deployment. DevOps provides the structure that enables teams to push software out as a service on a weekly, or daily, or even hourly basis. The traditional concept of a “software releases” transforms into a continuous cycle of service improvement.

DevOps is a logical evolution in removing all the obstacles to getting high-quality software in the hands of customers. It smoothens the process for agile development and continuous integration, automating the process makes it easier, is more transparent and leads to higher quality.

 

Beyond Functional Testing: Automation for Load Testing, Stress Testing, and Performance Testing

As processes are maturing and Devops is moving at high speed, you may want to integrate performance testing, stress tests and load tests along with it. It’s about creating a continuous process to both check and monitor the software services.

Once the processes are mature and stable enough to be moved to Devops, functional testing can be integrated with load, stress and performance, to continuously integrate with the process to aid more control and structured way of operation. Performance tests can be integrated to check the performance over a period of time on real time data rather than idealistic data. Similarly load and stress can be tested over a period of time.

 

Devops in Real world

DevOps practices promise bridge all communication gaps that usually exist between software engineers, IT, QA and other parts of the business. DevOps should create complete transparency within the business to facilitate agile planning and prompt decision-making. So, as the organization integrates DevOps, it makes services continuous.

DevOps projects must identify and align with business needs, it always ask why you're taking up a DevOps approach and what success will look like. DevOps specific goal will be to shorten the cycle to fix bugs or grapple with fewer bugs in each new release, improving customer retention.

 

Devops and Cloud computing

DevOps developers successfully use private or public cloud to create more complex environments that simulate production use for version testing. The scalable, self-service nature of cloud computing allows developers to provision and migrate new versions for testing with little -- if any -- reliance on IT administrators. This makes testing faster and simpler than traditional provisioning requests to IT.

Public cloud is usually preferable because it offers high scalability and self-service without any danger of exhausting local IT resources. When testing is complete, the public cloud resources can be released to save money until the next testing cycle starts.

Approach for Integrating Devops and Automated Testing in cloud

Step 1: Get proper Test automation in place

Since a key aspect of DevOps is to ensure that deployments are made continuously, as well as effectively, the need to for having tests in place is pretty obvious – untested and faulty code has the potential to mitigate the benefits of DevOps.

Step 2: Choosing the right CI Integration and integrating it

Integrating the automation suite with a build deployment tool to enable centralized execution and reporting.

Step 3: Making customizations as requirements for organization and cloud integration

The customizations made can be pertaining to code and testing framework, to check mode of reporting, environment availability. The integrations related to cloud must be made.

Step 4: Monitoring Results

We can also use a small subset of existing high priority test cases to be executed periodically on production to actively monitor the environment.

Challenges in implementing Devops

  1. The organization processes and practices must be matured enough for Devops.
  2. Exploratory or ad-hoc testing may at first appear to have no room in DevOps.
  3. DevOps is still a relatively young method, partly experimental, so support is solely dependent on internet. 

 

References & Appendix

 

Author Biography

Archana Krushnan is currently working as Test Analyst at Nihilent Technologies Pvt Ltd. She has been in the field of Software Testing for 5.5 years and worked on several domains such as Telecom, Ecommerce and Healthcare. Her interests include exploring new things in testing and sharing on her blog. She has previous experiences of working with companies like Reliance Communications Ltd and Fab.com. She has good knowledge in Selenium, Jmeter and Soap UI. She is ISTQB Foundation Level Certified.

Learning Outcome

Challenges in implementing Devops

  1. The organization processes and practices must be matured enough for Devops.
  2. Exploratory or ad-hoc testing may at first appear to have no room in DevOps.
  3. DevOps is still a relatively young method, partly experimental, so support is solely dependent on internet. 

Target Audience

Testers,PM

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Schalk Cronjé
    By Schalk Cronjé  ~  1 year ago
    reply Reply

    This is a lot of material for 20min. Can you do in 20?

    • Archana Sridhar
      By Archana Sridhar  ~  1 year ago
      reply Reply

      Yes, The PPT is for 20 Mins. 


  • Liked YogeSh Karanje
    keyboard_arrow_down

    YogeSh Karanje / Nagesh Deshpande - How IoT is changing our Lives

    20 mins
    Talk
    Beginner

    This paper provides an overview of the Internet of Things (IoT). It gives information how IoT is changing our lives in different fields. It gives brief information for applications in media, environmental monitoring, tag devices, energy management, medical and healthcare fields.

    How IoT is improving our life and adding the accuracy and flexibility. This paper highlights the major areas where we are directly or indirectly using IoT enabled applications. How current revolution in Internet, mobile, and machine-to-machine (M2M) technologies can be seen as the first phase of the IoT.This paper also highlights the Enabling Technologies for the IoT and given the information about the technologies widely used in today’s mobile phones