软件测试笔记2目录

  • 一、今日内容
  • 二、软件生命周期模型(软件开发模型)
    • 1、瀑布型生命周期模型——现在基本不用
    • 2、V模型
    • 3、敏捷开发模型
  • 三、软件生命周期各个阶段
    • 1、问题的定义及规划
    • 2、需求分析
    • 3、设计
    • 4、编码
    • 5、软件测试(不一定先编码后测试)
    • 6、运行维护
  • 五、测试流程
  • 六、面试题

一、今日内容

软件生命周期各个阶段、对应软件的开发模型(瀑布模型-V模型-敏捷开发模型)以及他们特点/模式/各阶段是什么样的、软件生命周期各个阶段的产物输出、软件测试工作流程、开发流程各阶段输出的文档

二、软件生命周期模型(软件开发模型)

1、瀑布型生命周期模型——现在基本不用

  在1970年人类整理了第一个软件生命周期,即瀑布型生命周期模型也叫瀑布模型。规定了它们自上而下相互衔接固定次序,如同瀑布流水,逐级下落,具有顺序性依赖性。每个阶段规定文档并需进行评审。

1、需求分析阶段——输出需求规格说明书(简写 “SRS”)(原型图)
2、瀑布模型特点:自上而下、有顺序性
3、瀑布模型缺点:测试介入较晚,回溯成本高、测试周期较长

