当前位置:网站首页>Software testing - concept
Software testing - concept
2022-06-26 13:00:00 【Pink Chi Ming】
First, briefly review the content of the previous blog : First knowledge of software testing
1: We need to figure out what software testing is ?
Software testing is that software testers verify softwarewhetherMeet the needs of users
2: The difference between software testing and software development ?
1) In itself : Development breadth is small , High professionalism , The test requires a wide range of skills , But the professional degree is relatively low , There are still some differences in the degree of difficulty , Salary , The work environment , pressure , Responsibility and so on …
2) The difference between software testing and software debugging :Purpose :
The software developer should make sure that the program does what he wants to do , Software testing is the process by which a tester ensures that a program has achieved the functions it should have achieved ( The user needs )role :
test : Developers and testers work together
Development : DeveloperStage :
software test : Throughout the entire software life cycle
software development : The development phase
3: Why did you choose software testing ?
Comprehensive ability : communicate , Study , Development , written words
Automated testing technology
Ability to write test cases
Exploratory thinking ( Vending machine )
Interest in
Responsibility , pressure
The basis for measuring software test results — demand
We first need to understand what requirements are ?
Users' expectations and meeting the contract ( file , The rules , standard ) The conditions and authorities required by the provisions of , Including user requirements and software requirementsThe user needs :
This requirement is rough , Direct implementation will be difficult , Because he has no details , Generally, he has the demand put forward by Party A , Software requirements are required to implement and standardize the details of user requirements , Turn user requirements into a concrete and realizable process documentThe software requirements :
It is converted from user requirements , It is the refinement of user requirements , Enable the specific implementation details and specifications of user requirements
Requirements are the basis of software testing , To validate requirements , Ensure that the requirements are correct and can be realized , Then extract test items from the requirements , The process is as follows , Business needs , Software function requirement point , Test requirement points , The test case
With " The user login " For example , To illustrate the process :
Why are requirements so important to software testers ?
Starting from the functional requirements of software , It is important to identify test requirements without omission , This will be directly related to the use caseTest coverage
For each test requirement point identified , Need to adoptSpecific methods of designing test casesTo design test cases
How can we deeply understand the requirements of the tested software ?
From the requirement analysis stage, it is necessary to get involved in understanding the requirements, Because this stage is the best time to understand and master the original business requirements of the software . Only after really understanding the original business requirements , It is possible to design from the perspective of business requirements with clear pertinence , From end-user usage scenarios to end-to-end test case sets with high coverage .
Test case concept
A test case is a set of sets initiated to the system under test , contain Test environment , Test data , testing procedure , Expected results ( These four must be remembered ) elements , There may also be ( Importance , priority , Mode of operation , Title and so on )
for example :A login interface of Netease mailbox :
Test cases tell us what to test , How to measure
advantage : Measure demand coverage ; reusability ; Can be used for regression testing ; Prevent missing test requirements
What is a software error (BUG)?
1: If and only if , Procedure specification ( The software requirements ) Exists and is reasonable , If the software function does not conform to the software specification , It means that the software is wrong ;
2: When software requirements do not exist , User needs exist and are reasonable , The software function is inconsistent with the user function , Description is a software error .
Development model
First, let's talk about the life cycle of software development :
Software life cycle refers to the time from the assumption of software products to the end when software is no longer used . If you think of software as a living thing , Then the software life cycle can be divided into 6 Stages ,Demand analysis 、 plan 、 Design 、 code 、 test 、 Operation and maintenance .
Waterfall model (Waterfall Model)
Waterfall model plays an important role in software engineering , Is the basic framework for all other models . Each stage of the waterfall model is executed only once , So it's a linear sequential software development model .characteristic :
Strong stage , Each stage is relatively independent ; Pay attention to early demand analysis and later testingshortcoming :
Testing starts after coding , The problems in the early stage will be found later , You will lose the opportunity to remedy your mistakes
One of the biggest drawbacks of the waterfall model is , Products that can run are seen very late . This will bring great risks to the project , Especially the risk of integration . Because if a defect introduced in a requirement is not found until the testing stage or even later , It usually leads to large-scale rework of the work in the previous stage , The popular saying in the industry is :“ The day of integration is the day of explosion ”. Although the waterfall model has great defects , for example , Errors not found in the early stage will be passed and spread to later stages , And when these errors are found later , It may be difficult to revise it later , This leads to the failure of the project . But at present, many software enterprises still use the linear idea of waterfall model , Make your own modifications on this basis . For example, each stage is refined , Incorporate the idea of iteration between some focused phases .
In the waterfall model , The test phase is after the software implementation , This means that there must be enough time reserved for testing activities after the code is completed , Otherwise, the test will be inadequate , So as to leave defects directly to users .
Spiral model (Spiral Model)
Generally, when the requirements are not very clear in the early stage of software development , Adopt a progressive development model . Spiral model is one of the representatives of progressive development model .
This is for those on a large scale 、 High complexity 、 High risk projects are especially suitable for . This iterative development model brings new requirements to software testing , It does not allow an independent test time and phase , Testing must follow the iteration of development . therefore , The importance of regression testing is self-evident .( He is suitable for large projects , It's a big risk , Projects that are not very clear )characteristic :
Emphasize the test quality and risk analysis of each iterationshortcoming :
Too much human and material resources are invested in risk control , It costs a lot
The incremental 、 Iterative model
Incremental developmentIt can significantly reduce the project risk , Combined with software continuous construction mechanism , It constitutes one of the most popular software engineering best practices .Incremental development model, Encourage user feedback ,During each iteration, Promote the development team in a circular way 、 Drive product development in a predictable way . therefore , In this development mode , Each iteration means that there may be required changes 、 Build a new executable software version , This means that testing needs to be done frequently , Testers need to work more closely with developers
Increment is often confused with iteration, But in fact, there are differences between the two .Increment is the concept of building block by block, For example, draw a figure painting , We can draw people's heads first , Then draw the body , Draw your hands and feet ……Iteration is the concept of repeated refinement, It's also a portrait painting , We can draw the overall outline first , Then outline the basic prototype , Refine again 、 To color .
Simply speaking : For four modules of the same system : A B C D Two weeks to complete
Incremental model :
The first week of development A B Function module , The second week of development C D Function moduleIterative model :
The first week is to develop A B C D The basic function of , In the second week, we will improve other functions based on it
Agile model
2001 year , With Kent Beck、Alistair Cockbum、Ward Cunningham、Martin Fowler People first “ Light weight ” The processionists gathered in... Utah Snowbird Decided to put “ agile ”(Agile) As the name of the new process family .
At the meeting , They proposed 《 Agile Manifesto 》(http://agilemanifesto.org/): We reveal better ways to develop software by doing it and helping others . Through this work , We have formed the following values .
Individuals and interactions are more important than processes and tools
Available software is more important than complete documentation
Customer collaboration is more important than contract negotiation
Responding to change is more important than following a plan
In every contrast alignment , The latter is not worthless , But we value the former more
characteristic :Light document , Light process , Heavy target , Re output , Embrace change ( Able to adapt to changes in demand )
As can be seen from the Agile Manifesto , Agile is actually social engineering about software development (Social Engineering) Of . The main contribution of agile is that it thinks more about how to stimulate the enthusiasm of developers , This is a relatively neglected field in the development of software engineering for decades .
There are many ways of agile development , among scrum It's a more popular one .
test model
V Model
characteristic :
Each stage is highly independent :
Each stage on the left is the basis of the test stage on the right , It corresponds to each test phase on the right
He is a variant of the waterfall model , Inherited his shortcomingsshortcoming :
Code before testing , Early mistakes will not be discovered until later , Will lose the opportunity to correct in time
W Model
Also called Double V Model
characteristic :
Each stage is highly independent :
The test got involved from the beginning , It can ensure that problems in the early stage can be found and corrected in time , Testing and development are parallelshortcoming :
Each stage is a serial process :
Only after one stage is completed can we enter the next stage , Agile development is not supported
边栏推荐
- KITTI Detection dataset whose format is letf_top_right_bottom to JDE normalied xc_yc_w_h
- The laravel dingo API returns a custom error message
- 单例的常用创建和使用方式
- Record a phpcms9.6.3 vulnerability to use the getshell to the intranet domain control
- 程序员必备,一款让你提高工作效率N倍的神器uTools
- TP5 thinkphp5 report serialization of'closure'is not allowed
- 记一次phpcms9.6.3漏洞利用getshell到内网域控
- 微信小程序测试点总结
- 软件测试 - 基础篇
- 深入解析 MySQL binlog
猜你喜欢

Tiger Dao VC products are officially launched, a powerful supplement to seektiger ecology

ES6:迭代器

Learning Processing Zoog

NoSQL mongodb - 02 mongodb server installation, mongodb shell, basic concepts and visualization tools

国标GB28181协议EasyGBS视频平台TCP主动模式拉流异常情况修复

Record a phpcms9.6.3 vulnerability to use the getshell to the intranet domain control

第十章 设置结构化日志记录(二)

Configuring Apache digest authentication

Solution of Splunk iowait alarm

别乱用 FULL_CASE 和 PARALLEL_CASE
随机推荐
sqlalchemy event listen Automatic generate CRUD excel
做自媒体视频的各种常用工具合集奉上
Processsing 鼠标交互 学习
由错误<note: candidate expects 1 argument, 0 provided>引发的思考
How does easygbs solve the abnormal use of intercom function?
Redis learning - 04 persistence
微信小程序测试点总结
不到40行代码手撸一个BlocProvider
Sharing ideas for a quick switch to an underlying implementation
opencv高速下载
Guacamole installation
This function has none of deterministic, no SQL solution
[esp32-C3][RT-THREAD] 基于ESP32C3运行RT-THREAD bsp最小系统
National standard gb28181 protocol easygbs video platform TCP active mode streaming exception repair
国标GB28181协议EasyGBS视频平台TCP主动模式拉流异常情况修复
Nodejs get get/post request parameters
NLP-D60-nlp比赛D29
National standard gb28181 protocol easygbs cascaded universal vision platform, how to deal with live message 403?
美学心得(第二百三十八集) 罗国正
processing 函数translate(mouseX, mouseY)学习






Also called Double V Model