Test Theory 04 Software Quality and Software Testing

Software Quality and Software Testing

Software Quality Definition
ISO defines quality as: all characteristics of an entity on the basis of which explicit or implicit requirements can be satisfied. Quality is the degree to which an entity satisfies needs based on these characteristics.
software quality level
The key words in this definition are the "implicit" requirements and the "degree" to which the requirements are satisfied. From the definition of quality, we can derive different levels of software quality.
(1) Meet the requirements specification: meet the developer's clearly defined goal, that is, whether the product is doing what it is told to do. Goals are developer-defined and verifiable.
(2) Meet the explicit needs of the user: meet the goals clearly stated by the user. The goal is defined by the customer, and meeting the goal is to judge whether we are doing what we need to do.
(3) Meet the actual needs of the user: The actual needs include the explicit and implicit needs of the user.
Enlightenment for testers: During the testing process, we should be good at starting from the user's point of view, put ourselves in the customer's shoes, see what the user needs, and whether our software system can well meet the user's needs (including implicit needs and explicit needs). type requirements).

software quality model
The ISO 9126 software quality model is an international standard for evaluating software quality, consisting of 6 characteristics and 27 sub-characteristics.

Software Quality Assurance and Software Testing
The most important software quality activities in software organizations include software quality assurance (SQA) and software testing.
Software quality is determined by three aspects: organization, process, and technology. SQA guarantees software quality from a process perspective, and testing ensures software quality from a technical perspective.
The basic software quality organization generally includes a software testing department and a software quality assurance department (and ultimately the two are integrated into one).

SQA work content
Generally include:
<1 Guide and supervise the implementation of the project in accordance with the process;
<2 Measure and analyze the project and increase the visualization of the project;
<3 Review work products and evaluate the compliance of work products with process quality objectives;
<4 Carry out defect analysis and defect prevention activities, discover process defects, provide decision-making reference, and promote process improvement.

Software testing is an after-the-fact inspection, which can only ensure that the defects of the software are exposed as much as possible, but because the error has already formed, because the loss to the item exists, in order to effectively improve the real software quality, it needs to be considered from the design, and it is necessary to start from the found. Learn from defects, find out the reasons for mistakes, and develop corresponding corrective and preventive capabilities, so as to ensure that similar mistakes will not occur next time.

ISO 9000 system
The ISO 9000 quality management system standard is a set of international standards for quality management systems, formulated and published by the International Organization for Standardization (ISO), and advocates the following 8 principles:
(1) Customer-centric
For any enterprise, without customers, the enterprise loses the meaning of existence
(2) Leadership
Only by setting the correct development direction can an enterprise develop healthily.
(3) Full participation
Management is people-oriented. Only when all employees recognize their importance in the entire system and participate in it can the system's compliance be guaranteed by individual compliance.
(4) Process method
By managing related resources and activities as processes, the desired results can be achieved more efficiently.
(5) System approach
Identifying, understanding, and managing a system of interrelated processes against set goals increases the effectiveness and efficiency of work.
(6) Continuous improvement
An eternal topic for organizations when it comes to continuous improvement.
(7) Fact-based decision-making methods
Logical analysis or intuitive judgment of data and information is the basis for effective decision-making.
(8) Mutually beneficial supplier relationship
    Mutual benefit can get more favorable support from suppliers.

PDCA quality control method to continuously improve software quality
No matter what kind of software quality management system is adopted, and whether it needs ISO9000 and CMM certification, it can comprehensively apply the idea of ​​quality management, and adopt reasonable quality control methods to establish and improve the quality management system of its own organization.
The PDCA cycle is a logical working procedure that can make any activity go on effectively, especially widely used in quality management.
P (PLAN) plan, including policy formulation, goal determination and activity plan formulation;
D(DO) Execute, operate concretely, realize the content of the plan
C (CHECK) checks, summarizing the results of the execution plan,
Action A (ACTION), process the summary, affirm and standardize the successful experience, or formulate work instructions, and summarize the lessons of failure to avoid recurrence.
For unresolved problems, enter the next PDCA cycle to solve.

There are differences in the work of software testers and software quality assurance personnel, but the purpose is the same, that is, to ensure that software quality and user needs are met. In fact, in order to save resources, many companies often combine software testing and quality assurance into one, and testers have to do both software testing and QA. Therefore, it is very necessary for software testers to master the relevant skills of QA. ^


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325593464&siteId=291194637