2、V模型

  RAD(Rap Application Development,快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件开发的V模型。它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。

1、V模型,测试在需求阶段介入
2、传统的/大型的项目一般用V模型
3、互联网项目一般是敏捷开发模型

3、敏捷开发模型

  从1990年代开始逐渐引起广泛关注,是一种以人为核心、迭代、循序渐进的开发方法。强调以人为本,专注于交付对客户有价值的软件。是一个用于开发和维持复杂产品的框架。就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

1、特点:快、弱化文档、依靠人与人之间的沟通实现需求分析
2、软件测试流程(重点)
3、常见笔试面试题


三、软件生命周期各个阶段

1、问题的定义及规划

  主要确定软件的开发目的及其可行性。制定项目总体开发计划。

2、需求分析

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

3、设计

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

4、编码

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

5、软件测试(不一定先编码后测试)

  在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。测试的方法主要有白盒测试跟黑盒测试两种,建立详细的测试计划并严格按照计划进行。

单元测试 :主要测试程序代码,为的是确保各单元模块被正确的编译,比如有具体到模块、类、函数、方法等的测试。——一般由开发完成
集成测试 :单元测试后,将各单元组合成完整的体系,测试软件单位之间的接口是否正确、数据能否正常传递。——比如某两个功能是否能够连通衔接(接口测试属于集成测试)
系统测试 :把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等。——根据测试用例,进行完整的系统测试
验收测试 :主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。——用户对软件进行验收

6、运行维护

  软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的需求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护主要包括纠错性维护和改进性维护两个方面。


五、测试流程

1、测试需求分析阶段 :阅读需求,理解需求,主要就是对业务的学习,分析需求点。参与需求评审会议
2、测试计划阶段 :主要任务是编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围(来自需求文档)、进度的安排,人力物力的分配,整体测试策略的制定,和风险的评估与规避措施有一个制定,一般有测试负责人编写,当然我们可能也会参与相关的评审工作。
3、测试设计阶段 :主要任务是编写测试用例,会参考需求文档(原型图)、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通。用例编写完成后会进行评审
4、测试执行阶段 :首先搭建测试环境,执行预测(冒烟),以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交Bug到缺陷管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束。——(完善测试用例)
5、测试评估阶段 :出测试报告,对整个测试的过程和版本质量做一个详细的评估。确认是否可以上线。

①测试计划:测试工作统筹安排(测试内容,哪些人,任务分配,测试环境、工具、时间安排)——测试负责人/主管/组长
②编写测试用例:什么测试用例——具体怎么来进行测试的文档
③软件在符合什么的条件下可以发布:剩余bug数量很少+用例执行覆盖率
④发布流程:开发打包 —> 运维/运营/开发 —> 部署到生产环境实现发布上线
⑤开发环境:开发人员写代码的环境
⑥测试环境:测试人员进行测试的环境(1个或一个以上)
⑦预发布环境(UAT环境):验收测试(UAT测试)进行的环境
⑧生产环境:真实用户使用环境


六、面试题

笔试:
1.生命周期模型包含哪些阶段?你们开发的模型是什么?
2.测试流程包含哪些阶段?

面试:
3.你们公司的开发流程是怎样的?
4.你们公司的测试流程是怎样的?各个阶段的输出是什么?
5.开发环境,测试环境,生产环境是什么?你在测试环境后台添加的数据和信息,能够在生产环境看到么?

答案:
1.问题的定义及规划、需求分析、设计、编码、软件测试、运行维护;一般是敏捷开发模型。
2.需求分析阶段、计划阶段、设计阶段、执行阶段、评估阶段等阶段
3.
4. ;
需求分析——根据需求规格说明书输出项目测试点列表
用例设计——测试用例文档
执行测试——bug
评估测试——测试报告的输出
5.
开发环境:开发人员写代码的环境、
测试环境:测试人员进行测试的环境(1个或一个以上)、
生产环境:真实用户使用环境;
不可以,因为是两个不同的环境,他们互不干扰。

软件测试笔记2——什么是软件测试及软件测试分类相关推荐

  1. 软件测试笔记——3.多种多样的测试类型

    前言 在之前的<软件测试笔记--1.什么是软件测试-定义.类型.方法?>中也曾经提高过测试的种类非常多,不同的术语往往让新人或者入行不久的测试人员望而生畏,对于开发也是同样的.这里推荐一个 ...

  2. 刚入行的软件测试工程师如何自学软件测试?0 基础该怎么学习软件测试

     从题干上看,你是已经进入了软件测试行业,有了一份软件测试的工作,那表示你看好这个行业,有意愿在这个行业持续发展.   软件测试相对一些开发的专业来说,需要了解的东西特别多,拿一些招聘简章中的要求来看 ...

  3. 测试软件测试赢在测试2:中国软件测试专家访谈录

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 赢在测试2:中国软件测试专家访谈录(品专家脚印悟测试真理本书已在台湾发行) 蔡为东著 ISBN 978-7-121-20066-3 ...

  4. 软件测试与开发专业就业方向,学习软件测试后就业方向有哪些?

    软件测试是全方位测试软件保证软件安全.优质上线并持续顺利运行的过程,包括:测试软件各功能模块是否正确;测试软件负载.稳定性.响应时间等;通过工具或者程序辅助手工进行软件测试;测试软件是否符合用户使用习 ...

  5. 软件测试转行月薪过万,那些转行软件测试的新手小白,是如何从月薪5000到月薪2万的?...

    原标题:那些转行软件测试的新手小白,是如何从月薪5000到月薪2万的? 前些天有小伙伴在后台问道,转行人员应该如何进入测试领域? 今天,我就这个问题做一个完整的回答,顺便说一下进入软件测试这个行业后持 ...

  6. 你真的懂软件测试人员的痛苦吗?——目前软件测试5大误区

    随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视.但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在. 因此,对于软件测试的重要性.测试方法和测试过程等方面都存在很多不 ...

  7. 软件测试影响与分析,软件测试效率影响因素分析 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    方法是影响测试效率的主要因素之一.此外,人为因素.软件类型.缺陷数量.测试充分度等都会对测试效率产生影响.下面对这些因素作一个简要分析.51Testing软件测试网@&WMh,K#qdoq$~ ...

  8. 软件测试职业发展三步曲之一 - 软件测试职业发展方向

    天地玄黄,宇宙洪荒:所谓光阴似箭,因为一转眼滚滚的历史车轮就将人类文明推进了二十一世纪的信息时代!葛大爷有对白曰:"二十一世纪最宝贵的是什么?"对曰:"人才!" ...

  9. 学软件测试英语差,学习软件测试常见问题:英语不好可以学会软件测试吗?

    原标题:学习软件测试常见问题:英语不好可以学会软件测试吗? 千锋老师总结了学习软件测试常见的几个问题,看看你有同样的疑惑吗? 1. 软件测试是什么 答:软件测试就是利用测试工具按照测试方案和流程对产品 ...

最新文章

  1. typedef的四个用途和两大陷阱
  2. Python进阶-----类、对象的相关知识
  3. c# html 后台拼_c#编写html后台
  4. 云栖大会上,阿里巴巴重磅发布前端知识图谱!
  5. python超市买苹果_官网购买的iPhone12pro还没发货?试着用Python快速入手
  6. synchronized同步方法概述
  7. android获取文件夹里最新的文件夹,Android 获取已存在的文件所在目录下的所有文件为null。...
  8. 1.安装flink-1.12.2
  9. 未来云原生世界的“领头羊”:容器批量计算项目Volcano 1.0版本发布
  10. java基础学习-(2)堆和栈
  11. decimal在java中用什么类型,MYSQL数据库 的 decimal 字段类型 和 Java 的BigDecimal
  12. python_射门小游戏
  13. 电子文档秒变手写文字:这个工具绝了!!
  14. ntsd调试dump文件
  15. 如何编写好的软件设计文档
  16. 微软必应词典客户端的案例分析——个人Week3作业
  17. 吴恩达深度学习笔记——改善深层神经网络:超参数调整,正则化,最优化(Hyperparameter Tuning)
  18. 如何用TextView显示Html格式的数据
  19. linux的原理和运用,Linux操作系统原理与应用_内存寻址
  20. 用R语言进行数据探索

热门文章

  1. android handler 传递对象,Android之Handler消息传递机制详解
  2. 【人工智能】国内的大模型相关产品:大概为大家盘点一下国内的大模型相关产品~
  3. mybatis-三层架构
  4. 房卡麻将分析之“缺人玩法”
  5. 7.17 递归法 数字转为字符串
  6. ASUS 主板的BIOS更新
  7. vs2017 调试 chromium 频繁崩溃
  8. 超级Hook及CE基址加偏移读取游戏数据
  9. ionic框架环境配置
  10. 从 Gartner 2023 年重要战略技术趋势看 SRE 的发力点