Test development engineer, usually refers to the test personnel 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 part of the r&d process, whether software testing can achieve rapid response, effective measurement, process automation and system integration will have a profound impact on the r&d efficiency and product quality of the entire organization.
In recent years, as agile development processes such as Scrum and XP have become more popular, shift-left Testing and TDD have gained more emphasis. 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, So as 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 microservices architectures and technologies that separate the front and back ends, creating more automation, performance, interface, and security testing needs. Coupled with DevOps, continuous integration and deployment related platform applications, and the introduction of container and virtual machine cloud services, the development and maintenance of these testing related platforms, tools, and environments all require additional skills. We foresee several trends in automated testing, an important part of the quality measurement movement, that will lead to a significant shift in automated testers from simple tool users to platform developers.
Process integration
- Use a unified platform to complete test design, script development and debugging, execution scheduling, statistical analysis, report presentation and other activities;
- Seamless integration with other DevOps and CI/CD tools works as an integral part of the overall development system.
Asset centralization
- Centralized management of test scripts, test data, AI test assets such as voice, statement and pictures, and sharing at the organizational level;
- Connect the hardware of the test equipment to the cloud for centralized management and remote access; Use virtualization technology to build operating systems and browsers of different types and versions, start and destroy them on demand, and share them at the organizational level.
Test servitization
- Provide a convenient test management page or interface that allows anyone other than testers to easily initiate a test on a specified scope and environment at any time;
- After the completion of the test, generate and distribute the test results and analysis report in a timely manner, complete the measurement and evaluation, and provide the basis for the follow-up work arrangement and decision-making.
The famous consulting company Capgemini and Micro Focus jointly released the Global Quality Report 2020-21 at the end of 2020 (for details, please refer to the article 2020-21 Important Trends in Software Testing and Countermeasures). A survey of 1,750 QA/ test managers, ciOs, and other IT executives from 10 industries in 32 countries identified key trends in software testing, including: QA teams are becoming quality coordinators; The proportion of automated testing is increasing; Continuous improvement of test environment and data management; The role of AI technology in testing continues to grow. These trends point out the direction for software testing practitioners, but also put forward higher skill requirements.
This is the best time to be a test engineer, because the repetitive work of manual testing is a thing of the past, and test practitioners are no longer as capable and remunerative as developers. This is the worst of times for test engineers, as many big factories have outsourced labor-intensive repetitive testing to third parties and hired a relatively small number of higher-end people with more specialized skills.
In order to adapt to the development trend of software testing and help you improve the comprehensive skills of testing, we are about to launch a special topic on test development. The content includes the following three aspects, welcome to discuss and give more valuable suggestions.
- Tester development skills: programming languages, computer systems, networks and databases, etc.
- Software testing advanced technology: automation, performance, interface testing tool use and development;
- Software development tool chains: DevOps, CI/CD continuous integration and deployment tool chains.
Finally, we translate a from Microsoft, the market value of the world’s first software company to return to a demand for employment, for the direction of the test development of friends for reference.
Responsibilities duties:
Design, develop and implement automated tools and test infrastructure for validating Exchange features and interfaces; Design, develop and implement automated testing tools and platforms to validate the features and interfaces of Exchange mail services.
Participate in ongoing product specification and code reviews; Participate in product specification and code review;
Translate customer requirements and product goals into appropriate tests; Design sufficient and effective test cases according to customer requirements and product objectives;
Overall 60-80% of your time will be developing code in C++ (moving toward C#). You will spend 6-80% of your time developing and programming in C++ (possibly switching to C# in the future).