Knowledge points of software testers (2020.09.09)

Software Capability Maturity Model (CMM for short)

Its English name is Capability Maturity Model for Software

The software capability maturity model is a standard that describes the development stages of a software organization in the practice of defining, implementing, measuring, controlling and improving its software process.

CMM/CMMI divides the maturity of the software process into 5 levels. The following are the basic characteristics of the 5 levels:

  1. The initial level (initial). The work is disorderly, and the original plan is often abandoned during the project. Management is unregulated and lacks a sound management system. The effectiveness of the development project is unstable. The success of the project mainly depends on the experience and ability of the project leader. Once he leaves, the work order is completely changed.

  2. Repeatable level (Repeatable). The management is institutionalized, and basic management systems and procedures have been established, and the management work has rules to follow. Standardization was initially achieved, and development work was implemented in accordance with the standards. The changes are carried out in accordance with the law, to be baselined, stable and trackable. The planning and management of new projects are based on past practical experience and have the environment and conditions to repeat previous successful projects. Establish basic project management and practice to track project costs, progress and functional characteristics as the core of repeatable levels

  3. Defined level (Defined). The development process, including technical work and management work, has been standardized and documented. A complete training system and expert review system have been established, all technical and management activities can be controlled, and a common understanding of the process, positions and responsibilities of the project. Use standard development process (or methodology) to build (or integrate) the system as the core of the defined level

  4. Managed level (Managed). Products and processes have established quantitative quality goals. The productivity and quality of development activities are measurable. The process database has been established. The product and process control of the project has been achieved. It can predict process and product quality trends, such as forecast deviations, and realize timely corrections. The management seeks to more proactively respond to system development issues as the core of the managed level

  5. Optimizing. Concentrate on improving the process and adopt new technologies and methods. Have the means to prevent defects, identify weaknesses, and improve them. Statistical data on the effectiveness of the process can be obtained, and the analysis can be performed to arrive at the best method. Continuously supervise and improve the standardized system development process as the core of optimization level

Cohesion

内聚是指模块内部各元素之间联系的紧密程度,也就是代码功能的集中程度。

Software maintenance

Software maintenance generally includes correctness maintenance, adaptive maintenance, perfect maintenance and preventive maintenance.

  • Correctness maintenance refers to correcting errors that have occurred in the system development stage but have not yet occurred in the system testing stage.
  • Adaptive maintenance refers to the modification of application software to adapt to changes in information technology and management requirements.
  • Completeness maintenance Modifications for expanding functions and improving performance.
  • Preventive maintenance is to improve the reliability and maintainability of application software. In order to adapt to the number of future software and hardware environments, preventive new functions are proactively added to make the application system adapt to various changes and not be eliminated.

register

在CPU的寄存器中,(  )对用户是完全透明的。

A.程序计数器 

B.指令寄存器 

C.状态寄存器 

D.通用寄存器

指令寄存器用来存放当前正在执行的指令,对用户是完全透明的。

状态寄存器用来存放计算结果的标志信息,如进位标志、溢出标志等。

通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。

Object Oriented System

In an object-oriented system, objects are the most basic element, and a runtime system is the collaboration between objects.

An object includes both data (attributes) and operations (behaviors) acting on the data. The attributes and behaviors of an object are encapsulated as a whole, with clear boundaries with other objects, and well-defined behaviors.

An object A wants to change the state of another object B through the modification operator of B

If you need to read the status information of B, use the selection operator of B and get the attribute value of the B object

Basic binary calculation

Know the original code, inverse code, and complement code

How to build the original code

For example, a decimal number is: 54

54 = 32 +16 +4 +2 (Because we want to convert to binary, so here we split 54 into a number that can form a power of 2)

Ok so Insert picture description here

According to the binary format, we go from right to left

2 is not to the power of 0, so we write 0

The first power of 2 has us write 1

The second power of 2 also has us write 1

The third power of 2 does not have us write 0

2 to the fourth power has us write 1

2 to the fifth power has us write 1

Because 54 is a positive number, it is stipulated that the first digit of a positive number is represented by 0, and the first digit of a negative number is represented by 1

So we get the original code value of 54 should be:

0 110110

For the conversion from binary to decimal, we look at it from right to left. If it is 0, we don't write the power of 2 of the current bit, and calculate the power of the current bit when it is 1. And remove the first sign bit

From the above, we know that the original code of 54 is 0 110 110

Conversion of original code and inverse code

For positive numbers:

Original code = Inverse code = Complement code

So the original code of 54 = inverse code = complement code = 0110110

But for negative numbers, it’s a little different

For example: the original code of -54 should be 1110110

The inverse code of a negative number is based on the fact that the original code symbol remains unchanged (the first digit at the beginning is still 1) to reverse the subsequent bits, namely:

The complement of -54 is 1001001

Conversion between original code and complement

For positive numbers:

Original code = Inverse code = Complement code

So the original code of 54 = inverse code = complement code = 0110110

For negative numbers:

For example:
The original code of
-54 should be 1110110 The complement of -54 is 1001001 The complement of negative number = Add 1 to the complement of the complement = 1001001+1
to get the complement of -54 as 1001010

The basic calculation formula of binary addition, subtraction, multiplication and division

Like the decimal number we are familiar with, in the decimal system, we every decimal, and in the binary system, we every binary. In the subtraction is not enough, we need the borrow calculation.

One digit calculation in binary:

加法:
0+0=0
0+1=1
1+1=10(此处的10为二进制的数,非十进制的数10
减法:
0-0=0
1-0=1
1-1=0
乘法:
0X0=0
0X1=0
1X1=1
除法:
0/1=0
1/1=1

Please click here for the solution of the following test questions

Addition exercises

计算二进制数 1011110 + 110111 的值
(根据逢21可得)
答案:10010101

Subtraction exercise

计算二进制数101010 - 11011 的值
(根据借位可得)
答案:1111

Multiplication practice

计算二进制数 1011 X 101
答案:110111

The computer stores data using double sign bits (00 means positive sign, 11 means negative sign). When two numbers with the same sign are added, if the two sign bits of the operation result ( exclusive logical OR ) are calculated to be 1, then It can be concluded that the result of adding these two numbers has caused an overflow.

Black box testing (functional testing)

Black box testing, also known as functional testing, is mainly used in integration testing and confirmation testing phases. It treats the software as an opaque black box. It does not consider (or understand) the internal structure and processing algorithms of the software at all. It only checks whether the software functions can be used normally according to the software requirements specification and whether the software can properly receive input Data and generate correct output information, whether the integrity of external information (such as files and databases) can be maintained during software operation . It designs test cases based on product functions.

Memory

(  )不属于按寻址方式划分的一类存储器。
A.随机存储器
B.顺序存储器 
C.相联存储器 
D.直接存储器              
本题选C

The memory in the storage system can be divided into memory accessed by address and memory accessed by content according to the access mode; according to the addressing mode, it can be divided into random access memory, sequential memory and direct memory.

  • Random Access Memory (RAM) refers to the ability to store or read data to any storage unit, and the time required to access any storage unit is the same.
  • Sequentially Addressed Memory (SAM) means that the time required to access data is
    related to the storage location of the data. Tape is a typical sequential memory.
  • Direct Addressed
    Memory (DAM) is an addressing method between random access and sequential access. Disk is a kind of direct access memory. Its addressing of tracks is random, but within a track, it is sequential addressing.
  • Associative memory is a memory accessed by content. Its working principle is to use data or a certain part of the data as a keyword, compare the keyword with each unit in the memory, and find all the data words in the memory that are the same as the keyword.

Guess you like

Origin blog.csdn.net/Python_BT/article/details/108503862