Test development engineers usually refer to testers with development capabilities.
In recent years, as DevOps and agile processes are more and more widely adopted, software testing, especially automated testing, has developed rapidly. DevOps hopes to establish a fast, frequent, and reliable integrated delivery process; Agile requires continuous, timely, and comprehensive feedback on the quality of deliverables. Software testing is an important link in the R&D process. Whether it can achieve rapid response, effective measurement, process automation, and system integration goals will have a profound impact on the R&D efficiency and product quality of the entire organization.
In recent years, agile development processes such as Scrum and XP (Extreme Programming) have become more popular, and Shift-Left Testing and TDD (Test Driven Development) have received more and more attention. Aside from UTDD (Unit Test Driven Development), which is usually developer-led, I won’t go into details here. ATDD (Acceptance Test Driven Development) requires testers to have more participation and insights in requirements analysis and system design in order to be able to design. Create high-availability use case scenarios to drive requirements to be further clarified and design more comprehensive, so as to promote relevant stakeholders to achieve a unified understanding of requirements, do a good job of peer review, and ensure the smooth progress of subsequent development work.
As enterprise software systems become more and more complex, many companies have chosen microservice architecture and technologies that separate the front and back ends, bringing more automation, performance, interface, and security testing needs. In addition to the application of DevOps, continuous integration and deployment related platforms, the introduction of container and virtual machine cloud services, the development and maintenance of these test-related platforms, tools and environments do not require more skills. We foresee that automated testing, as an important part of quality assurance activities, will have the following trends in the future, which will bring about a major transformation of automated testers from simple tool users to platform developers.
Process integration
- Use a unified platform to complete test design, script development & debugging, execution scheduling, statistical analysis, report display and other activities;
- It seamlessly connects with other project management, DevOps, CI/CD platforms, and functions as an organic part of the entire R&D system.
Asset centralization
- Centralized management of assets such as test scripts, test data, AI voices, statements, and pictures, and share them at the organizational level;
- Connect the test equipment hardware to the cloud to achieve centralized management and remote access; use virtualization technology to build different types and versions of operating systems and browser environments, which can be started and destroyed on demand to save computing resources.
test service
- Provide a convenient management page and interface, including anyone other than the tester, at any time, can easily initiate a test on the specified scope and environment;
- After the test is completed, timely generate and distribute test results and reports, complete measurement and evaluation, and provide a basis for follow-up work arrangements and decision-making.
The well-known 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 software quality report public number article "Important Trends and Countermeasures in Software Testing " 160fe19a52d591). 1,750 QA/test managers, chief information officers and other IT executives from 32 countries and 10 industries participated in the survey on software testing development trends, and summarized the main trends in the testing field, including: QA teams are gradually Transform into a quality coordinator; the proportion of automated testing continues to rise; the testing environment and data management continue to improve; the role of AI technology in testing continues to rise. These trends point out the direction for software testing practitioners, and also put forward higher skill requirements.
This is the best era for test engineers, because repetitive work focusing on manual testing has become a thing of the past, and the ability and remuneration of test practitioners is no longer inferior to that of developers; this is the worst era for test engineers, and many large factories have Labor-intensive repetitive testing work is outsourced to a third party, and instead only employs a relatively small number of high-end talents with stronger professional capabilities.
In order to adapt to the development trend of software testing and help everyone improve their comprehensive skills in testing, we are about to launch topics related to test development. The content includes the following 3 aspects, welcome everyone to discuss and make more valuable suggestions.
- Tester development skills: programming language, computer system, network and database, etc.;
- Advanced software testing technology: automation, performance, interface testing framework/tool usage and development;
- Software development tool chain: DevOps, continuous integration and deployment and other related platforms and tools.
Finally, we translated a copy of employment requirements from Microsoft, a software company whose market value has returned to the top, for the reference of friends who are working hard in the direction of test development.
Responsibilities:
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 verify the functions and interfaces of the Exchange mail service.
Participate in ongoing product specification and code reviews;
Participate in product requirements specification and code review;
Translate customer requirements and product goals into appropriate tests;
According to customer needs and product goals, design sufficient and effective test cases;
Overall 60-80% of your time will be developing code in C++ (moving toward C#).
Six to 80% of the work time will be programmed in C++ language (it is possible to switch to C# in the future).
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。