1.软件测试的目的和原则
目的:找BUG,验证软件有没有问题
原则:让客户放心使用,满足客户的需求
2.什么是需求(用户需求/软件需求)用户的合理期望---研发人员,测试人员工作的依据
①用户需求:想要达到的目的(用户的想法)
②软件需求:为达到某一目的,而做出的更详细的计划(将用户需求转化为可以指导开发人员写 代码,测试人员写测试用例的文档)
*需求不明确时:三方沟通,做到三方一致(开发人员,客户经理,测试)
3.用户需求->软件需求
与客户/...进行频繁的沟通
4.软件需求说明书的书写
需求案例:声控灯--天黑--院子安装声控灯
声响会亮
感光强度
灯的亮度(使用电流的大小),形状
声音分贝,种类
电(有/没有)
5.什么是BUG,缺陷
定义:①有需求说明,并且正确:与需求说明不符合
②没有需求分析:程序没有实现其最终用户合理预期的功能要求
后果:用户流失
责任:第一责任人:测试人员
第二责任人:研发(很少由他们背锅)
处理:回滚,回归到没BUG的位置(慢慢定位)
对待BUG的态度:心存敬畏,及时改错
6 .测试用例
定义:向被测系统提供的一组集合
测试环境、操作步骤、测试数据、预期结果(核心)。。。等要素。
测试用例标题:唯一,不可重复
面试时:只需要写测试点即可,例如之前水杯的例子
①软件相关测试用例:(示例)
②生活相关–拨打电话的例子
书写测试点:
号码:
长度的验证,正确性的验证,是否可输入字符,不同运营商的验证
环境:
双方设备是否可以保持正常通话:
所持工具是否具有通话功能,输入号码是否合法,对方设备是否闲置未被占用
网络状态是否良好,是否在服务区范围内,不同运营商之家是否可以通话
双方设备是否可以保持正常通话:
电量,话费
个人:
通话声音是否真切,音量是否可控,是否安全,是否可以及时结束通话
7.开发模型
软件生命周期(需求分析,设计,编码,运行,测试,维护)
-
1.瀑布型:适合需求稳定的项目(线性顺序模型)
优缺点: -
2.螺旋模型:适合庞大复杂风险大的项目(渐进式)
优点:风险
缺点:风险(每次风险评估,耗时) -
3.增量 和 迭代:降低项目风险
增量:将项目分批制作,进行拼接,模块之间没有关系,相互孤立
迭代:先整体,再进行细化,各个功能之间相互影响,牵一发而动全身 -
4.敏捷:快
-
面试题:传统开发模型与敏捷开发模型得区别(利用四种宣言去回答–共有十二种宣言)
①人与人间的沟通—个体与交互重于过程和工具
②轻文档—可用的软件重于完备的文档
③客户参与—客户协作重于合同谈判
④拥抱变化—响应变化重于遵循计划 -
特点:
①周期短(一周到一月)
②对人数要求,团队人数不超过十人
③每天都要进行晨例会(时间不超过十分钟)–每人三句话(昨天干的事,今天的计4
划,遇到的问题) 目的:让大家彼此了解大家的工作 -
角色:product owner(产品经理)、scrum master(项目经理)和team(研发团队)组成。
po:整理user story(需求)
sm:召开例会,协调项目,服务于团队 -
研发流程:
①整理user story
②发布计划会议:确定本轮迭代需要完成的user story
③迭代会议计划,工作分解,任务认领,明确每个任务的负责人和完成工时事的出初估
计
④开发
⑤测试
⑥上线
8.敏捷中的测试
- 面临的挑战:
①轻文档–解决办法-----和客户进行沟通
②快速迭代—解决办法-----自动化测试
9.软件测试V模型
-
阶段:
①用户需求(测试人员参与很少,秩序了解项目做的是什么)
②需求分析于系统(了解需求的范围,指制定测试计划)①
③概要设计,详细设计(cesium人员不参与)
④编码(测试人员写测试用例)②
⑤单元测试(开发人员,白盒测试人员参与,普通测试人员不参与)
⑥基础测试(开发人员,白盒测试人员参与,普通测试人员不参与--功能测试)
⑦系统测试(测试人员:搭建环境,数据准备,测试执行,缺陷管理,测试报告的输出/
编写)③
⑧验收测试(用户自己测试,教用户如何使用,并且收集用户的反馈和意见) -
优点:测试,研发的每部分配很明确
缺点:测试靠后,BUG发现的相对较晚
10.软件测试W模型(双V模型)
- 特点:整体看并行,但再研发和测试各自的线路上看依旧是串行
11.H/X模型是否适用于敏捷开发
12.配置管理: - 定义:
- 是通过对在软件生命周期不同的时间点上的软件配置进行标识,并对这些被标识的软件配置项的更改进行系统控制,从而达到保证软件产品的完整性和可溯性的过程。
用工具管理项目里的数据--类似于图书管理员
- 是通过对在软件生命周期不同的时间点上的软件配置进行标识,并对这些被标识的软件配置项的更改进行系统控制,从而达到保证软件产品的完整性和可溯性的过程。
- 配置管理工具:GitHub。。。
- 配置管理于软件测试的关系:
测试人员应该从配置库取源代码编译后再测试,只有看到新的构建版本不再出现那个Bug,才能把缺陷库中的Bug关闭。