Affect the future of software testing five things (translation)

Summary:

From our look at software, assess the risks, the complexity of thinking, our test design methods and strategies, and to help release a stable fashion products to users, technology has had an impact on how we test software. And that impact will only grow as technological advances continue. On a high level, there are five that we've seen are the important things in the future of software testing shaping.

In the past two decades, software testing tools not only to perform different activities, but also to the evolution of thinking people to use these tools. Then you get used to a small number of tools for software testing, but now we have too many tools to choose from, from patents to open source. Likewise, people began to testers as a destroyer of information rather than the goalkeeper, and there are a lot of positive development teams to follow their software development life cycle processes contribute to important changes in the team in the Agile world. The evolution thanks to advances in technology.

The kind of influence we see from the software, assess the risks, the complexity of thinking, our test design methods and strategies, and to help release a stable product to the user's way, the technology has a clear impact on how we test software, and the only as technology advances and sustained. In a top surface, there are five that we've seen are the important things in the future of software testing molding.

1. Artificial Intelligence

About five years ago, everyone talking about "mobile first" and give users a way to use mobile web, native and hybrid applications bring mobile experience. Now, the new buzzword is artificial intelligence. It automatically driving a car, home help (of course, people like their Alex Kesha), computer vision, health care, financial years, and is now testing the software in.

Now, some trust in the market, very few tools to use machine learning to help write and perform a functional test procedures, end to end testing and regression testing. First, they focus on test automation based user interface - the more users to create test, the algorithm becomes more intelligent, making the test more stable.

Thanks to artificial intelligence, there are some we can expect to start seeing the benefits of the test:

  • Write simpler test code
  • Lower maintenance test scripts
  • Less strangely test
  • So that non-technical people to start doing Automation
  • Simpler CI / CD integrated
  • More reusable test

For example, I created a Cucumber, Java and Appium automation framework. Although I have a robust frame and a lot of flexibility to write custom code to perform a variety of actions, but I often suffer from common maintenance issues. When a developer to change the attributes of an element, this attribute has been my automated test coverage, and testing began to fail. As a result, I spent a lot of time just maintaining these tests, instead of writing a new automated scripts to cover the new features have been implemented.

This problem can now use artificial intelligence to extract from the document object model dynamic locator to resolve. Real-time, artificial intelligence, analysis and properties of all the objects tree from the document object model, and can create a list of specific properties of different elements. Thus, when a property change element, AI attempts in a list of attributes of this element to locate this, careful examination table and continues until the element to be positioned. This test is more stable, programming and test execution will be much faster, and the test had to spend less time on maintenance.

2. Development Operations

Developed to run helps software development teams and operations teams to better collaborate, thus ensuring a constant throughout the automation and monitoring includes both infrastructure management software development life cycle.

You might ask how this influence to software testing? The answer: we do part of the test of everything is changing. I foresee changes include:

  • When starting a software development life cycle begins automation needs, and to ensure that nearly all the test cases to be automated
  • All quality assurance work needs to be allocated, in order to ensure a smooth CI / CD cycle
  • It requires a high level of collaboration to ensure continuous monitoring of the production environment
  • All quality assurance work needs to be standardized
  • Test paradigm shift from "In this mode, the full test" to "What's release candidate in reduced business risk?"

The key is to automate all of the above changes. Development operations and automation forward hand in hand - the lack of one, the other will not work. This is a clever tool to help bring people and places shorter and more independent release cycle.

I worked in a development, test, operations teamwork few jobs. We see a lot of flaws in the software development life cycle in the cycle, the jargon, the more to the products in question, CI / CD infrastructure more unstable, and rarely see product monitoring and statistics. Noticed these defects, the development team decided to implement operational practices, and everyone began to cooperate and contribute in every software development life cycle. It starts with requirements gathering and to extend throughout the product launch and monitoring.

This increases the culture of cooperation, from the positive impact on team morale begins to produce more automation, and the team began to work together as a unit.

3. Quality Assurance as a Service

Just like how we have software as a service, infrastructure as a service, platform as a service, we now have quality assurance as a service. In the past few years, it has become a company to meet their requirements for software testing popular way.

There are a service quality assurance solutions for your company makes software testing process easier, by:

  • Test case management and maintenance solutions
  • It requires less coding of test automation tools
  • There are robust test report logs, screenshots and video playback features
  • Simple CI System Integration

Resources like mobile phones, virtual machine, network security and human testing, automation in the past seven years to do, I often caught a big problem is that I have to maintain my own server to run automated tests. The server has different problems like inertial motion of storage space, a quirky Internet connection, slow processing speed in continuous operation over the entire circumference of the majority of tests, as well as the latest systems, build tools, security patches, integrated development environment, etc. frequently updated requirements. These kinds of problems can be to a service provider of quality assurance solutions, because they can do all of these activities for you, so team members can concentrate on more important tasks.

In the future, quality assurance as a service provider who is thinking of more ways to improve their products, in order to stay ahead of their competitors, it will also help software testers.

4. Things

With wearable, flexible, houses, cars and other can be connected to the arrival of cloud-based technology, things have started to become a big topic of discussion. Amazing thing is that these devices have so many exchanges and integration occur at every second.

At a high level, let us analyze the different exchanges occur with wearable health tracker. First, mobile applications and health tracker need to communicate with each other. Captured your mobile application data to be seamlessly integrated into the desktop, mobile and web applications Tablet PC version, and these need to occur in real time through communication devices. All data travels to and from the cloud, devices and applications. People can make up the group and each other through the application game, so these calculations and exchanges need to occur in real time. Based on the different event-triggered, requires appropriate notice sent to the right user at the right time. All these exchanges take place through the network.

Imagine you are a tester to test the health tracker. Where do you start? How do you design your test strategies and methods?

Things introduce its own level of complexity to software testing. It's going to affect the way we think about testing, especially as more focus needs to be provided to the old method of integration test rather than each individual component tests.

For example, when I was working as a travel reservation company, we are using the watch system (when it was first introduced Apple) Apple watch came up with a new application. The application limits the useful functions, such as viewing notifications and reward information, booking, hotel location, the ability of flight and car rental. When testing this application, I found that when Apple Watch application program is connected to me on the phone the same application, there is a strange thing: When I minimize the application, Apple Watch goes blank on the phone, but only one black; but when I re-open the application on the phone, black screen disappears, Apple watch application is operational.

This is a perfect example of why it is important to do integration testing. As more and more devices enter the market, which will have the organization and the user is very important.

5. Robot

Now robots do the test. Some people may think that this would threaten the expression of the term "job security" but I still think the human mind can not be replaced. Human machine will need monitoring to ensure they are doing and the fact that they expect things to write programs to make them do things. How far away from this scalable? Only time will tell.

In a nutshell, advances in technology have begun to affect the way we do software testing. It also allows the company to re-think their organization: quality assurance team is embedded into the development team, and the entire team will have quality. It will also begin to study to become an important, interactive development group and test group frequently in order to make the product more flexible in terms of their clients, more useful.

There is a large data replacement control program has become a necessity, as adequate computing power this filtering of data so obtained useful information and feedback. Finally, to make this a reality, companies need to tilt the process, and more transparent, to avoid becoming a barrier to innovation. Efficient growth will tilt its important transformation.

Change our thinking about how we look at the system and the corresponding test is important. We can choose to ignore it or embrace it. What will you do?

Guess you like

Origin www.cnblogs.com/fengye151/p/11518709.html