The association between Java design patterns and Testing Technology

Source: Internet
Author: User

I have been reading the Junit Source Code recently, and I have also read many source code analyses of Junit. I have seen the Java design mode, Command mode, Observer mode, Composite mode, and so on. I used to know that there was a Java design pattern. This time I checked the Junit source code and found that this design pattern is really very useful. It also provides a lot of guidance for code design and architecture design, when using the Java design pattern, most Java developers mainly focus on Reusing and extending the code and increasing the logic and reliability of the Code. It makes people feel very High. It also makes people feel that this is really technical. Here I will think of architects, system analysts, and other cool people, those people at least understand and use these design patterns in a very well-versed realm, and in what circumstances can they use the design patterns to start what kind of effect, during the system technical solution review and architecture design of the project, this represents the level and technical strength. Even a very good architect is to develop some new design patterns so that other developers can use these design patterns to make the code they write more reliable and scalable.

Here I think of the test architect. Since I learned about the Java design model, I have probably understood some internal functions of the Development architect. I have been engaged in the testing industry for so long, I still cannot fully understand what the test architect is doing, what it can bring to other testers, and what it can bring to projects or systems that need to be developed, let's not talk about other people's opinions here. Let's talk about my personal understanding:

First, a qualified test architect must fully understand the testing technology.

 

The testing technology here includes the requirement analysis technology, test design technology, test execution technology, etc. Comparison with the development architect, which of the Development architects does not understand or even use the basic programming technology, programming language syntax, the design pattern is definitely a perfect solution for these methods and design patterns, reaching a very proficient realm. Here we cannot see the capabilities that a test architect can possess. The contribution of the development architect to the project or system is a technical solution. The rational architecture design and the rational application of the design model can be achieved, it makes the code of developers more quality and testable. The contribution of the test architect to the project or system is the best test strategy, and the rational application of the test model, the rational application of the test design technology and requirement analysis technology enables testers to perform test design faster and write test code to discover hidden bugs.

 

Secondly, a qualified test architect should be able to master new test technologies in real time and apply them to the team.

 

Here we also compare with the development architect. Our development architect not only provides guidance on some technical solutions, but also master the development and dynamics of a series of technologies such as JVM, J2EE, and EJB, learn whether these are the latest technologies to change or replace, and find out if they are suitable for internal applications within the company, or make more in-depth analysis reports. The same is true for our test architects. They can not only fully apply and guide test strategies and test models, but also need to understand the latest development of new testing technologies (demand analysis technology, test Design Technology, test execution technology, excellent tools), and explore the application of these technologies within the company, research and customize or improve these latest testing technology, provide the implementation solution of the latest technology and obtain the latest analysis report in person. Learn that other testers are involved in the application of the latest technology. The purpose is only to improve the technical capabilities of testers, you can also master various testing techniques, discover bugs faster, or discover deeper bugs.

 

Finally, a qualified test architect should be able to abstract and innovate new testing technologies that can be applied to their own teams.

 

Here we can see that the development architects can abstract and develop new design patterns. After all, the design patterns used by internal teams are relatively easier. The same is true for test architects. They need to abstract and innovate new testing technologies (demand analysis technology, test design technology, and test execution technology) for new business models and new system architecture models, excellent tools), and can work with internal teams of the company, and provide new test technical guidance and improvement. If it can serve Testers in the entire testing industry, then it became a real master. Isn't our 24 classic design patterns actually developed by masters. Just like equivalence analysis or causal analysis, Niu B's test architect should be able to develop or innovate similar testing technologies so that all testers can quickly design tests, improve test coverage.

 

Summary:

The test technology is used here. I need to emphasize again that, because it is in comparison with the design model, I personally think it is more appropriate to use the test model, similar to the three models of exploratory testing; but later I felt a little narrow. Compared with the technology mastered by the Development architect, the test technology is less, but the test must be from the perspective of the overall system quality, to understand these development technologies, we must make full use of the testing technology to reflect our own value, that is, to provide the best service. The so-called optimum means that the perfect combination of cost, quality, and progress is achieved. The purpose of the test architect is to help a test team find this combination point, implement it, and obtain relevant results, how can we continuously optimize our testing solutions, test technical guidance, and excellent tools.

 

For a developer, we admire a development architect, not because his code is well written, he writes fast, and has no bugs. The most important thing is that he can give us a development process, even new technologies in the future can provide good and reasonable suggestions and guidance. As a tester, I will also admire a test architect. The reason I admire him is that he can fully analyze the projects or systems I want to test, it also provides reasonable testing strategies and solutions, and provides guidance on Testing Technology for some abnormal or special modules to improve testing coverage, you can also quickly develop gadgets to help me perform more effective tests and more abnormal tests. All these skills require the accumulation of heavy testing technologies and the abstraction and Innovation of relevant experience.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.