赞
踩
目录
最简单的理解就是找BUG,发现缺陷。
软件测试是为了验证软件产品特性是否满足用户需求。
软件测试的特点:不可穷尽性
测试:为了测试软件特性(功能相关、肺功能相关)是否解决了该解决的问题。贯穿了软件的整个生命周期,主要由测试人员和开发人员共同完成。黑盒测试测试人员来做,单元/测试主要由开发人员来做。
调试:为了完成程序员想做的事。生命周期只是软件开发阶段。主要由开发人员来做。
在软件开发中具有重要地位,是所有模型的基础框架。
特点:每个阶段只执行一次,是线型顺序进行的开发模型。适用于较小的项目。
优点:具有阶段性的特点。
缺点:该模型只依赖于唯一一次的需求调查,不能适应需求的变化。并且风险只会在最后出现,无法纠正,会出现大面积返工的现象。
在初期阶段需求不明确时采用的渐进式的开发模型。
比较适合规模庞大、复杂度高、风险大的项目。
优点:能够不断改进软件性能,可以全过程进行风险管理。
缺点:不允许有独立的测试时间和阶段。当开发迭代产生新的时,我们就要开始新一轮的测试。
把软件系统模块化,每个模块作为增量组件,分批次的分析和设计代码。
缺点:如果系统很难被模块化,就会给增量带来麻烦。
敏捷模型的开发模型有很多种,scrum是最流行的一种。
- 个体与交互重于过程和工具
- 可用的软件重于完备的文档
- 客户协作重于合同谈判
- 响应变化重于遵循计划
- 在每对比对中,后者并非全无价值,但我们更看重前者。
- 轻流程重交互拥抱变化
scrum有三个角色:
product owner(产品经理)、scrum master(项目经理)、team(研发团队)
流程:
用户需求:PM收集用户需求,产出软件需求。
需求分析与系统:分析需求是否正确,需求是否完整。
概要设计:语言、框架、项目结构设计。
详细设计:技术文档(接口、库表、定时任务.....)
编码:开发人员写代码
在前五个阶段测试人员没有加入过
单元测试:测试一个一个的单元
集成测试:测试每一个模块
系统测试:把项目运行起来,进行整体测试。
验收测试:产品、运营、用户/甲方爸爸验收。
特点:线性、左边开发、右边测试、是瀑布模型的变种,每个阶段做什么事情非常清晰,测试被划分为很多类型。但是测试人员介入太晚,造成问题会回溯浪费很多时间;测试和开发是串行的。
特点:开发一个V测试一个V;测试人员尽早介入,测试与开发并行。但是遇到问题也需要回溯并且耗费时间多,不能拥抱变化;相对来说,测试人员的每一步都需要依赖开发人员的步骤,一定程度上还是串行的,不适用敏捷开发流程。
软件测试的分类有很多种,下面只讲两种。
黑盒测试
- 优点
不需要了解程序内部的代码以及实现,不关注软件内部的实现。从用户角度出发设计测试用例,很容易的知道用户会用到哪些功能,会遇到哪些问题,锻炼测试人员的产品思维测试用例是基于软件需求开发文档,不容易遗漏软件需求文档中需要测试的功能。
- 缺点
不可能覆盖所有代码
黑盒测试用到的测试方法有,等价类,边界值,因果图,场景设计法,错误猜测法等。
白盒测试
单元测试
单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试
集成测试
系统测试
验收测试
每个公司对BUG生命周期定义不同,一般是从open到closed的所有状态。
● New: 新发现的 Bug, 决定是否指派给开发人员进行修改。● Open :确认是 Bug ,并且认为需要进行修改,指派给相应的开发人员。● Fixed: 开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。● Rejected :如果认为不是 Bug ,则拒绝修改。● Delay: 如果认为暂时不需要修改或暂时不能修改,则延后修改。● Closed :修改状态的 Bug 经测试人员的回归测试验证通过,则关闭 Bug 。● Reopen :如果经验证 Bug 仍然存在,则需要重新打开 Bug ,开发人员重新修改。
非功能需求:
例如对百度云盘进行测试用例设计
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。