In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-17 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Network Security >
Share
Shulou(Shulou.com)06/01 Report--
Over the past few decades, software testing has changed according to the tools used to perform different activities and the mindset of the people who use them. There were few tools for software testing at that time, but now we have a lot of tools to choose from, from proprietary to open source. Similarly, people began to treat software testers as information agents rather than gatekeepers, and there have been many active development teams in the agile world. these developments have made important changes to the processes that teams follow in the software development lifecycle. Technological advances are thanks to these evolutions.
In terms of the way we look at software, assess risks, consider complexity, design our testing methods and strategies, and help deliver a stable product to users, technology does have an impact on the way we test software. and this impact will only continue as technology advances. At a high level, we have seen five important things that will determine the future of software testing.
1. Artificial intelligence
About five years ago, everyone was talking about "mobility first" and providing users with a mobile experience using mobile web pages, native and hybrid applications. Now, the new buzzword is artificial intelligence. It is used in self-driving cars, home assistants (of course people like Alexa), computer vision, health care, finance, and now software testing.
Today, there are few reliable tools on the market that use machine learning to help write programs and perform functional tests, end-to-end tests, and regression tests. They focus on test automation based on the user interface-the more user-created tests, the smarter the algorithms become, which makes the tests more stable.
Thanks to artificial intelligence, there are some benefits in testing that we can expect to begin to see:
It is easier to write test code
Reduce the maintenance of test scripts
Reduce flake testing
Enable non-skilled people to start automating
Easier to integrate CI/CD
More reusable tests
For example, I built an automation framework using Cucumber, Java, and Appium. Although I have a robust framework and a lot of flexibility in writing custom code to perform various operations, I often encounter common maintenance problems. When the developer changed the properties of the elements already covered by my automated test, the test began to fail. As a result, I spent a lot of time maintaining these tests instead of writing new automation code to cover the new functionality implemented.
This problem can now be solved by using dynamic locators extracted from the document object model using artificial intelligence. In real time, AI parsing analyzes all object trees and attributes in DOM and creates lists of different attributes for specific elements. Therefore, when the attribute of an element changes, the artificial intelligence tries to go to the next attribute in the list to locate the element and traverses the list until it is found. This kind of test is more stable, the test program is written and executed much faster, and the tester spends less time on maintenance.
2. Development and operation
Development runs help software development and operations teams collaborate better to ensure continuous automation and monitoring throughout the software development lifecycle (SDLC), including infrastructure management.
You might ask, how will this affect software testing? The answer is: everything we do as part of the test will change. The changes I expect include:
You need to start automation at the beginning of the software development life cycle and ensure that almost all test cases are automated
All quality assurance work needs to be aligned to ensure the smooth progress of the CI/CD cycle.
A high level of collaboration is required to ensure continuous monitoring in the production environment
All QA environments need to be standardized
The test mindset has shifted from "testing on this module" to "what business risks have been mitigated in the release candidate?"
The key to all the above changes is automation. Development, operation and automation go hand in hand-without one, the other will not work. This is where smart humans and tools can help shorten and more reliable release cycles.
I used to work for a company where there was little collaboration between the development, testing, and operations teams. We found many defects in the software development life cycle, such as more bug entering the production environment, unstable CI/CD infrastructure, and invisibility of production monitoring and statistics. Aware of these gaps, the team decided to implement development operations practices, and everyone began to collaborate and contribute at each stage of the software development lifecycle. This starts with requirements gathering and extends to product release and monitoring.
This enhanced collaborative culture began to have a positive impact on team morale, more automation began to emerge, and the whole team began to work together as a unit.
3. Quality assurance as a service
Just as we have software as a service, infrastructure as a service, and platform as a service, we now have quality assurance as a service. In the past few years, this has become a popular way for companies to meet the needs of software testing.
Companies with quality assurance as a service solutions can make different aspects of the software testing process easier by:
Test case management and maintenance solution
Test automation tools to reduce coding requirements
Powerful test reporting features, including logs, video recordings, and screenshots
Easy to integrate with CI system
One of the big problems I often encounter in resources such as mobile phones, virtual machines, secure networks, and testers over the past seven years is that I have to maintain my own server to run automated tests. The server machine has different problems, such as storage space, a flaky Internet connection, slow tests running all week, and the latest operating system that needs to be updated frequently, build tools, security patches, integrated development environment, and so on. These issues can be solved by quality assurance as a service provider because they can accomplish all these activities for you, so team members can focus on more critical tasks.
In the future, quality assurance as a service providers will consider more ways to improve their products to stay ahead of their competitors, which will also benefit software testers.
4. Internet of things
With the advent of wearables, smart homes, connected cars and other cloud-based technologies, the Internet of things has become a big topic of discussion. The amazing thing about these devices is that there is so much communication and integration taking place every second.
Let's analyze that at a high level, wearable fitness trackers have different communications. First, the mobile app and the fitness tracker need to communicate with each other. The data captured by your mobile application is seamlessly integrated with the desktop, mobile web, and tablet versions of the application, and all this cross-device communication should occur in real time. All data is transferred back and forth between clouds, devices, and applications. People can also form groups through applications and compete with each other, so these calculations and communications also need to be carried out in real time. Depending on the different events triggered, the correct notification needs to be sent to the right user at the right time. All these communications take place on the Internet.
Suppose you are the tester who tested this fitness tracker. Where do we start? How will you design your testing strategies and methods?
The Internet of things introduces its own complexity into software testing. It will affect how we think about testing, especially because integration testing requires more attention than the old way of testing each component individually.
For example, when I worked for a travel booking company, we developed a new application for Apple Watch that uses WatchOS (Apple Watch was originally launched by Apple). The application has limited but useful features, such as the ability to view notifications and reward information, book and locate hotels, flights and car rentals. While testing the app, I noticed some strange problems when the Apple Watch app was connected to the same app on my phone: when I minimized the app on my phone, the Apple Watch went blank with only a black screen; but when I opened the app on my phone again, the black screen disappeared and the Apple Watch app worked fine.
This is a good example of the importance of integration testing. As more and more devices enter the market, this will be critical for organizations and users.
5. Robot
Now there are robots for testing. Some people may think this is a terrible job security, but I still believe that the human mind is irreplaceable. Humans are still needed to monitor robots to make sure they are doing what people expect them to do and to write programs for them. How scalable is this? Only time will tell.
In short, technological advances have begun to affect the way we conduct software testing. This has also led companies to rethink their organizational structure: QA teams are moving towards embedded development teams, and the entire team will have quality. Frequent interaction between the research and development team and the development team will also become very important to make the product smarter and more useful to customers.
Programs that deal with large amounts of data and appropriate computing power are also needed to comb through the data to get useful information and feedback. Finally, to make this a reality, companies need to adopt lean processes and be more transparent to prevent them from becoming an obstacle to innovation. Lean transformation is critical to effective growth.
The important thing is to change the way we think about the system and test it accordingly. We can choose to ignore it or accept it. What will you do?
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.