软件测试:
概念:验证软件功能是否满足客户需求
测试与调试的区别:
- 测试的任务是发现程序中的缺陷,调试的任务是定位并且解决程序中的问题
- 测试主要是由测试人员和开发人员来执行,黑盒测试主要由测试人员完成,单元/集成测试主要是由开发人员完成。调试由开打人员完成
- 测试贯穿整个软件开发的生命周期,调试一般在开发阶段
软件测试的目的和原则:
目的:验证软件有或没有问题
原则:以客户为中心,遵循软件测试的规范,流程,标准和要求
扩展:ISO质量管理的八大原则:
- 以客户为关注焦点:组织依存于他们的客户,因而组织应理解顾客当前和位来的需求,满足顾客需求并再去超过顾客的期望
- 领导作用:领导者建立组织相互统一的宗旨,方向和内部环境
- 全员参与:各级人员都是组织的根本,只有他们充分参与才能使他们的才干为组织带来收益
- 过程方法:将相关的资料和活动作为过程来进行管理,可以更高校地达到预期的目的
- 管理的系统方法:针对制定的目标,识别,理解并管理一个由相互联系的过程所组成的体系,有助于提高组织的有效性和效率
- 持续改进:持续改进使一个组织的永恒目标
- 基于事实的决策方法:有效的决策是建立在对数据和信息进行合乎逻辑和直观的分析基础上
- 与供方互利的关系:组织和供方之间保持互利关系,可增进俩个组织创造价值的能力
什么是需求:
概念:满足用户期望或正式规定文档(合同,标准,规范)所具有的条件和全能,包含用户需求和软件需求。
- 用户需求:不能指导人们工作,是指用户提出的需求,该需求一般比较简略
- 软件需求:或叫功能需求,该需求会详细描述开发人员必须实现的软件功能,可以指导开发人员编写代码,指导测试人员编写测试用例。软件需求是测试人员进行测试工作的基本依据。
注:需求不一定是正确的,还需要我们进行测试
以追女神为例,讲述什么是用户需求,什么是软件需求。用户需求:遇到一个女神,我希望她成为我的女朋友。软件需求:将一个大概的需求分为若干个子需求:如何和女神搭讪,如何要到女神电话,如何约女神看电影,如何向女神表白。客户需求就是客户提出的一个大概的需要,软件需求就是我们根据客户需求一步步的分析开发人员应该如何实现这个软件的功能
什么是bug
- 当且仅当规格说明书是存在且正确的,程序与规格说明书之间的不匹配才是错误
- 如果没有规格说明书,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时嘛就是软件错误
什么是测试用例:
测试用例:位来实施测试而向被测的系统提供的一组集合,这组集合包括:测试环境,测试步骤,测试数据,预期结果等要素
测试中可能遇到的问题:
- 不知道是否较全面的测试了由于功能
- 测试的覆盖率无法衡量:(覆盖率:编写的测试用例个数/功能点个数)
- 对新版本的重复测试很难实施(新版本比旧版本多的测试用例)
- 存在大量冗余测试影响测试效率