Is Testing Going to Be Unemployed ?

2024-03-20 16:30:00
Jing Wang
Original 5458
Summary : Automation and AI advancements in software testing raise questions about replacing testing teams with crowdsourcing. However, concerns about quality, security, and innovation persist, underscoring the essential role of professional testing. Combining professional and public engagement is vital for comprehensive testing strategies, emphasizing the significance of software testing in delivering quality products and services.

With the rapid advancement of automated testing and artificial intelligence technology, the software testing industry is undergoing unprecedented transformation. This transformation is not only reshaping the industry's ecosystem but also prompting profound contemplation on the future of software testing careers.

On Quora, an intriguing question sparked widespread discussion: Why don't internet companies choose to dismiss their testing teams and instead opt for crowdsourcing, rewarding ordinary netizens with 50 dollars for each bug found?

The "wind of unemployment" has eventually blown from the front-end to testing...

I. What if the masses were to test?

The seemingly straightforward decision of "dismissing testers and relying on the masses for testing" often overlooks deeper issues and risks. Ideally, by dismissing specialized testing teams and utilizing the wisdom and power of the masses, bosses can indeed save a significant amount of expenses. Meanwhile, the masses participating in testing not only earn rewards but also contribute valuable suggestions and identify issues during the testing process, aiding in product improvement.

At first glance, this appears to be a perfect solution benefiting both parties. However, reality often falls short of ideals, and three potential problems can arise:

  • Quality and efficiency issues: While crowdsourced testing may save costs, ensuring the quality and efficiency of testing is often challenging. Unlike professional testing teams, the engagement and enthusiasm of testers are difficult to sustain, which may affect testing progress and effectiveness.
  • Security concerns: Crowdsourced testing carries certain risks. Due to the varied backgrounds of testers, there's a risk of sensitive information leakage or malicious attacks during the testing process, potentially leading to business losses, legal disputes, and reputational risks.
  • Innovation issues: Overreliance on crowdsourced testing may negatively impact a company's innovation capabilities in the long run. Professional testing teams not only identify problems but also offer targeted improvement suggestions. In contrast, crowd testers often focus only on surface issues, making it difficult to provide insightful suggestions, potentially hindering breakthroughs in product design and improvement.

II. Is software testing truly dispensable?

In today's software development process, the importance of software testing is increasingly recognized. However, this doesn't mean that all developers or decision-makers give it sufficient attention. In fact, we can glimpse a notion from this issue: the position of software testing roles seems to be considered dispensable. This notion not only reveals the marginalization of software testing in some teams but also reflects the disregard for software quality assurance and user experience.

In the book " Succeeding with Agile: Software Development using Scrum", Mike Cohn introduced the concept of the "testing pyramid", which visually illustrates different levels of testing. The three layers from bottom to top are:

  • Unit testing (code level)
  • Service testing (module-to-module API testing)
  • UI testing (end-to-end testing)

The testing pyramid constructs a healthy, fast, and maintainable testing combination, maintaining product stability and ensuring good user experiences, meeting the vast majority of user needs. It's evident that most of the bugs mentioned in the issue reside in the top layer of the testing pyramid, UI testing, which accounts for only 10% of all testing.

We must recognize that software testing is not a simple, dispensable task. On the contrary, it's a critical guarantee for software quality and stability. Testing engineers are responsible for conducting various tests at different stages of software development, including functional testing, performance testing, security testing, etc., to ensure that the software works properly in various scenarios and meets user needs. Throughout this process, they not only identify issues but also offer improvement suggestions, helping development teams enhance software quality.

However, due to a lack of deep understanding of software testing among some developers or decision-makers, they may perceive testing as a mere ancillary activity in the development process or even as a burden. This mindset not only disregards the crucial role of software testing in ensuring software quality but also may result in problems not being discovered and addressed promptly during the development process, ultimately affecting software stability and user experience.

Therefore, during the early stages of product development, testing should be entrusted to professional internal teams, while during the product maturity stage, public testing activities can be considered. For example, many games conduct public beta testing with selected players before official release to ensure improved user experience post-launch.

As the software industry continues to evolve, the importance of software testing becomes increasingly prominent. More and more companies and teams are realizing that only by treating software testing as an indispensable part of the development process can software quality and user experience be truly ensured. For instance, many large internet companies have established dedicated testing teams responsible for comprehensive software testing. Moreover, with the development of automated testing technology, testing engineers can efficiently accomplish testing tasks, providing better support for development teams.

Therefore, we should abandon the notion that software testing is dispensable and reconsider its crucial role in the software development process. Only then can we maintain competitiveness in the fierce market competition and provide users with superior products and services.

III. How does the ZenTao team approach this?

Once software goes live, user usage becomes continuous testing of the software. During usage, users may encounter various issues such as interface lags, functional defects, data loss, etc. These issues not only affect user experience but also may have a negative impact on the software's brand image. Therefore, understanding user pain points related to product performance is crucial.

To gain insights into users' real experiences while using the software, developers need to establish an effective user feedback channel. This channel not only helps developers promptly receive user feedback and suggestions but also provides valuable data support for product optimization. Through user feedback, developers can understand which features are most popular, which features have defects, and the specific pain points users encounter during usage.

Taking the ZenTao team as an example, we have established diverse communication channels, including technical Q&A, forums, emails, etc., to capture user feedback in a timely manner.

For such feedback, we have different handling methods:

  • If a direct answer is possible, our technical support colleagues will provide a solution directly.
  • If it's a suggestion for functional improvement or a bug, we will record it in the feedback module of the ZenTao project management software and then assign a specialized colleague to sort through the feedback.
  • If urgent action is required, we will convert it into a work order and assign colleagues from the emergency response team to provide temporary solutions. Temporary solutions will be delivered to our clients in the form of patches, and then they will be converted into requirements or bugs for corresponding processing.
  • If the feedback does not require urgent action, we will determine whether it's a requirement or a bug and then make the corresponding transformation. Requirements and bugs will be prioritized and scheduled according to their priority, entering the normal product development process.
  • After release, we will notify the corresponding feedback providers.

IV. Conclusion

When discussing attitudes towards professional positions, we must mention a concept that is often misunderstood and misused - anti-intellectualism. Anti-intellectualism, in essence, is the disdain and rejection of knowledge and wisdom. In today's rapidly evolving society, regarding any professional position, we should maintain a sense of awe, viewing anti-intellectualism as a playful attitude rather than a guideline for our actions.

Write a Comment
Comment will be posted after it is reviewed.