Basic theory test
Learn about the test and had to discuss the software engineering model, because the test of learning and the development of software engineering Yiyi related and mutually reinforcing. Another test for the more advanced concepts, test engineers should be run through the whole software engineering process.
Waterfall Model
This model is probably the most classic model of software engineering, business modeling -> Analysis -> Summary of Design -> Design -> Coding -> test -> deploy.
However, this model there is a more serious problem:
1, can not be repeated, are not suited to deal with change and demand: as a result of falls from business modeling to model the deployment of the same strain, not back. Needs of modern software projects, the existence of change is everywhere: the only constant is the demand for change. And the use of this model, as long as the project needs change, it is necessary to re-spilled analysis, outline design, detailed design ...
2, the user is difficult early in the project understand the project status: as a result of the early users of the project it is difficult to demand their own, they sometimes do not know what to do? Waterfall model using only the end of the coding, the user can see precisely the products they need, and often the initial stage of these products is their incomplete understanding of the need to add customers in this period tend to reverse their demands and called for another legislation needs to the client side so often, the demand side is too much trouble to bring results.
Iterative model and spiral model:
These two models are often not obvious in the difference between the concept of many books on these two models mixed up. In fact, the idea of these two models is essentially the same. He will be in accordance with customer demand significant levels of users and modules of its own hierarchy, from the most basic analysis, design, coding, testing, and then move on to the next round of iteration. Users can do the end of each round will be able to see some prototype products, to demand change and the next round of proposals, due to the early development of relatively small, the user can be made relatively early in the product considerable demand for the next round, So now the model is often conducive to the development of software products, the famous RUP tools for each and every one followed the idea of iteration.
Test model
V model
Compared to unit test code, this step is often to carry out by the testing staff;
Integrated test compared with the detailed design, he will from the next module, carried out by the bottom-up step-by-step integration. To test the module with the module, type and category of the relationship between;
System testing is compared with the overall design is concerned, the test stand on the user's point of view of the system to conduct a comprehensive testing;
User acceptance testing is done to test the products, will generally be divided into Alpha testing and Beta testing. Alpha testing is usually the company or the non-technical personnel involved in the testing of products; Beta testing is often designated the company's customers to test the market before the system test phase of the second version.
V model can be used waterfall model and iterative model
X model
X model is the software system is divided into Luo modules, each module of the unit, integration and system testing, and then a unified integration testing of modules, this test out of the current trends in the software industry.
Pre-model
Icon is listed in the pre-object-oriented model, other methods of pre-model into the size of Italy, is to test through the entire process of software development. Demand, design and coding stage of its review of the workpiece produced, make their own suggestions and comments. Pre-test for the software, bug in the software can be found early on in order to reduce software development costs.
Methods do not take advantage of the bug front curve.
Methods of use of pre-bug curve, bug in the beginning can be found before.
Software testing methods
Software Testing steps
Test Plan
Writing test cases
The development of test code
To carry out the test work (which usually involve several rounds of testing, including test and retest each time for testing the bug, requires developers to modify the end to give a precise answer, illegal bug, as well as to address the next version)
2 assessment test
Software Testing Types
1. Data and database integrity testing
Name of the project, the database and the database processes should be used as a subsystem to be tested. These subsystems in the test, the test should not be used as a data user interface interface. The database management system (DBMS), also need to conduct an in-depth study to determine the test can support the following tools and techniques.
2. Functional Testing
To test the function of the test should focus on all can be directly traced to use cases or business functions and business rules of the testing requirements. The objective of this test is to verify the data receiving, processing and retrieval is correct, as well as the implementation of business rules is appropriate. These tests based on black box technology through the graphical user interface (GUI) and interactive applications, and interactive analysis of the output or results, in order to verify the applications and their internal processes. The following is a list of various applications of the tests recommended outline:
3.UI test
User interface (UI) test used to verify a user interaction with the software. The goal of UI testing is to ensure that the user interface will function to pass the test object to provide users with the appropriate access or browsing. In addition, UI testing can ensure that the UI objects in the desired manner in accordance with and in accordance with the company or industry standards. Including user-friendly, and human testing.
4. Performance Test
4.1 Load Test:
Load testing is a performance test. In this test, the test object will assume the workload of a different order to measure and assess the workload in different test conditions, the performance of acts, as well as the ability of continuous uptime. The goal of load testing is to determine and to ensure that the system is expected to exceed the maximum workload of the case can still operate normally. In addition, the load testing we need to assess the performance characteristics, for example, response time, transaction rate and other time-related aspects.
4.2 Strength
Is a performance test, implement and enforce the purpose of these tests is to find out because of insufficient resources or resources to compete and lead to mistakes. If insufficient memory or disk space to test the performance of the object may be some under normal conditions is not obvious flaws. And other defects may be due to compete for shared resources (such as database locks or network bandwidth) caused. Strength test can be used to determine the test object can handle the biggest workload.
4.3 capacity test
Test test object capacity to deal with large amounts of data to determine whether the software will reach the limit of failure. Testing will also determine the capacity of the test object in a given period of time to continue to deal with the maximum load or workload. For example, if the test is to generate a report to deal with a group of database records, then the capacity of the test will use a large test database, test whether the normal operation of the software and generate the correct statements.
Benchmark 4.4
Compared with the known system
4.5 Competition Test
Competition in the use of software resources (data records, memory, etc.)
5. Security and Access Control Testing
Security and access control security testing focused on two key areas:
Application-level security, including data or business functionality
System-level security, including the system registry or the remote access.
Application-level security to ensure that: the safety of the expected case, the protagonist can only access a specific function or use case, or only limited data access. For example, could allow for all input data, create a new account, but only an administrator can delete the data or accounts. If a data-level security, the test will be to ensure that "user type one" can see the news for all customers (including financial data), and "user b" clients can see the same statistics.
System-level security system ensures that only have access to the user to access applications, but only through the corresponding gateway to access.
6. Failover and recovery testing
Will ensure the successful completion of the test object can failover and data loss can lead to accidents or damage to data integrity of a variety of hardware, software or network failure recovery.
Failover testing to ensure that: For the operation of the system must continue, in the event of failure, a backup system will seize the opportunity to "replace" the failure of the system, in order to avoid losing any data or services.
Recovery testing is an antagonistic test process. In this test, application or system will be placed in extreme conditions (or under simulated extreme conditions), to generate a fault (such as equipment, input / output (I / O) failures or invalid database pointer and customs Kin-word). Then calls the recovery process and the application of monitoring and inspection procedures and systems to verify the applications or systems and data has been the restoration of the right.
7. Configuration test
Test to verify the test configuration in different software and hardware configuration of the operation. In most production environments, client workstations, network connections and database servers specific hardware specifications will vary. Client workstations may be installed for example, different software, applications, drivers, etc. at any time and may run a number of different combinations of software, which occupy different resources. (Such as the browser version. OS version, etc.)
8. Installation testing
The installation of the test is twofold. The first purpose is to ensure that the software in the normal and abnormal situations under different conditions: for example, the first installation, upgrade, complete or custom installation of _ can be installed. Unusual circumstances, including lack of disk space, lack of competence, such as directory creation. The second purpose is to verify the software can be installed immediately after the normal operation. This usually refers to running a large number of functional tests developed for testing.
9. Localization Testing
Also known as localization testing, is defined as the development of products in all areas of testing, such as English, Chinese, etc., including the possibility of normal operation procedures, interface with the local customs, whether the normal function keys, etc., in particular test A language environment run B language software (such as in the English try to run under win98 the Chinese version of the program), there is a normal phenomenon.
10. Text test
Test text is spelled correctly, is easy to understand, there is no ambiguity, there is no syntax error; text and content by access and so on, including the picture text
11. Resolution test
Testing at different resolutions, the extent of the interface appearance, divided into 800 * 768,1152 * 600,1024 * 768,1280 * 864,1280 * 1024,1200 * 1600 to test the font size
12 release test
Major product releases in a number of spin-offs before, such as brochures, advertising text, such as testing
12.1 Manual Testing
The main language examination, function tests, picture check
Language checking: check the manual language is correct, the wording is easy to understand;
Function test: whether the description of fully functional, or does not describe the function, etc.;
Photo check:: check the picture is correct
12.2 Publicity materials testing
The main test products promotional materials attached to the language, describe the features, pictures
12.3 Help files test
Help file is correct, easy to understand, whether or not human
12.4 advertising terms
Products of the company's advertising material before the text, functions, pictures, personal check
Software testing curve
We all know that the software bug is not possible to zero, which in general bug with the passage of time the number of close to zero, with a curve, said:
Here the abscissa is time, ordinate is not yet found a few bugs. Bug before the start of the project for the infinite, with the passage of time, bug tends to zero but not equal to zero.
Since the bug is not equal to zero, are products not released it? There is also a bug product release time can be identified.
Abscissa is time, ordinate is the number of bugs have been found, when the curve has stabilized, which means it tends to zero slope, this product can be released.
The phenomenon of software pesticides
Personnel as a result of testing different ideas, everyone focused on the different tests, as tests are carried out in accordance with the test cases, but only to describe the general system test cases some of the basic test items, not all aspects of all the test cases are written, sometimes need to test the quality of staff experience and. Therefore, A test of a product with a seven working days, the first day of the fourth day of the reported number of bug, but not the fifth day at the beginning of what is almost a bug. After seven days for the B, B and test out all of a sudden a bunch of bug, can not be said that the level of A poor, can only say that the product has resulted in resistance to A, this study is to test the phenomenon of pesticides. With plans, said:
Therefore, in testing the best rotation to test different test arrangements for testing of different modules in order to avoid pesticides phenomenon.
Tags: detailed design (RSS), deployment (RSS), hierarchy (RSS), existence (RSS), software engineering (RSS), models (RSS), software projects (RSS), customer demand (RSS), outline design (RSS), waterfall model (RSS), spiral model (RSS), initial stage (RSS), test software (RSS), basic theory test (RSS), concepts test (RSS), engineering model (RSS), classic model (RSS), test engineers (RSS), modern software (RSS), legislation (RSS)
Permalink: http://www.codeweblog.com/basic-theory-test/





















