测试
测试
测试是指通过编写脚本或者使用工具, 完成对项目的自动化测试.
测试内容主要分两个方面.
- 功能测试:
单元测试, 接口测试, UI测试.
通过编写脚本的方式, 让软件自动运行. 用来代替部分的手动测试. - 性能测试:
运用测试工具, Loadrunner,Jmeter等. 对软件进行压力测试, 强度测试等.
该部分无法使用手动代替, 必须使用自动化.
关于测试.
一个软件由不同的部分组成.
在开发的过程中, 依次开发出来一个一个小块, 最后汇总在一起.
每个单元模块, 都要有一个单元测试, 以便测试该单元模块的功能是否完善.
这属于功能测试. 一般这一部分工作应该由开发者自身来完成, 以保证开发出来的模块能够正常工作.
当每个模块完成集合, 大致上形成产品的时候已经可以上线了.
在上线的时候, 还需要对于软件的性能和架构的性能进行检测.属于性能检测.
因为这一部分不可能由人力来完成, 只能通过测试软件来进行.
这个时候需要借助于持续集成工具,例如Jenkins,这样可以. 每开发更新一个新的模块都直接更新到新的服务器. 这个时候即便出问题, 也能从最近编写的代码中排除.
另外, 持续部署能够让产品尽早看到效果, 根据反响来进行改变. 持续交付也能够给用户一个满意的答卷.
黑盒测试方法:
- 黑盒测试:
不考虑程序内部的结构与特性,只根据程序功能和外部特性设计测试用例. - 错误范围:
功能不正确或者遗漏, 界面错误, 数据库访问错误, 性能错误, 初始化和终止错误. - 方法:
- 等价类划分:
根据程序对数据的要求, 划分每个部分, 测试数据是否正常, 判断该模块是否有效.
有效等价类, 无效等价类. - 边界值
在使用等价类划分之后, 一般结合边界值更加详尽.
按照输入数据的等级划分.
有效等价类有哪些边界, 无效等价类有哪些边界. - 因果图判定表
当程序有多个控件组件的时候, 依次找到输入项和输出项的关系. 排查故障原因. - 正交表
当有较多控件组件且无法短时间找到问题组件的时候, 可以使用组合测试的方式. (二分查找) - 场景法
模拟用户使用过程. 测试. - 大纲法
着眼于需求. 在每个根/叶间唯一路径,定义一个特殊的输入条件集合, 用来测试.
- 等价类划分:
测试软件归类:
- Postman:接口测试软件
在开发过程当中, 经常使用Postman来测试请求是否能够得到正确的响应, 这就属于接口测试软件. - Selenium: UI测试软件
直接在浏览器中运行的, 能够完全模拟用户操作 从终端测试, 发现不兼容的问题. - JMeter: 功能和性能测试软件
Python中用于压力测试的库.
Loadrunner、Jmeter性能测试软件
Loadrunner性能测试,偏向于软件性能瓶颈.
其他概念
Jenkins java服务器, 持续集成工具.
Gerrit java代码review工具