软件测试基本概念
一、什么是需求
1、用户需求
甲方爸爸提出的需求,一般来说比较粗略
2、软件需求
开发人员需要实现的功能。大多数公司在软件开发的时候把用户需求转化为软件需求,开发人员和测试人员工作的直接依据就是软件需求
软件需求是测试人员进行测试工作的基本依据!
二、什么是bug
bug就是软件错误,无法根据程序的到正确的执行结果,这里提一个关于bug的小故事:
三、什么是测试用例
测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境,测试数据,预期结果等要素。
测试用例的意义:当不知道是否全秒的测试了所有功能-测试的覆盖率无法衡量-对新版本的重复测试很难实现-存在大量的冗余测试影响效率,测试用例就是为了解决上述的问题!
四、开发模型和测试模型
1、项目开发的生命周期
需求分析 —— 计划 —— 设计 —— 编码 —— 测试 —— 运行维护
2、瀑布模型(Waterfall Model)
优点:强调开发的阶段性 阶段独立 强调早期计划和需求调查 强调产品测试
缺点:1、测试在编码过后才进行,没有预留足够的时间给测试
2、依赖早期进行的唯一一次需求调查,不能适应需求变化
3、可运行的产品上线太晚,给项目带来很大的风险,尤其是集成的风险。
3、螺旋模型(Spiral Model)
适用场景:一般在软件开发初期阶段需求不是很明确的时候,采用渐进式的开发模式。
螺旋模型是渐进式开发模型的代表之一。因此螺旋模型适用于那些规模大、复杂度高、风险大的项目
优点:强调严格的全过程风险管理 强调各开发阶段的质量
缺点: 更多人员、资金、时间的投入
4、增量、迭代模型
比如我们要在纸上画一个人
增量:我们先画头,再画身子,再画......
迭代:我们先画轮廓,再画基本雏形,再上色.....
优点:能显著降低项目风险
缺点:测试需要频繁进行,测试人员需要与开发人员更加紧密地协作
5、敏捷模型
在学习这个知识点之前,请和我大声地朗读《敏捷宣言》地价值观:
个体与交互重于过程和工具!
可用的软件重于完备的文档!
客户协作重于合同谈判!
响应变化重于遵循计划!
在每对比对中,后者并非全无价值,但我们更看重前者!
敏捷开发有很多种方式,scrum是其中比较流行的一种
特点:轻文档,快速迭代
三人五会
三人:产品经理,项目经理,研发团队
产品经理整理user story,形成左侧product backlog
五会:
1、发布计划会议:产品经理收集用户需求,对其进行估算和排序,发布计划会议的产出就是指定出这一期迭代要完成的 story 列表,sprint backlog
2、迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计
3、每日例会:每个scrum master召集站立会议,相关人员都收邀参加,团队成员回答昨天做了什么,今天计划做什么,有什么问题
4、演示会议:迭代结束之后,召开演示会议,相关人员都能受邀参加,团队给大家展示迭代成果,记录反馈形成新的story
5、回顾会议:项目团队对本期迭代做总结,发现不足
五、配置管理和软件测试
1、V模型
明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了测试阶段和开发过程对应关系
单元测试和集成测试:检测程序的设计是否满足软件设计的要求
系统测试:检测系统功能,性能的质量特性是否满足系统要求的指标
验收测试:是否满足用户需求
缺点:仅仅把测试作为编码之后的一个阶段 失去错误补救机会
2、W模型
开发测试同时进行,保证前期问题及时解决
缺点:测试和开发保持线性的前后关系,不支持敏捷开发,不拥抱变化
扫描二维码推送至手机访问。
版权声明:本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:luxd@aliyun.com,感谢支持理解。