Common concepts of Software Engineering

Source: Internet
Author: User

From: http://www.scriptlover.com/post/664

 

1. Software Testing: manual and automatic means are used to run or test a system. The purpose is to check whether the system meets the specified requirements or to identify the differences between the expected and actual results.

2. Differences between testing and debugging:

The purpose of the test is to find out the existing error, and the purpose of debugging is to locate the error and modify the program to correct the error.

Debugging is an activity after testing. The testing and debugging are in different targets, methods, and ideas.

Testing starts with a known condition and uses a pre-defined process. With predictable results, Debugging starts with an unknown condition and the process of completion is unpredictable.

The testing process can be designed and the progress can be determined. The debugging process or duration cannot be described.

3. Software Development related elements: Personnel, tools and processes.

4. Four important processes of Software Development: configuration management, requirement management, defect management and peer review.

5. Causes of Common Defects introduced in software R & D:

There is no effective communication or communication in the development process

Software complexity is getting higher and higher

Errors in programming

Constantly changing requirements

Project Progress pressure

Do not pay attention to development documents

Hidden issues of software development tools

6. Types of defects: omissions, errors, and additional implementations.

7. Definition of software quality: all features of an entity can meet obvious or implicit requirements based on these features, and quality is the degree to which the entity meets the needs based on these features.

8. Three Levels of software quality: Meet the requirement specifications, meet the user display requirements, and meet the user's actual needs.

9. Factors affecting Software Quality: technology, organization, and process.

10. Software Quality Management System: ISO9000, CMM, and six sigma.

11. five levels of CMM: initial, repeatable, defined, managed, and optimized.

12. Key process domains in the five levels of CMM:

Initial Level: None

Repeatable Level: requirement management, Software Configuration Management, and software quality assurance.

Defined Level: peer review.

Managed: Quantitative Process Management and software quality management.

Optimization level: Defect Prevention.

13. Relationship between ISO9001 and CMM

The greatest similarity: emphasis on management, process, standardization, and documentation

Difference: CMM strictly focuses on Software

ISO9001 covers hardware, software, process materials and services.

The connection between the two is: CMMS Level 2 is strongly related to ISO9001.

Each key process field of CMM must at least be interpreted as being related to weak ISO9001.

14. Implementation of Six Sigma: DMAIC

Definition: Define, measurement: Measure, analysis: analyze, improvement: Improve, control: Control

15. Software Quality Model:

Quality Model: A set of relationships between features. It provides the basis for defining quality requirements and evaluating quality. Including six features and 27 sub-Features

Six features: functionality, reliability, usability, maintainability, efficiency, and portability.

 

16. Software Quality activities:

Major software quality activities of the software organization: Software Quality Assurance (SQA) and testing.

17. Relationship between SQA and testing:

Software Quality is determined by the organization, process, and technology.

SQA ensures software quality in terms of process

The test ensures the quality of the software from the technical aspect.

As long as you perform SQA activities or only test activities, it may not produce good software quality.

18. Main work scope of SQA:

Instruct and supervise the implementation of the project according to the process.

Measure and analyze projects to increase project visibility.

Review work products and evaluate the conformity of work products and process quality objectives.

Conduct Defect Analysis and prevention activities, discover defects in the process, provide decision reference, and promote process improvement.

19. Quality Management PDCA cycle:

P: plan, plan design

D: Do, implementation.

C: Check

A: Act, corrective action, and improvement.

20. Role of Software Measurement: Understanding, prediction, evaluation, and improvement.

21. Software Measurement classification: four basic metrics: Scale, workload, progress, quality-defect.

22. Black box testing, white box testing and gray box testing are different:

Definition:

Black box testing: black box testing, also known as functional testing, data-driven testing, or specification-based testing, is treated as a black box by the testing program. It only takes into account its overall features, regardless of its internal implementation. For example, the system test generally uses the black box test method, and refer to SRs.

White-box testing: design a type of testing case based on the internal structure of the tested program. Some people also call it transparent or glass-box testing, involving software design details. For example, unit tests generally adopt the white box testing method and refer to LLD.

