2.软件生命周期及流程(包含笔试/面试题)

embedded/2024/10/21 3:36:09/

一、软件生命周期

1.什么是软件的生命周期?
软件生命周期就是软件从开始研发到最终被废弃不用的一整个过程。

二、软件生命周期模型

1.瀑布型生命周期模型(基本不用这个模型)

最早期的模型,流程是从上而下的,如同瀑布流水,有顺序性的。

缺点:

测试介入比较晚(有问题的话回溯成本比较高)

测试周期比较长


2.V模型

开发和测试同时进行的方式,缩短开发周期,提高开发效率

软件生命周期的各阶段:(重点)
1.问题的定义和规划
        主要确定软件的开发目的及其可行性,制定项目总体开发计划

2.需求分析
        在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析,明确客户的需求,输出需求规格说明书(原型图)提交评审。

3.设计
        把需求分析得到的结果转换为软件结构和数据结构,形成系统架构
        概要设计:主要是架构的实现,指搭建架构,表述各模块功能,模块结构链接和数据传递的实现等项事务。
        详细设计:对概要设计中表述的各模块进行深入分析,包括数据库设计说明。

4.编码

        按照详细设计好的模块功能表,编程人员编写出计算机可运行的程序代码。

5.软件测试

        先单元测试,再集成测试,系统测试,最后进行验收测试。

6.运行维护

        要延续软件的使用寿命

3.敏捷开发模型
以人为核心,迭代,循序渐进的开发方法,就是把一个大项目分为多个相互联系,但也可单独运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。


例如:
XM系统:

功能:文字聊天,语音聊天,视频聊天,朋友圈,支付,小程序

时间:一年完成

第一版本:实现功能文字聊天,语音聊天 (两个月)
迭代第二版本:实现功能视频聊天,朋友圈 (三个月)

迭代第三版本:实现支付,小程序 (三个月)

特点:完成快,结合用户的需求,不断维护更新,弱化文档,通过人与人之间的沟通实现需求分析。

三、软件测试流程

1.步骤解析

1)测试需求分析阶段:参与需求评审会议,分析需求点

2)测试计划阶段:编写测试计划书,测试工作统筹安排(测试内容,测试人员,任务分配,测试环境,工具,时间安排)--- 测试负责人/主管/组长
2)测试设计阶段:编写测试用例,参考需求文档,用例编写完成后回进行评审
3)测试执行阶段:搭建环境,执行冒烟测试,没问题后正式进入系统测试,遇到问题就提交bug到缺陷管理平台,并对bug进行跟踪,知道软件在符合条件可以发布(剩余bug数量很少+用例执行覆盖率),没有重大bug,测试结束。(完善测试用例)
4)测试评估阶段:出测试报告,对整个测试的过程和版本质量做一个详细的评估,确认是否可以上线。 

2.环境分类:
1)开发环境:开发人员写代码的环境

2)测试环境:测试人员进行测试的环境(1个或者一个以上)

3)预发布环境(UAT环境):验收测试(UAT测试)进行的环境

4)生产环境:真实的用户使用环境
 

四、常见笔试面试题

笔试题:

1.软件生命周期模型包含哪些阶段?你们开发的模型是什么?

        软件生命周期模型包含项目规划,需求分析,设计,编码,测试,维护

        我们开发的模型是敏捷开发模型

2.测试流程包含哪些阶段?

        需求分析,需求评审,编写测试计划,设计测试用例,评审测试用例,冒烟测试,执行测试用例,缺陷管理,输出测试报告,确定是否可以上线。

面试题:
1.你们公司的开发流程是怎样的?

        立项,需求分析,需求评审,编写开发计划,开发人员进行概要设计(设计项目整理的规划和功能模块之间的关系)和详细设计(设计具体的编码实现功能),编码,开发人员自测,提交测试。


2.你们公司的测试流程是怎样的?各个阶段的输出是什么?

        测试流程是:需求分析,需求评审,制定测试计划,编写测试用例,评审测试用例,冒烟测试,执行测试用例,缺陷管理,输出测试报告。

        各阶段的输出:
                需求分析阶段 - 根据需求规格说明书输出项目测试点列表

                制定测试计划 - 输出测试计划文档

                用例设计 - 输出用例文档

                执行测试 - 输出bug,缺陷管理

                评估测试 - 输出测试报告

3.开发环境,测试环境,生产环境是什么?你在测试环境后台添加的数据和信息,能够在生产环境看到吗?

        开发环境:开发人员编写程序的环境

        测试环境:测试人员测试时的环境

        生产环境:真是用户使用的环境

        测试后台添加的数据,生产环境看不到。


http://www.ppmy.cn/embedded/108862.html

相关文章

鸿蒙轻内核M核源码分析系列七 动态内存Dynamic Memory

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 轻内核M核源码分析系列一 数据结构-双向循环链表 轻内核M核源码分析系列二 数据结构-任务就绪队列 鸿蒙轻内核M核源码分析系列三 数据结构-任务排序链表 轻…

NAT技术+代理服务器+内网穿透

NAT技术 IPv4协议中,会存在IP地址数量不充足的问题,所以不同的子网中会存在相同IP地址的主机。那么就可以理解为私有网络的IP地址并不是唯一对应的,而公网中的IP地址都是唯一的,所以NAT(Network Address Translation&…

人生苦短我用Python pandas文件格式转换

人生苦短我用Python pandas文件格式转换 前言示例1 excel与csv互转常用格式的方法Flat fileExcelJSONXML 示例2 常用格式转换简要需求依赖export方法main方法 附其它格式的方法HTMLPicklingClipboardLatexHDFStore: PyTables (HDF5)FeatherParquetORCSASSPSSSQLGoogle BigQuery…

Apache DolphinScheduler在Cisco Webex的应用与优化实践

引言 我叫李庆旺,是Cisco Webex的一名软件工程师,同时也是Apache DolphinScheduler(以下简称DS)的Committer。 在过去的两年里,公司基于Apache DolphinScheduler进行了多项持续改进和创新,以更好地适应我们…

Android Fragment 学习备忘

1.fragment的动态添加与管理,fragment生命周期在后面小节:https://www.bilibili.com/video/BV1Ng411K7YP/?p37&share_sourcecopy_web&vd_source982a7a7c05972157e8972c41b546f9e4https://www.bilibili.com/video/BV1Ng411K7YP/?p37&share_…

Fabric.js全面介绍:强大的交互式图形编辑框架

在前端开发中,图形界面的创建与编辑一直是开发者们关注的重点。随着Web技术的不断发展,HTML5 Canvas 提供了一个强大的画布功能,然而其API相对低级,操作复杂图形和高级交互时显得力不从心。这时,Fabric.js 应运而生&am…

springboot+vue+mybatis智慧篮球馆预约+PPT+论文+讲解+售后

近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,智慧篮球馆预约利用计算机网络实现信息化管理,使整个智慧篮球馆预约的发展和服务水平有显著提升。 本文拟采用Eclipse开发…

Docker核心原理解读:深度剖析Docker Daemon,掌控容器背后的引擎

容器技术已经成为现代应用程序开发和部署中的核心工具,而在Docker生态系统中,Docker Daemon 扮演着至关重要的角色。它不仅是Docker架构的核心,还负责容器的管理、镜像的操作、资源的分配等复杂任务。本文将深入解读Docker Daemon的工作原理&…