How to become a true test architect?

Test models are everywhere. Only when you truly understand "what is a test architecture" and have test modeling capabilities can you become a veritable test architect.

As we all know, the word " architecture " comes from architecture and has meanings such as "architecture, system structure". The connotation of architecture is much richer than that of system structure, but its core is often concerned with the design of its shape and system structure, comprehensively considering the needs of the environment and the needs of users, and conducting reasonable functional allocation in space to meet safety, economy, applicability, Beauty and other needs to achieve harmony between people and the environment.

Software architecture is a metaphor (or "system metaphor"), similar to the architecture of a building. It mainly refers to the basic structure of the software system and its design specifications. The software architecture includes the elements of the software system and the connections between them. Properties of relationships, elements and relationships , etc. For example, a system consists of data layer, data access layer, service layer, business logic layer, display layer, etc. Each layer is a constituent element of the system. Each element not only has a hierarchical relationship but is also connected through interfaces. to reduce the coupling of the system. If the reliability of the system needs to be improved, redundant components must be added to the system.

Software architecture is also a design decision that must be made early in the project , that is, thinking about the core components of the software from an architectural perspective, deciding what is important, and keeping these architectural elements in a good state. A software architect is able to identify which elements are important and which elements, if not controlled, may cause serious problems. If the correct choice of the basic structure or the design of a good structure is not made in the early stages of software development, the subsequent software system will have some quality problems and will have to be modified, and such modifications will be costly and lead to poorer functionality. Slower and more defective. Therefore, software architecture and its design are very important.

So is there an architecture or basic structure in software testing? That is, are there some test elements and their relationships in software testing? We need to study these elements and relationships to improve the efficiency and quality of testing? In fact, it does exist. One of the notable examples is the architecture of the automated testing framework or test platform, as shown in the case in Figure 1. Although it basically conforms to the characteristics of the software architecture, it must also meet the specific needs of software testing. Therefore, the architecture of a software testing platform cannot simply be regarded as a general software architecture.

picture

Figure 1 Schematic diagram of Alibaba Cloud test platform architecture TestMaster

In addition to the automated testing platform, there are also a series of test modeling for a specific test project:

  • Test requirement modeling (sometimes also includes test design) - the well-known model-based testing method (MBT), such as relatively simple classification tree, black box testing method (shown in Figure 2), cause-and-effect diagram, state tree, Finite state machines, etc., as well as more complex modeling, symbolic execution, model checking, etc., as shown in Figure 3;

  • The design of the test plan includes how to identify test items, test risks, test methods and many other test elements, and determine the relationship between them;

  • The structure of test cases , such as how to decompose test goals, how to build test suites, how to organize test cases (including hierarchical division), etc. in script-based testing.

  • The design of exploratory testing , how to decompose test goals into Missions, and then decompose Missions into Sessions.

  • The design of automated test scripts , how to encapsulate and divide test scripts into hierarchies, etc.

picture

Figure 2 The black box testing method is abstracted into a model

picture

Figure 3 Schematic diagram of symbolic execution model

Software testing cannot be separated from business, let alone development. The software testing team or related personnel need to communicate with business architects (or business analysts), product managers and software development architects, and participate in requirements review and (technical architecture and function Structure, UI, etc.) design review, understand the business architecture, product structure and technical architecture, etc. (If you don’t understand these contents, don’t worry, we will discuss them in detail later), so as to better design the test plan and conduct the test more effectively, such as Layered testing, precision testing, contract testing, etc. all have the shadow of test modeling. This is not just functional testing, but also performance testing, security testing and reliability testing. Analysis of the results of these special tests requires a deep understanding of the system's technical structure and product structure in order to complete defect analysis and position. More importantly, some non-functional defects can even be discovered during the technical architecture design review, and the cost of repairing the design defects at this time will be far lower than the repair cost after special testing of the system.

The test model is further extended to test process modeling , such as W model, TMap, etc. Here is the process model of agile testing, as shown in Figure 4.

picture

Figure 4 Agile testing process model

Finally: The complete software testing video tutorial below has been compiled and uploaded. Friends who need it can get it by themselves [guaranteed 100 % free]

Software Testing Interview Document

We must study to find a high-paying job. The following interview questions are from the latest interview materials from first-tier Internet companies such as Alibaba, Tencent, Byte, etc., and some Byte bosses have given authoritative answers. After finishing this set I believe everyone can find a satisfactory job based on the interview information.

Guess you like

Origin blog.csdn.net/wx17343624830/article/details/132806877