Test development engineer, usually refers to a tester with development ability.

Software testing, especially automated testing, has grown rapidly in recent years as DevOps and agile processes have become more widely adopted. DevOps wants to build an integrated delivery process that is fast, frequent and reliable; Agile requires continuous, timely, and comprehensive feedback on the quality of deliverables. As an important link in the process of research and development, software testing, whether it can achieve the goal of rapid response, effective measurement, process automation and system integration, will have a far-reaching impact on the R&D efficiency and product quality of the entire organization.

In recent years, agile development processes such as Scrum and XP have become increasingly popular, while shift-left Testing and TDD have gained more and more attention. Despite usually dominated by developers UTDD (unit test driven development) there is no need to do, the ATDD (acceptance test driven development) need the tester has more in demand analysis and system design of participation and ideas, so as to design the high availability of use case scenarios, further clear and design more considerate to drive demand, In order to promote the relevant stakeholders to achieve a unified understanding of the requirements, do a good job of peer review, and ensure the smooth progress of subsequent development work.

As enterprise software systems become more complex, many companies are opting for micro-service architectures and front-end separation technologies, bringing with them increased testing requirements for automation, performance, interfaces, and security. With the introduction of DevOps, continuous integration and deployment platforms, and the introduction of container and virtual machine cloud services, the development and maintenance of these testing platforms, tools, and environments requires additional skills. We foresee several trends in automated testing as an important part of quality assurance activities that will lead to a major shift in automated testers from simple tool users to platform developers.

Process integration

  • Use the unified platform to complete test design, script development & debugging, execution scheduling, statistical analysis, report presentation and other activities;
  • Seamless integration with other DevOps, CI/CD tools as an integral part of the overall development system.

Asset concentration

  • Centralize the management of test scripts, test data, AI voice, speech and images and share them at the organizational level;
  • The test equipment hardware is connected to the cloud to realize centralized management and remote access; Using virtualization technology to build different types and versions of the operating system and browser environment, so as to start and destroy on demand, in order to save computing resources.

Test servitization

  • Provide convenient administrative pages and interfaces, including anyone other than testers, at any time, can easily initiate a test on a specified scope and environment;
  • After the completion of the test, generate and distribute the test results and reports in a timely manner, complete the measurement and evaluation, and provide the basis for the follow-up work arrangement and decision-making.

Capgemini and Micro Focus jointly released the Global Quality Report 2020-21 at the end of 2020 (for details, please refer to the article “Important Trends and Countermeasures in Software Testing 2020-21” on the official account of Software Quality Report). A survey of 1,750 QA/ Test Managers, CIOs, and other IT executives from 32 countries and 10 industries surveyed trends in software testing. Key trends in the testing space were identified as: QA teams are becoming quality coordinators; The proportion of automated test is rising continuously; Test environment and data management are constantly improved; The role of AI technology in testing continues to grow. These trends point the way and demand higher skills for software testing practitioners.

This is the best time for test engineers, because manual testing has become a thing of the past, test practitioners are no longer less capable and remunerated than developers; This is the worst of times for test engineers, and many major factories have outsourced labor-intensive repetitive testing to third parties, instead hiring a relatively small number of higher-end people with stronger professional skills.

In order to adapt to the development trend of software testing and help you improve your comprehensive skills in testing, we are going to launch a special topic about test development. The content includes the following three aspects, welcome to discuss with you and give more valuable suggestions.

  • Tester development skills: programming language, computer system, network and database, etc.
  • Advanced software testing technology: automation, performance, interface testing framework/tool use and development;
  • Software development toolchain: DevOps, continuous integration, deployment and other related platforms and tools.

Finally, we translate a job demand from Microsoft, the software company that is back to the top in market capitalization, for the reference of those who are working towards the direction of test development.

Responsibilities duties:

Design, develop and implement automated tools and test infrastructure for validating Exchange features and interfaces; Design, develop, and implement automated test tools and platforms for validating the functionality and interfaces of Exchange mail services.

Participate in ongoing product specification and code reviews; Participate in product requirement specification and code review;

Translate customer requirements and product goals into appropriate tests; According to customer needs and product objectives, design sufficient and effective test cases;

Overall 60-80% of your time will be developing code in C++ (moving toward C#). Between 60 and 80 percent of my time will be spent programming in C++ (with the possibility of a future switch to C#).