During the Spring Festival holiday, I responded to the call to celebrate the New Year in situ. I took the time to look at some excellent tools and selected one or two for more in-depth use. One of the most important tools is draw. By the way, the web version of the tool now has a new name, diagrams.net, but the desktop version still uses the old name. It doesn’t seem to have a Chinese name at the moment.
After reading some information, I found that although I was basically satisfied with the functions of the FunTester testing framework, the structure of the framework was still in a relatively general level, and I could only say some general Outlines, which were compared into tool classes, HTTP protocol, other protocol support and the understanding of performance testing framework. If you want to explain the framework clearly to others, the language organization ability is still improved, after learning some systems thinking skills, I plan to reorganize the content of the FunTester test framework and draw the architecture diagram.
For the first time in this attempt, it is inevitable that there will be mistakes and shortcomings, I hope you have a good view, can give some advice, mainly where the painting is not clear enough, the structure is not systematic, or the symbol of the unknown so can. I will continue to maintain and update this architecture diagram.
- Gao Qingtu: pic.automancloud.com/structure.h…
It took me about two days to make this drawing, and there were some constant modifications. Drawing helped me to clarify the structure of the framework and correct some of my wrong ideas and thoughts before.
- The framework is divided into two layers: functionality and performance.
- The functions are mainly HTTP interface testing, and the extensions include Socket, Dubbo, Redis, MySQL and MongoDB. All of these are level. I thought HTTP should be a separate piece, because I have done a lot of encapsulation and optimization here, but the more I know about it recently, the more I feel small. Each kind of interface protocol is a very large piece of content, and I will encounter more and more complex interface tests of other protocols in the future. Of course, there are other protocols that I have not listed, and I will update them in time when I encounter them.
- Functionality is encapsulated in a large number of basic methods, mainly in the form of various utility classes.
- The encapsulation of several functional modules are listed separately in the functional area: XML file parsing, MOCO API, JsonPath and Message. The reason why it is listed separately is that the functions of encapsulation are relatively complex and can serve as a solution to the requirements encountered in the following test, so it is listed separately. Previous articles have detailed what these features solve for you, if you’re interested.
- Performance is divided into three parts multi-thread model, execution and auxiliary functions, simple structure, the multi-thread model and auxiliary class tag in the class are some interface and virtual classes, in business practice according to different requirements of simple implementation class, and in most of the test scenarios in actual work are need to determine the test model and test model, done manually write multithreaded class, Rather than directly using implementations from business practices.
- If you are interested in how the performance testing framework works, you can refer back to previous articles. Here is the ideaVirtual classAnd then will be in
doing()
Method to write a single run business interface request (including but not limited toHTTP,dubbo, etc.). The complete performance test framework executes the corresponding test cases, automatically collects the relevant data, then performs statistical calculations, and recently outputs the test report (graph) and test result data.
FunTester.Authorized author of the Year by Tencent Cloud Community, non-famous test developer ER, welcome to follow.
- 2020 FunTester self-summary
- How do I test a probabilistic business interface
- Understand stress and load testing in test models
- How can testers be agents of change
- 7 Steps to becoming a Good Automation Test Engineer
- Pitfalls to Avoid for Beginners to Automation (PART 1)
- Pitfalls to Avoid for Beginners to Automation (Part 2)
- Moco fixed QPS interface upgrade compensation mechanism
- How do performance tests reduce native errors
- How does the command line execute methods in jar packages
- The maximum number of consecutive occurrences in a crooked string