当前位置:网站首页>What development models did you know during the interview? Just read this one
What development models did you know during the interview? Just read this one
2022-07-07 11:31:00 【The elegance of testing】
Preface
Software development model refers to the whole process of software development 、 The structural framework of activities and tasks . Generally, it includes requirements 、 Design 、 Coding and testing etc , Even the maintenance phase . The software development model clearly stipulates the main activities and tasks to be completed in the process of software development , It is used to guide the work in the whole development process . For different systems , According to the characteristics of the software 、 Different software development models are selected for the participation of project members .
As a test engineer , The work content of testing is closely related to the software development model , In different development models , The tasks and functions of testing will also be different . following , Introduce several common development models .
Waterfall model
Waterfall model is the earliest software development model , It provides the basic framework of software development , It lays the foundation for the subsequent development model . from 1970 By Winston in · Royce (Winston Royce) After the proposal , until 80 Early S , It has been widely used .
This model has clear stage activities , It is divided into 6 Stages : plan → Demand analysis → software design → code → test → Operation and maintenance . The sequence of stages is fixed , From top to bottom 、 Connect with each other , Like a waterfall, water falls step by step . This is also the origin of the name of waterfall model .

The essence of waterfall model is one pass , That is, each activity is executed only once , Finally get the software product , Also known as “ Linear order model ” perhaps “ Traditional life cycle model ”. The process is to complete the work of the previous stage, output the results and pass the audit , can “ flow ” To the next stage ; Otherwise, go back to the front , Even earlier stage activities .
shortcoming :
1) The division of each stage is completely fixed , A lot of documents are generated between stages , It greatly increased the workload .
2) Because the development model is linear , Single process , Irreversible , Users can only see the development results at the end of the whole process , This increases the risk of development .
3) Testing is just one stage , Lack of whole process testing idea . Early errors may not be discovered until later in the development testing phase , The later the problem is found, the higher the cost
4) In the software requirement analysis phase , It is difficult to completely determine all the needs of users , Unable to cope with projects with changing needs .
advantage :
1) Provide checkpoints for projects by phase .
2) After the completion of the current phase , You just need to focus on the next phase .
Applicable project scope :
1) Software development projects with clear requirements ;
2) There is little or no change in requirements during development time ;
3) Analysts and designers should be familiar with the application field ;
4) Low risk projects ( To the goal 、 The environment is very familiar );
5) The user environment is very stable ;
Rapid prototyping model
The rapid prototype model is opposite to the waterfall model , At the beginning of the project, a system prototype that can be run is quickly built according to the needs of users , Then show the user , Reviewed by the user , Make an opinion , Then gradually enrich the project requirements . When the demand is really determined , Before the formal project development .

advantage :
It helps to meet the real needs of users ; The prototype system has been verified through interaction with users , The specification document generated from this can correctly describe user requirements .
shortcoming :
Require developers to quickly build prototypes .
Applicable project scope :
It is applicable to software projects with unclear requirements .
Incremental model
Also known as iterative model or evolutionary model , It splits a complete piece of software into different components , Then develop tests component by component , Every time a component is completed, it is presented to the customer , Let the customer confirm whether the function and performance of this part meet the customer's requirements , The final determination is correct , Integrating components into the software architecture . The entire development effort is organized into a series of short-term 、 Simple small projects , It's called a series of iterations , Every iteration needs to go through requirements analysis → software design → code → Testing process .

advantage :
1) The first deliverable version of the software requires less cost and time
2) Be able to adapt to changes in customers' needs , As the demand changes , Just modify one component .
shortcoming :
1) If there is no overall plan for the change of user needs , It may change to " Develop while doing " The pattern of .
2) When finally integrating various components , There may be a risk of integration failure .
Applicable project scope :
Applicable to tight construction period 、 Functions can be divided 、 More complex software projects . Software engineers must have a high technical level , Be able to design an open software architecture .
Spiral model
This model combines the waterfall model 、 Rapid prototyping model , Youbali · Bohm (Barry Boehm) On 1988 Put forward in , The biggest feature of this model is the introduction of risk analysis that other models do not .
The spiral model divides the development process into several spiral cycles , Each spiral period is roughly consistent with the waterfall model , Risk analysis will be carried out before the beginning of each cycle . At each stage , First, build the software prototype , Complete the iteration process according to the rapid prototype model , Produce the final perfect product , Then move on to the next stage , Similarly, risk assessment should also be carried out before the next stage , This cycle continues until all stages of the task are completed .
The model has four quadrants , The meaning of each quadrant is as follows :
1、 Make a plan : Identify software goals , Formulate the implementation plan , And list the limitations of the project development .
2、 risk analysis : Evaluate the implementation plan formulated , Identify and eliminate risks .
3、 Carry out the works : Develop products and verify them .
4、 Customer assessment : The customer reviews and evaluates the product , Put forward suggestions for amendment , Make a plan for the next step .
advantage :
1) The emphasis on alternatives and constraints is conducive to the reuse of existing software , It also helps to make software quality an important goal of software development ;
2) Reduces the risk of over testing or under testing ;
3) In the spiral model, maintenance is just another cycle of the model , There is no essential difference between maintenance and development .
shortcoming :
The spiral model is risk driven , Therefore, software developers must have rich experience in risk assessment and expertise in this field .
Applicable project scope :
Applicable to large-scale software developed internally ( Long development cycle 、 Software projects that are relatively vulnerable to social factors ), Software developers have rich knowledge and experience in risk assessment .
V Model
V Model is also called RAD(Rapid Application Development, Rapid application development ) Model , It is an important model in the process of software development , Because its model composition looks like letters V, So it is called software testing V Model .V The model can be roughly divided into the following different stages and steps : Customer demand analysis 、 Software requirements analysis 、 Outline design 、 Detailed design 、 Software coding 、 unit testing 、 Integration testing 、 The system test 、 The acceptance test .

