Conf42 DevOps 2025 - Online

- premiere 5PM GMT

DevOps Test Management Strategies

Video size:

Abstract

Test management in a DevOps framework, how to construct your strategy for testing, what to have in mind and why you should always have an individual test plan at SDLC level, at project level and company level. We will also learn the importance to have two test approaches working at the same time.

Summary

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Hello. Welcome, everybody. My name is Clara, and I want to welcome you all to this new edition off DevOps Conference 2025. In the following 30 minutes, we will review and navigate through different test plans and test strategies for the DevOps framework. So let's start. Welcome back to our session DevOps test management. strategies. Let's start by introducing myself. Who am I? My name is Clara. As I said, I'm from Argentina, but I'm currently living in Spain. I'm a passionate QA manager. I have been in the QA industry for over 14 years, and I have enjoyed each one of those years. I love our field of action. I love our quality assurance work and I'm very passionate about it. There is a say in the QA industry and we say for every development activity, there is a corresponding testing activity and I always want to honor that saying. I'm also a lifelong learner. I love to study, I love to train myself, I love to develop and acquire new skills, and I'm always trying to achieve new goals. I think, I honestly think I can learn from anybody around me. And I'm also a yoga teacher and an assiduous meditator. And I like to combine that with my work activities. I think the skills that I have accomplished during my years meditating are very useful for me during my work. Okay, but enough about me. Why are we here? Today we are going to learn a little bit about testing in a DevOps framework. So we will start in Talking about the generalities of our DevOps framework, then the QA role within it. And then we will deeply navigate into the construction of a proper test plan for DevOps. And we will review a dual testing strategy that encompass that test plan. So I hope you enjoyed this session as much as I did. And let's start. What is DevOps is a combination of cultural philosophies, practices, and tools that increase the organization's ability to deliver applications and services at a high velocity. DevOps is all about fostering collaboration, efficiency, and efficiency. quality in DevOps framework, and we have seven C's seven continuous activities that we need to accomplish and ensure those are continuous operation, continuous development, continuous integration, continuous testing, continuous deployment, or deliver continuous feedback and improvement and continuous development. Monitoring. This is, in a few words, in a nutshell, the essence and the life of the DevOps framework is not only a work framework, it's also a cultural philosophy, a mindset, and a way of we in the team to work and collaborate together. Together, evolving and improvement products at a faster pace so we are able to deliver to our clients in a velocity way within this DevOps framework. Which one is the QA role? So we have been spoken about continuous testing. So what is the role of a QA in a continuous testing framework? DevOp DevOps, it's all about fostering collaboration, efficiency, and quality. In this continuous delivery model, QA plays a crucial role by ensuring the end to end testing integrates seamlessly. Into the DevOps pipeline in DevOps, we need to construct, maintain, sustain a set off unit test cases to automate and to execute within each deliver. So continuous testing automates and validates code changes continuously, enabling rapid feedbacks and risks reduction. Enhancing, enhancing product reliability and accelerating the release cycle with a robust product ensuring quality. So to start talking about a test plan, we need to know what is a test plan and which are the parts that compose a good test plan. There are a lot of things to have in mind when you are working and constructing a test plan. I'm sure everybody here is aware of those parts. So we will quickly review the life and the foundations of a test plan to go deeply and navigate into the test plan strategies and the test plan construction. So the parts are the objective is the first thing you need to establish what is what are the objectives for this testing endeavor. Then the scope test methodologies. Approach, the assumptions you need to do, the risk assessment, the risk identification, then a mitigation plan or contingency plan. You need to establish within your test plan every role and responsibility. You need to do the proper schedule to have a proper timeframe established for your test plan. Then, we need to establish a proper defect. Tracking process tools and people involved. We need to establish the test environments that this testing this test plan is going to be conducted on our entry and exit criteria. Those must be written within the test plan. I know DevOps and agile. Are not that deeply into the documentation. We are trying to deliver faster. So documentation is relegated to a second plan to a second part, but it's not that we don't have any is minimal documentation approach. But we need to have the necessary documentation in the test plan is one of those. So you need to write into your test plan, your entry and exit criteria, then the test automation part. They want that we execute continuously and also the ones that will be added to that continuous test suite within this test project. Then our effort and estimation how long. It's going to take us and what we need, we need to do a resource allocation here for environments, tools and people. And then the test deliverables and temp. So these are the 16 steps, tasks or modules that forms. A test plan. So we will, explore the test plan itself and the test strategies. Let's just start regarding our test plan. I want to introduce you guys and girls in this opportunity to the different levels that a test plan can have in my organization, in my team. I like to create a test plan for organizational level. Project level and software development life cycle level regarding the organizational level. I always start by analyzing the organization itself, its generalities, the industry our organization is in, the legal compliance that we need to have in mind, the tools that are used organizational wise. So you need to have those in mind regarding the project level. That's regarding. That's reflecting the current project, so includes the test script, the test suites, the people itself, and about the software development life cycle level, we need to make sure we accomplish the delivery fast piece progress. And cadence. So by creating these three levels of test plans, Yay Manager, as myself, ensures that the testing activities are consistent with organizational goals, flexible to the individual project requirements, and adaptive to the specific development practices like DevOps, leading to a robust and efficient quality assurance process. We will review each one of these test plans levels. Let's start by the organizational level. When you have a test plan at organizational level, the purpose for this test plan is to establish the overreaching goals and standards for quality assurance across the entire organization. If the test plan, the organizational test plan, has never been created, This is a great opportunity for you to start this practice as this test plan will serve as foundation and baseline for every other project test plan. So in this organizational test plan, we need to point out the tools for testing that are used at organizational level. the organizational industry requirements that we need to comply and the organizational goals for quality that our complete company wants to achieve. It ensures consistency in testing practices and align the testing strategy with the organization mission and the quality objectives. What will you add into this test plan content? It includes a guideline for testing methodologies that we can use in our organization that are recommended and encourage the tools, as we said, that we can use for each project. Depending on the project, you will use, utilize more or less of those tools. If, for example, your project Is regarding the non functional aspects, you will need to use the tools for performance testing. For example, Jmeter, if your project includes user acceptance testing part only, then you will focus on manual testing, functional testing, and we need also to address in this test plan, in the organizational test plan, the resources Allocation, including the environments, servers, capability, the third party vendors, if any, and the resources within our organization, it serves as a framework for all the project specifics test that we will review now. For a project level test plan, the purpose of this, this is the most common test plan that everybody designs and develops. When you design your test plan is commonly mostly at project level because address the needs of the current project. So it will include all of the actions and steps that we review before. But our project level, it focused on the specific needs and goals for this particular project, and it includes the time map, the scope, the objectives, technologies, and all the aspects related to our project. The content will be the testing approach, the entry and exit criteria, the resources, The timeline, the estimation, of course, the specific test cases and test suite or use cases are the life of this test plan project level. Here we will include the risk analysis and the roles and responsibilities for the project. This is more detailed, is the longest of our test plans and contextualize that the organizational test plan and use the organizational standards. As a foundation, so the project level test plan is unique per project, but the organizational level test plan is the same for every push now to review the software development life cycle test plan. This will also be reutilized and can be shared within all the projects in the company if we are all user using the same software development life cycle is a guideline baseline to utilize when we are executing our project test plan. The purpose of this project, the software development life cycle test plan. It's to address the specifics of the development life cycle being used, such as Agile, Scrum, or in this case, DevOps. It ensures that testing is effectively integrated with the development process and aligned with its iterative and collaborative. Nature for this software development life cycle test plan. We will involve our project managers are developers to validate that we are planning the corresponding test activities for every each development each deploy. The content of this test plan, it's specified the testing activities tied to each phase of the software development life cycle, such as in continuous integration and continuous deployment, the automation strategies. The acceptance criteria for each iteration, the performance testing and non functional testing and monitoring practices that we are going to put in place and this helps ensures the testing is an ongoing and adaptive to changes during the development phase. process. So again, this can be reutilized in different projects is not specific to the project, but it is specific to the software development life cycle that we are using at company level. That's regarding our test plan development. We have learned how to develop a test plan in organizational level. At project level, which is the most common one and at software development life cycle level. Now that we have our test plan developed, analyzed and tailored to our needs and our project, we can decide our testing strategy. To construct a testing strategy. In this case, I, myself, will use three different testing strategies coexisting for a DevOps project. First of all, it will be our continuous testing. So this will include our automatic test run that executes every time a code is committed, allowing quick feedback and rapid interactions as DevOps baseline. But that will be general to any DevOps project, the life of a DevOps project. It's the continuous testing and it's the robust set of unit testing that is executed and run every time a code is committed. But for each project, we will need to have our own testing strategy. In this case, I would like to address a shift left testing strategy as a first, practice as a number one testing strategy within, combined within a risk based testing strategy as a secondary testing strategy. Let's review. Shift left testing as it is on the name. It stands for going to the shift, shifting, shifting to the left as much as you can. You need, you need to start your QA or testing activities as early as possible within your software, the development life cycle. It's a day identify and fix defects early in the development process by starting test activities as soon as possible. This is. Very, very important. The cheapest way to fix a defect is to find this defect within the same phase of the software development lifecycle that was introduced. That's the cheapest way to fix it. And if we can mention some industry standards, it's 15 times cheaper to fix a defect within the development phase that in production. So that number is a lot. If we reach our pre production status or stage with a lot of defects, we may consume our budget. And there are a lot of projects that never reach production because of this. because of budget running out. So shift left strategy involves QAs as early as possible. And what is the earliest possible? Static testing. So we will try to start our testing with a static testing, Practices, the static testing of the code, we can use tools for the static analysis as SonarQube or any other tools that your organization is maybe using, or you can introduce to the organization and the manual static, testing, which is the reviews, the reviews of the work products, reviews of the user stories you can conduct. And informal reviews, or if you can go more formal and conduct formal reviews or retrospectives. For informal reviews, and the most common practice that I will recommend is the peer review. So you can go doing peer review and review the requirements, the test scripts, the code, everything can be reviewed at its early stage to try to identify and fix the defects as soon and as cheap as possible. So engage testers early in the sprint or iteration, incorporate testing into the design and decoding phases. and carry out early non functional testing such as performance and security testing. Our second test strategy will be risk based testing. Risk based testing can coexist with any other Testing strategy because risk-based testing, BA is based on the execution of the test script, the execution of the use cases. So let's review a little bit for a risk-based test strategy, we prioritize the testing activities based on the risk. And the impact of different components and features by focusing on areas that present the higher risk, you can ensure critical functionalities are thoroughly tested, which is essential in DevOps environments where rapid delivery is important. So for a risk based testing strategy, we need to perform. two important actions. One is the risk analysis and the second is risk monitoring. Let's review our first activity for a risk based testing strategy. The risk analysis. The risk analysis includes two parts. The first is risk identification. You need to identify properly which are the risks within your project. How do you do that? You involve in the risk identification the correct Everybody that is a relevant stakeholder needs to be involved in a risk identification assessment. You can do it by performing interviews, retrospectives, risk workshops, which are my favorite, actually, because it's a very dynamic and collaborative way to identify the risks. Or you can use training. checklist. That can also be an offline activity and you can send those to the stakeholders by email and track the answers. But within this activity, you should end up with a proper list of risks, properly identified by every stakeholder. I cannot repeat Enough. How important is to involve the proper stakeholders in the risk identification process? Because if you don't identify the risk properly, if you, oversee a risk, or if you highlight as a risk something that is not, it will result in the complete risk based strategy. being unused. So after you conclude your risk identification process, you should end up with a list of risk. Let's say, let's say risk A, risk B and risk C. Then it's time to do your risk assessment. In this qualification of your risk, You will assign a risk level for each one of those identified risk. What is your risk level? A risk level is the combination between the risk likelihood and the risk probability. impact upon occurrence. So, for example, if risk a is very likely to occur, but the impact upon occurrence is very low, you will identify this risk in a medium level because it's very likely to happen. You want to cover that to mitigate that, but because its impact is very low, you will assign it a medium level. For risk B, for example, if the likelihood of appearance is low, but the impact upon appearance is critical, you will anyway assign a high level to this risk because you want to make sure that This will not happen in production as soon as possible and for risk C, if they have a likelihood of appearance, it's made, but the impact it's high. You will also assign it as a high risk level feature or this. Then this will be the first part of our risk based testing strategy, the risk analysis. After we have identified a risk and assigned a risk level to each one of those, we will continue to the second part, which is the risk analysis. Within the risk control, we continue perform the risk monitoring. This is a continuous activity. This never stop. Risk monitoring is part of our strategy and our testing process. This allow us to report on testing progress in terms already of residual risk level. At any point, which is very important for the stakeholders to make informed and appropriate decisions regarding going or not going to production, for example. And also the risk control part includes. The risk mitigation. Our essential mitigation action when we execute a risk based testing strategy is to execute our test scripts in a prioritized way. We prioritize According to the risk level, so the test scripts are assigned from highest to lowest to a different risk level regarding the feature of functionality, having in mind the risk assessment and identification we just did during risk analysis part. Regarding this test execution, there are two ways in the industry that we can choose to execute, a risk-based strategy to mitigate risk as soon as possible. The first execution will be a deep first approach that execute all the scripts in a strict descending order. For the level of risk from the highest to the lowest, so no matter the feature or the part of the system that we are executing the test script, we will execute all the high priority regarding the risk first and then go down into until the lowest. So that's one way to go. It's very robust. But it's time consuming and it's very structured. If we need to be more flexible or if we need to make faster decisions, we will choose a breathe first test approach. In this test approach, Each test script will be assigned to with the highest risk priority, we will assign one test script per feature or per product to the highest test priority, and we will execute those highest one per product or one per feature as soon as possible in the first round of execution, and then we will continue. In this way, we will be able to provide information regarding the sanity of our project to the stakeholders in a faster way. So we will be able to assess and evaluate the current quality if we execute breathe first approach one test script with the highest risk per feature. Normally in our projects, we start with a deep first testing approach because it is more robust, more organized, but as soon as we are starting consuming our time and our budget, we move to a brief first approach trying to provide it. Thank you. more information and to assess the quality of our project in a general way as soon as possible. So this is regarding our risk control. Let's review our key takeaways. That has been our analysis regarding the test strategies that we want to choose and a compass for our three level test plans within our DevOps framework project. Why we will choose A mixed test strategy. First, it allows you early detection of the highest important defects. It ensures efficient resource allocation. You will allocate your resources as soon as possible to the highest risk part of your project. It enhance collaboration. You will involve all the stakeholders, developers, project managers, product owners, final users. You will involve all of the stakeholders within your development of your risk strategy, and this will foster a collaboration spirit in your organization. It improves quality and speed because you will isolate the defects faster and you will have a robust test strategy with three different test plan levels and with three different test strategies, the continuous testing strategies from DevOps, a shift left test strategy and a risk based approach sustaining your other strategy. And this will enable informed decision making for your stake holders and your managers. So that's why we should always consider this mixed test strategies as a driven for our projects. So that will be all. And I just want to remember you guys, girls, team, all the, this phrase that I love from RQA environment and RQA world. The product quality is highly influenced by the quality of the process being used and applied. So if you, your process has a high quality, it will influence highly the quality of your product. So remember to invest time developing a tailored process for each of your projects. Thank you very much. And I hope you, we can stay in touch. So please add me to your LinkedIn accounts and let's continue talking about quality. I hope you have enjoyed this time. So thank you. Okay. So that was all for today's session. Thank you very much for staying with me for this 30 minutes. I hope you find this information very useful and let's keep in touch. Thank you.
...

Clara Ramos Gonzalez

Consultant

Clara Ramos Gonzalez's LinkedIn account



Join the community!

Learn for free, join the best tech learning community for a price of a pumpkin latte.

Annual
Monthly
Newsletter
$ 0 /mo

Event notifications, weekly newsletter

Delayed access to all content

Immediate access to Keynotes & Panels

Community
$ 8.34 /mo

Immediate access to all content

Courses, quizes & certificates

Community chats

Join the community (7 day free trial)