目录
简单来说,就是在软件中找bug
具体概念:检查软件产品是否满足用户的需求
以最少的人力,物力,财力找到软件潜在的缺陷和错误
外观界面测试+功能测试+易用性测试+性能测试+兼容性测试+安全性测试
外观界面测试:界面排版符合要求,窗口缩放等
功能测试:产品是否符合客户要求
易用性测试:产品使用是否符合正常逻辑,是否方便用户操作
性能测试:产品性能检测
兼容性测试:产品在不同平台、不同版本、不同系统等是否可以正常使用
安全性测试:用户信息加密存储等
1)需求分析:阅读需求文档,明白需求内容,分析需求的测试点。参与需求评审来排除不合理的需求
2)制定测试计划和测试方案:
测试计划:测试整个项目的安排(人力,时间等),测试范围,测试策略,测试地点,风险评估,风险规避等。
测试方案:测试目标,测试工具,测试方法,测试重点等
3)测试用例的设计与执行
4)测试项目的评估,撰写测试报告
瀑布模型是最原始的开发模型
1、计划时期:进行项目整体分析,研究需求的正确性,可行性
2、开发时期:针对项目进行需求分析,针对需求进行软件设计和代码编写
3、运行时期:针对写出来的项目进行测试,测试通过后发布,上线之后也要进行维护
a)特点:
1、一个过程执行结束之后,才可以继续执行下一步,也就是阶段之间具有顺序性和依赖性
2、一个阶段结束之后才可以继续执行下一步,每一个阶段都设计了测试点,保证了每一个阶段的质量
b)优点:
1、每一个阶段设置了检查点
2、此阶段完成之后,就只需要关注后序阶段
c)缺点:
不支持需求模糊或者需求经常变动的项目
将软件看作一系列相互联系的模型的增量,每次完成一个增量。
将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。
a)特点:可以根据功能划分模块
b)优点:
1、开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。
2、将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。
快速建立起可以在计算机上运行的程序。
即先用相对少的成本,较短的周期开发一个简单的、但可以运行的系统原型向用户演示或让用户试用,以便及早澄清并检验一些主要设计策略,在此基础上再开发实际的软件系统。
(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。
开发出来一个功能之后,在此功能上迭代,增加新的功能
迭代开发模型不可并行,增量模型各个功能可以并行
简单设计,快速实现。
敏捷开发以用户的需求进化为核心,采用迭代,循序渐进的方法进行软件开发。
在敏捷开发中,软件项目在构建初期被切分成多个子系统,各个子系统的成果都经过测试,具备可视,可集成和可运行使用的特征。换言之,就是把一个大的项目分为多个相互联系,但也可以独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
缺点:测试介入太晚,如果需求出现问题,之前的工作就可能要做出很大的改正。
优点:每一个阶段都清晰明了,便于控制每一个阶段
双V模型,测试伴随着项目始终。
1、黑盒测试没有源码;包括功能测试和性能测试
功能测试主要包括:
性能测试:
2、白盒测试有源码
就是保证 每一种情况 每一个语句 都会被考虑到
3、灰盒测试:不是完全的黑盒,白盒 介于两个之间。
关心输入和输出,同时可以考虑输入输出过程内程序运行的状态
为了测试某一个功能,编制的一组输入数据
测试用例基本要素:1、测试用例编号 2、测试项目(测试模块) 3、前置条件 4、测试输入 5、预期输出 6、操作步骤 7、测试用例标题 8、级别
在输入数据穷举时,测试数据才可以说是完美的。然而,穷举是无法实现的,使用等价类划分,选取一类中的某一个数据,代表这一类
比如:程序规定了用户名长度。用户注册时输入用户名,就要符合规范。
如果长度规定在[4,8],那么有效等价类 长度就是4 5 6 7 8的不包含特殊字符的字符串,无效等价类就是其他数字长度的字符串或者包含特殊字符的字符串
长度为4的有效等价类,就可以选取数据 ’1234‘ 作为所有长度为4的用户名的代表,输入结果作为所有长度为4的用户名的结果
测试用例编号 | 测试模块 | 前置条件 | 测试输入 | 预期输出 | 操作步骤 | 测试用例标题 | 级别 | 测试人员 | 测试结果 |
1 | 注册 | 网络正常 | 10000 | 注册成功 | 1、输入此用户名和符合要求的密码"123" 2、点击注册 | 用户名注册长度检测 | 重要 | 张三 | 通过 |
2 | 注册 | 网络正常 | 100 | 注册 不成功 | 1、输入此用户名和符合要求的密码"123" 2、点击注册 | 用户名注册长度检测 | 重要 | 张三 | 通过 |
选择数据的边界进行测试
使用因果图描述 不同输入和输出之间的对应关系
将因果图的结果使用表格表示
使用最少的测试过程集合获取最大的测试覆盖率。
当条件过多,产生的组合就可能有n种。(比如A,B两个条件,可能组合就有AB同时满足,A满足B不满足,B满足A不满足,AB都不满足),这时是很难覆盖到每一个组合情况的。
测试方法是从大量的测试情况中找出具有代表性的测试情形,利用正交表,结合等价类划分、边界值等方法来编写测试用例。
覆盖到每一个测试用例 有 3*3*3*3种可能性。我们使用选取少数排列组合的测试结果,表示测试的结果
设置一个场景,走完所有的流程
根据经验,重点测试容易出错的位置
包括测试过程中的bug,没有满足用户需求的点等