软件测试的知识点总结
一、黑盒测试
1.黑盒测试:数据驱动测试或者基于规格说明的测试只检查程序功能是否按照规格说明书规定正常使用,是否能接收数据及产生正确的输出信息,并且满足数据库或者外部信息的完整性
2.黑盒测试的目的:
a.是否有不正确或者遗漏的功能
b.界面是否有误
c.接口上,输入输出是否正确
d.是否有数据结构错误或者外部数据库访问错误
e.性能是否满足要求
f.初始化或者终止性错误
3.黑盒测试的特点:
a.最大程度满足用户需求
b.相同动作可重复执行,枯燥部分可由机器完成
c.根据测试用例针对性的寻找问题,定位更准确,容易生成测试数据
d.测试直接和程序/系统要完成的操作相关联
4.黑盒测试的缺点:
a.代码得不到测试
b.如果规格设计错误,很难发现
c.测试不能充分进行
d.结果取决于测试用例的设计
5.黑盒测试的方法:
1)等价类划分法 2)边界值分析法 3)因果图法 4)判定表驱动发 5)场景法 6)功能图法 7)错误推断法 8)正交实验设计法
注意:确定测试的优先级和测试重点,提高覆盖率,边界值分析必须使用
6.设计测试用例的策略
1)首先进行等价类划分,包括输入和输出条件,减少工作量提高效率
2)边界值分析,发现错误的能力最强
3)错误推断法,补充用例
4)对照需求和业务场景逻辑,检查用例
5)如果需求说明含有输入条件,设计开始就用到的因果图和判定表驱动法
6)参数配置类的软件,需用正交实验法
7)功能图法,不同时期条件的有效性来设计数据
8)业务清晰的系统,采用场景法
7.黑盒测试的原则:
a.根据需求和规格要求,明确产品需求的正确性
b.针对性的找问题,正确定位
c.根据需求的重要性确定测试的等级和重点,减少缺陷
d.接口处,输入是否能正确接收,输出是否正确
e.站在用户角度思考,测试
二、测试用例
8.测试用例
1)一组有前提条件,输入,执行条件,预期结果等组成,以完成对某个特定需求或者目标测试的数据,体现测试方案,方法,技术和策略的文档
2)测试用例主要包含的内容:编号,日期,设计和测试人员,优先级,标题,目标,环境,输入数据\动作,预期结果
3)编写测试用例需要:软件需求说明书,软件模板
4)设计测试用例的注意事项:从高到底,独立性,与功能一一对应,由有经验的人员设计
5)设计测试用例注意原则:有模板,正确性,代表性,可判断性,重现性,详细准确清晰的步骤,符合规范
6)测试用例的工具:jira,bugzilla,禅道
7)测试用例的管理过程:编写-评审(修改-再次评审)-使用-保存管理-维护\升级
8)测试用例内容:目标描述,环境,输入和输出数据/动作,步骤,预期结果,备注
三、单元测试
1.1目的:
a)检查单元模块内部错误,为软件评审提供依据
b)测试模块内的重要路径,以程序设计说明书和测试数据为依据,以检查出错误
c)检查信息能否正确流入和流出单元
d)内部数据的完整性,数据形式相互的正确性,以及全局变量在单元中的处理和影响
e)数据在边界处能否正常工作
f)单元的运行能否满足特点的逻辑覆盖
g)错误处理机制是否有效
1.2主要任务
程序语法检查,程序逻辑检查,模块接口测试,局部数据结构测试,路径测试,边界条件测试,错误处理测试,代码书写规范检查
1.3边界条件测试
a)程序内有一个n次循环,这个n次循环应该是1~n,而不是0~n
b)由小于,小于等于,大于,大于等于,不等于确定比较结果
c)出现上溢,下溢和地址异常
四、功能测试
1.1定义:功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能;只需要考虑它的功能点不需要考虑软件的内部结构及代码等
1.2WEB端功能测试:链接测试,表单测试,导航测试,图形测试,内容测试,整体界面测试
1.3兼容性测试:平台兼容(windows,Unix,Linux,macintosh),浏览器兼容
1.4安全测试:
1.4.1:用户名和密码的有效和无效性,注意大小写敏感,次数限制,是否可以不登陆而浏览某些页面
1.4.2:是否有超时限制
1.4.3:测试用户操作时相关信息是否写入日志文件,是否可追踪
1.4.4:如果使用了安全套字,需要测试加密是否正确,加密前后信息完整性,正确性
1.4.5:没有经过授权,是否可以在服务器端或者前端放置和编辑脚本的问题
1.5输入框测试:
1.5.1:验证输入输出信息的一致性
1.5.2:输入框前面的文字提示是否正确
1.5.3:对特殊字符的处理、识别:单双引号,括号,逗号、分号等等,以及大小写状态,半角全角状态下的情况
1.5.4:输入框的大小、长度、边框等
1.5.5:不同字符的输入,以及字符组合情况的处理(数字+字母+字符等)
1.5.6:对空格、tab换行键的处理机制
1.5.7:密码输入框字符星号或者其他星号的转行,加密
1.5.8:输入框输入字符长度是否有限制
1.5.9:字符本身显示的颜色,规格等
1.5.10:有些输入框需要加以限制,如输错,是否有提示?提示是否简单合理?
1.5.11:输入状态,某种情况下输入框出于不可编辑,当再次处于编辑状态,输入框的输入状态是否有变化
1.5.12:输入类型:是否允许复制黏贴剪切等输入操作
1.5.13:关键字是否支持通配符,以及关键字的搜索能力,敏感字等情况
1.5.14:输入框输入空格的情况
1.5.15:比如登陆注册,各项输入条件的判定:是否输入,输入是否正确等
1.6:用户权限测试
1.6.1:给某账号赋予权限后,登陆该账号,查看是否拥有已赋予的权限,以及权限设置是否正确(权限是否超过或者不足)
1.6.2:删除或修改已经登陆并且正在执行操作的账号权限,程序能否正确处理,验证
1.6.3:重新注册系统变更登陆身份后再登陆,程序能否正确执行,之前所拥有的权限能否继续使用
1.6.4:在用工作分配或者角色管理情况下,删除包含用户的工作组或者角色,程序能否正确处理
1.6.5:不同权限账号登陆同一个系统,权限范围是否正确
1.6.6:能否给信息为空、长用户名的账号添加权限
1.6.7:是否允许删除系统管理员或者修改管理员权限?删除或者修改后的实际情况
1.6.8:已登录的用户能否修改或者删除自己或者他人的权限,信息
1.6.9:添加用户(有编号或者标识),不同用户名标识的组合情况下,权限能否处理正确
1.6.10:修改用户权限或者信息后,对其他模块是否有影响
1.6.11:如果修改用户信息和已存在的其他用户信息相同,能否修改成功?是否有对应提示
1.6.12:修改某些设置,是否会对与该账号权限相同或者高于/低于该账号的其他账号的权限造成影响
1.6.13:同一用户是否可以同时属于其他组,各个组的权限能否交叉
五.APP测试
1.安全测试(权限)
1.1:软件权限:其中包括发送信息,拨打电话,链接网络,访问手机信息,联系人信息等
1.2:数据在本地的存储,传输等
1.3:执行某些操作时导致的输入有效性验证,授权,数据加密等方面
1.4:基于各种通信协议或者行业标准来检查
2.安装运行卸载测试
2.1:验证app能否安装运行卸载,以及操作过程和操作前后对系统资源的占有情况
2.2:安装运行卸载的提示,报告等
2.3:检查安装路径,文件是否合理,组件是否正确注册等
3:UI测试
3.1:用户界面(菜单,对话框,窗口)等布局,风格是否满足用户需求,文字位置,描述是否正确,界面美观程度,文字图片组合是否合理
3.2:用户友好性,人性化,便于操作等
4:功能测试
5:性能测试:极限测试,响应能力测试,压力测试
6:中断测试(干扰)
7:兼容性测试
8:升级更新测试
9:回归测试:bug修复后的回归测试,上线交付前进行全部回归,验证
10:支付测试:支付结果确认,数据库查询;请求报文是否加密;不同场景的支付(金额足够,金额不足,重复支付,无网支付,弱网支付,同账号多平台一起支付,余额宝微信信用卡多种方式支付,不同支付方式组合,密码正确/错误,支付上限)
11.集成测试:也称为组装测试,联合测试,主要针对软件高层设计进行的测试,一般以模块和子系统为单位进行测试
12.系统测试:检查系统是否能完成需求说明的内容,对象系统能正常,完整的运行;其中包括软件,硬件和相关联的设备,测试数据
13.1系统测试的测试类型:功能测试,性能测试,负载测试,容量测试,安全性测试,用户界面测试,配置测试,安装测试,回归测试
13.2:常用方法:黑盒测试,自动化测试
14.验收测试:要点:流程测试,边界值测试,容错性测试,异常测试,安装配置测试
15:回归测试:在软件开发的各个阶段,都可能进行若干次回归测试,其在整个测试过程种占很大比重
15.1:回归测试的目的:确认软件经过修改或者变更之后是否满足所有的需求
回归测试是重复测试,需求使用相同的方法,测试用例和数据,在相同的环境下测试
15.2:回归测试的范围:a.测试所有修改或者修正过的功能模块
b.测试与被修改模块相关的模块
c.测试所有新增模块
d.测试整个模块
16.配置测试:测试软件在不同的软件和硬件条件中运行的情况,覆盖各种软件,硬件环境,其实质加就是测试软件是否与其他与之交互的元素之间的兼容
测试软件的容错性,发现隐藏的bug,以及对其产品的影响,得到最佳的配置