One of the reasons I think security testing is a fast-growing niche is because of all the topics I’ve heard about in the Test Guild Automation podcast, security is the topic that has been talked about the most. In addition, based on a recent SD Times article, the security level is now undergoing an unprecedented decline, because in 2019 we saw the second, third and seventh – the most significant data leaks of all time, judging by the number of people affected by them.
Since we started a separate podcast on information security called TestGuild Security Podcast, I hear how this topic is growing in importance as it touches on open source projects that many people use to build their applications.
In the field of security, we are approaching a critical point.
I recently spoke with security experts who confirmed that they are also seeing an increase in the pace of security testing. For instance, Rick Sullivan, vice president and general manager of software services Dxc technology, talked about the fact that in those companies in which he worked, much attention was paid to security.
He noted that security today is largely related to the application level, which is very similar to testing. The point is to understand the nature of vulnerabilities that appear while you are trying to provide faster development and delivery cycles of quality software. Thus, serious attention to application security, data security and security within the framework of SDLC is, based on his experience, really a trend.
I also spoke with Stephen Dimitrov, Director of Software Solutions, Merida. Steve said that in his organization, 60% of the business is traditional application testing. While the remaining 40% is testing the security of these applications.
If we turned to these figures a couple of years earlier, the percentage would be approximately 80 to 20. Therefore, if you have not dealt with security so far, you will soon have to deal with it, since your team will have to conduct security testing in 2020.
Application of automated testing with artificial intelligence
When I was at conferences in 2017, 2018 (and even at the beginning of 2019), and it was about testing automation using AI, the audience rolled their eyes. Now there is no. I believe that this year the idea of testing automation with AI will finally mature. And that 2020 is the year when the time comes to adopt testing tools using machine learning. Testers will finally see that these solutions will help improve testing, and not replace people at all.
Machine learning solutions will become more common.
In 2019, I talked to a lot of people who work on solutions with built-in machine learning / AI, and I am familiar with several open tools that will also have similar features.
Machine learning and AI will be more widely recognized and in this area we will see many more innovative solutions.
The heyday of Python
If the AI gets distributed, then Python will follow. I love Python, I understand it and this is its charm.
It is almost like an electrical tape, in the sense that with it you can do anything. For me, this is a great language for creating awesome helper tools, and helper tools do not have to be high-level developments. In addition, if you still do not know, even Google actively uses Tensorflowwhich is a Python library.
I believe that it follows from this that Python in 2020 will prove to be an extremely demanded skill. That is why on Automation Guild 2020 we have 2 sessions to help you get started with Python faster. The first session will be led by Andrew Knight. It will show you how to get started with Python. You will also learn how to use Python to test REST services.
Second Session “Pytest the Awesome Parts” by Josh Grant from Sauce Labs. Sauce Labs is a large company that works with a lot of people, so if Josh prefers Python, then this is probably the trend that the company will adhere to. So if you have little experience in Python, you will have another reason not to miss the Automation Guild 2020.
I know what you are thinking about – I have been writing about this since 2014. But I believe that in 2020 API testing will become a reality. In 2019, I spoke with some people who strengthened my belief that this area will become even more critical in 2020. You should definitely learn the API testing skill if you have not already done so.
I recently spoke with Paul Grossman. Paul was out of work for some time, and he needed some time to find a new one. Finally, I asked him: “What is the matter? Why aren’t you hired? ” To which he replied: “The reason I am not working yet is that I have no experience in testing the API.” Then he added: “Yes, the GUI is an obsolete topic, microservices are now in great demand.” Paul said that at every interview he went to, the topic of API testing was raised.
I also spoke with Patrick PoulinCEO API Fortress and his views on the trend of testing APIs. He said that over the past few years, his company has sponsored about 20 conferences, and he noted that API testing is becoming a much larger movement in the tester community. At the beginning of 2019, he talked to people who did not have any formal API testing processes, but now this topic has shot. Previously, when they made presentations on how to switch from manual testing of APIs to automated ones, they were only interested in about 10 people or so. Now, at such mitaps, the apple has nowhere to fall and this is only the beginning.
Blockchain Application Testing
I often visited job search sites and drove keywords into the search engine to check how often they appear in the job description on my profile, so that if I was suddenly fired (as has already happened), I knew what skills would need to be honed or acquired, to find a new job. One of the areas that I considered was testing blockchain applications. I was surprised by the number of companies that added this item to the tester requirements section.
For example, I will give a few quotes from the site Indeed.com:
“Quisitive allows the company to use Microsoft Cloud, as well as new technologies such as blockchain, artificial intelligence, machine learning and the Internet of Things (IoT). We are looking for a specialist for the position of Software Quality Assurance Engineer to conduct testing in accordance with the mentioned technology stack. ”
“Our company is growing, expanding the range of services provided in the field of telemedicine, and the proposed solutions range from a back office to a blockchain. The requirements for this position are still being formulated within our organization. Nevertheless, if you are a testing engineer with experience in testing blockchain applications and audit of smart contracts, we would like to invite you for an interview. ”
For information, we will have a blockchain session from Rayan Lewis in the Automation Guild, which you should definitely listen to.
Another buzzword you may not have heard of before is RPA or robotic process automation. Now is a great time to get your start with RPA. I recently spoke with Jim Hazen, and he opened my eyes to this area, and perhaps it is on it in 2020 that I will focus.
What is an RPA? Instead of automating functional testing, you will run various data processing scripts. In particular, you can focus more on workflow automation. Let’s say you may have a system of insurance payments, that is, a workflow system. You can use the RPA to control either part of this process, or the entire system at once. By automating common business processes, you reduce the likelihood of error due to the human factor. There is a lot of similarity with functional automation, except that it is more about automating business functions, rather than testing any functionality.
So if you are already engaged in automation, then know that this is a useful skill, which in 2020 will become even more popular. I am interested in discovering new areas of activity in which there are not many people, because it seems to me that automation is already crowded with those who consider themselves (often unjustifiably) an expert on Selenium. It also affects the amount you can earn as a Selenium consultant. Over the past few years, it has fallen dramatically. Therefore, if you want to increase the value of your consulting services or your value as a specialist within the company, RPA is what you should pay attention to.
Low Code Automation Solutions
Recently, I see more and more automation solutions, which, in essence, are Selenium wrappers based on Appium. Such tools complement the functionality of Selenium and Appium, which in the usual case would have to be written from scratch. I believe that this trend will continue throughout 2020, and that we will see even more solutions for creating automated tests without much effort in writing code.
For example, tools like TestProject.io They have built-in libraries of reusable blocks that can be used in a test script without having to write something yourself.
In TestProject, you have access to many built-in functions. They help you implement many things that you would normally have to write from scratch to create your own testing automation platform. Other tools will adopt this approach in 2020.
The plus is that you do not need to start from scratch. You can choose an existing solution and easily run it, using ready-made code features that you can simply include in your script and get the result without writing anything yourself. Such solutions will allow you not to worry about adding a waiting mechanism, as this will be taken care of for you. Therefore, in 2020, we are likely to see more reusable low code solutions that bring us closer to the realization of the dream of automation without code. Also, such tools make it easy for specialists to automate without having to dive into the basics of Selenium and Appium API
Smart test execution
The next trend is my prediction for 2019, and it actually came true. With smart execution, a developer can test the code, and you will know which tests you need to run to cover a specific case. Therefore, instead of running all the tests at once for full coverage, which is now most often recommended, we will begin to conduct fewer tests. You can save time, money and resources, because you will have a smaller set of tests that focuses on checking specific code.
If the tests fail, you know for sure that there is a clear relationship between the current test and the tests. In general, this way you can speed up the testing process. Recently, a lot of tools have appeared in this area, including Saltightswhich offers a great solution. In addition, Parasoft recently appeared Selenic with smart execution. A few months ago, I also talked with guys from Appsurify, and they offer functionality that helps you with smart test execution. We will see the development of this direction in 2020.
I first heard about this from Jonathan Wright. AIOps is an extension of simple functional testing through AI and its application to all types of software development activities. For example, to monitor the status of production. Thus, you can take the information obtained at the monitoring stage and automatically create a testing model in order to understand what really happened on the production site. Then this model can be used to automatically generate functional tests and performance tests, and the received information can be used throughout the entire SDLC pipeline.
AIOps can also help you make decisions using machine learning to identify key insights you may have missed on your pipeline. For example, tools such as Appsurify can use the data to create metrics for each developer individually, to help you identify the strengths and weaknesses of your team and give your staff what they can do. Also, this tool can warn you about dubious code verification based on the history of code changes by the developer. Therefore, everything related to Continuous Testing, DevOps or CI / CD will be somehow integrated with AI. In 2020, we will see movement in this direction.
2020 Trends – Where Was I Wrong or Missed Something?
This is what my forecasts for 2020 look like. You can share your opinion in the comments.