Differences:

Test basis:

Black-box testing: according to the specifications that you can see, it refers to the user interfaces such as commands, information, reports, and reflects the ing between their input data and output data, especially for functional testing.

White-box testing: tests are performed based on the internal structure of the program, such as the statement control structure, inter-module control structure, and internal data structure.

Features:

Black box testing:

Advantage: It can be tested from the user's standpoint.

For larger code units, it is more efficient than white-box testing;

Helps to expose any type inconsistency or ambiguity issues;

Testers do not need to understand implementation details, including specific programming languages.

Disadvantage: you cannot test a specific part of the program;

If the Specification Description is incorrect, it cannot be found;

White box test:

Advantage: it can perform coverage tests on specific parts inside the program.

The Code test is thorough;

Optimization; reveal errors hidden in code;

Disadvantage: the external features of the program cannot be checked;

Unable to test the internal components of programs that do not implement Specification Description (unable to detect missing paths and data sensitivity errors in Code );

Expensive;

Example:

Black box testing: Division of equivalence classes, Boundary Value Analysis, cause/discriminant tables, error speculation, (functional coverage ),

White box test: statement overwrite, decision overwrite, condition overwrite, Decision-condition overwrite, path overwrite, object overwrite (inherit context overwrite, state-based context overwrite, defined context overwrite, etc) there are also some static analysis methods.

23. Unit, integration, system test comparison:

Different test methods:

Unit testing belongs to the white-box testing category, and integration testing belongs to the gray-box testing category,

System testing is a black box test.

The test scope is different:

Unit testing mainly tests the internal data structure, logical control, and Exception Handling of the unit.

The integration test mainly tests the Interface Box interface data transmission relationship between modules and the overall functions after the combination of modules.

The system test mainly tests the conformity of the entire system to the requirement.

Different evaluation benchmarks

The unit test evaluation benchmark is mainly the logical coverage rate.

The evaluation benchmark of integration testing is mainly interface coverage.

The evaluation benchmark of system testing mainly refers to the coverage rate of test cases on Requirement Specifications.

24. Regression test book strategy:

Completely repeated policies and selective repeated policies (including overwrite modification, peripheral impact, and indicator fulfillment)

25. Test the V model:

V model achieves separation between test design and test execution

The V model reveals the essential features of software test activities in layers and stages. The test execution sequence is different from that of development activities.

26. unit test:

Definition: tests the basic components of the software.

Purpose: To detect various internal errors of each module and verify that the code is consistent with the design,

Discover the design and requirements errors and the errors introduced in encoding.

Focus: Unit interfaces, local data structures, boundary conditions, independent paths, and error handling.

Unit test policy: isolated policy, top-down policy, and bottom-up policy.

Unit Test termination criteria: Coverage and legacy defects.

27. integration test:

Definition: based on unit tests, all functions are assembled into subsystems or systems for testing according to the outline design requirements.

Objective: To ensure that all components are combined and run collaboratively according to the established intent, and to ensure that the incremental behavior is correct,

Verify that the interface is in line with the design and finds errors in the design and requirements.

Focus: inter-unit interfaces and integrated functions.

Integration Test layers: integration test within a module, integration test within a subsystem, and integration test between subsystems.

Integration testing strategies: Big Bang integration, top-down, bottom-up, sandwich, basis-stem integration, hierarchical integration, function-based integration, message-based, progress-based, and risk-based.

28. System test:

Definition: an integrated software system, as an element of the entire computer-based system

Hardware, peripherals, some supporting software, data, personnel, and other elements are combined to run

Environment, perform a series of testing activities on the computer system.

Purpose: To compare with the system requirement definition to find out the inconsistency or conflict between the software and the system definition.

Object: a system with software and hardware together. It should not be an independent software or hardware environment.

System Test Type: function test, performance test, stress test, Capacity Test, security test, Gui test,

Availability test, installation test, configuration test, exception test, backup test, robustness test,

Document testing, online help testing, network testing, and stability testing.

 

Related Article

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.