advantage :
The development phase includes the underlying tests ( unit testing ) And high level testing ( The system test ); Clearly identifies all phases of development and testing ; Clear division of labor in each stage , Easy to control the whole project .
shortcoming :
The top-down order leads to , Testing should be done after coding , As a result, the error cannot be modified in time ; In practice , Change requirements frequently , Lead to v The model steps are repeated , A lot of rework , Low flexibility .
Applicable project scope :
It is generally applicable to the development of some traditional information system applications , And some high-performance, high-risk systems 、 Internet software , Or when a system is difficult to be modularized , It's more difficult to make V The various components required by the pattern , Need more emphasis on iterative development model or agile development model .
Agile model
The agile model is 20 century 90 A software development model that arose in the s . In the development of modern society , Because the business will often change rapidly , Therefore, detailed and complete development requirements are often not available before software development , There are no complete development requirements , The traditional software development model cannot be applied . Agile development model is proposed to solve this problem . The model takes the customer's needs as the core , Use iterations , Develop step by step .
At the beginning of construction, a software project will be divided into several interrelated and independent sub projects , Then iteratively complete each sub project . When the customer has a change in demand , Agile model can quickly make changes to a sub project to meet the needs of customers . In the process , The software is always available .
advantage :
1、 Users will soon be able to see a baseline architecture version of the product
2、 Agility focuses on the market's ability to respond quickly , Face to face with customers
3、 Changes can be accepted at any time
shortcoming :
1、 Pay attention to personnel communication , Better teamwork is needed
2、 Ignore the importance of documents , Need experienced people in the project
3、 If the project personnel flow is too large , It will increase the difficulty of project maintenance
Applicable project scope :
Applicable to complex products , The demand is changeable , Hard to predict 、 Realize products with long cycle
Last : It can be in the official account : Sad spicy bar ! Get one by yourself 216 Page software testing engineer interview guide document information 【 Free of charge 】. And the corresponding video learning tutorial is free to share !, It includes basic knowledge 、Linux necessary 、Shell、 The principles of the Internet 、Mysql database 、 Special topic of bag capturing tools 、 Interface testing tool 、 Test advanced -Python Programming 、Web automated testing 、APP automated testing 、 Interface automation testing 、 Testing advanced continuous integration 、 Test architecture development test framework 、 Performance testing 、 Safety test, etc. .
I recommend one 【Python Automated test communication group :746506216】, We can discuss communication software testing together , Learn software testing together 、 Interview and other aspects of software testing , Help you advance quickly Python automated testing / Test Development , On the road to high pay .
Friends who like software testing , If my blog helps you 、 If you like my blog content , please “ give the thumbs-up ” “ Comment on ” “ Collection ” One Key triple connection !
边栏推荐
- The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?
- 使用引用
- 'module 'object is not callable error
- 科普达人丨一文弄懂什么是云计算?
- Antd select selector drop-down box follows the scroll bar to scroll through the solution
- 基于Retrofit框架的金山API翻译功能案例
- Une fois que l'uniapp a sauté de la page dans onlaunch, cliquez sur Event Failure resolution
- 使用MeterSphere让你的测试工作持续高效
- EasyUI learn to organize notes
- 基于DE2 115开发板驱动HC_SR04超声波测距模块【附源码】
猜你喜欢
![Verilog realizes nixie tube display driver [with source code]](/img/ad/be94912bedc738f4b5f97138db7352.png)
Verilog realizes nixie tube display driver [with source code]

基于DE2 115开发板驱动HC_SR04超声波测距模块【附源码】

The use of list and Its Simulation Implementation

How much do you know about excel formula?

Talk about SOC startup (VII) uboot startup process III

面试被问到了解哪些开发模型?看这一篇就够了

Avoid mutating a prop directly since the value will be overwritten whenever the parent component

What is cloud computing?

禁锢自己的因素,原来有这么多

verilog设计抢答器【附源码】
随机推荐
STM32 entry development write DS18B20 temperature sensor driver (read ambient temperature, support cascade)
The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?
Verilog 实现数码管显视驱动【附源码】
Input type= "password" how to solve the problem of password automatically brought in
Using ENSP to do MPLS pseudo wire test
Web端自动化测试失败的原因
对比学习之 Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
毕业季|与青春作伴,一起向未来!
V-for img SRC rendering fails
Verilog design responder [with source code]
博客搬家到知乎
Apprentissage comparatif non supervisé des caractéristiques visuelles par les assignations de groupes de contrôle
一度辍学的数学差生,获得今年菲尔兹奖
简单介绍一下闭包及它的一些应用场景
Briefly introduce closures and some application scenarios
[encapsulation of time format tool functions]
《论文阅读》Neural Approaches to Conversational AI(1)
0.96 inch IIC LCD driver based on stc8g1k08
Use metersphere to keep your testing work efficient
【系统设计】指标监控和告警系统