进阶
1 按照测试对象划分:
1 界面测试
界面功能要和ui设计稿保持一致,功能准确,完整
界面直接和用户交互的,界面的好坏决定用户的直观感受
保证测试界面功能的正确性,
界面的布局排版是否合理,字体大小,是否x斜体,图像布局排版,清晰程度,整体风格
界面控件功能是否正常,滚动条,按钮,checkbox,文本框
界面的自适应测试,页面从小到大,文字图片正常展示,功能界面全面,可以正常使用
页面的状态是否符合时事
不同界面的分辨率的测试
同一个web页面不同页面大小下的测试:
页面从大到小的变化过程是否衔接思华,让用户可接受
页面字体不模糊不消失不重影
页面图片不消失,排版布局合理
页面功能正常使用
2 可靠性测试
软件自身和软件所处的环境(硬件软件系统网络等)有问题导致软件无法正常运行,都属于软件非正常运行时间
可靠性=正常运行时间/(正常运行时间+非正常运行时间)
一般软件:可靠性要求99.99%
特殊软件,比如军事系统99.999%
如何进行软件的可靠性测试:
影响因素:软件本身,外界因素(网络,电,硬件设备,软件系统)
3 容错性测试:
什么是容错性:因为自身或外部的一些异常操作使得系统发生异常,系统能够自行处理这些异常的能力
数据级别:25时10分
校验级别:输入账号6-12位 输不进去;大小写校验;前后信息一致校验;查询信息前后空格自动过滤
界面级别:危险的操作会给用户提示信息,危险的按钮直接屏蔽
环境级别:断网断电引进设备出问题,是否可以无缝切换到备用服务
4 灾难性恢复性测试:人为故障;软件系统的恢复性测试,恢复数据,不丢失用户信息
5 文档测试
整个开发过程的各种文档,需求文档,设计文档,功能文档,用户手册进行测试,
文档的一致性,专业术语,完整性,准确性
文档和软件功能对比
6 兼容性测试
平台的兼容性:(web网页:各种浏览器,操作系统的兼容性app:ios/android不同品牌不同系统版本
软件本身兼容性:对新旧功能的兼容性,比如开发的功能不影响旧功能,也而不影响后续功能的开发
软件对用户数据的兼容性:在数据库某张表添加数据,不影响
7 易用性测试
用户使用软件的体验,用户体验测试
符合标准和规格 比如:黄色-警告 红色-严重错误
直观性:让用户直接看到自己期望的操作或者预期的结果
灵活性:用户可根据自己的习惯选择适合自己的操作方式
手机上的键盘9宫格 全键盘
舒适性
让用户对自己的操作有感知,不在焦虑,比如安装软件的进度条
实用性
8 安装和卸载的测试
软件可以正常安装和卸载
软件更新
卸载安装软件过程中异常情况软件的响应(空间不足 断网 硬件故障等
卸载过程中异常情况软件的响应
软件卸载后数据文件是否清理干净
9 安全测试
指的是信息安全,指网络和系统保护用户的数据,防止隐私不被侵犯
防病毒,防黑客,xxs注入,sql注入,防爬虫
10 性能测试
内存泄漏
资源瓶颈
系统运行速度越来越慢
系统和运行受外界有影响越来越大
死锁
查询加载速度很慢
资源分配不均
11 内存泄漏(内存分配后没有回收;api函数错误使用,无法回收;内存分配方式有问题,无法回收)
会导致系统运行越来越慢积累的错误
2 按照是否查看代码划分
1 黑盒测试:
也称为功能测试,黑盒测试不关心软件内部代码实现,只关心代码内部输入输出
站在用户角度进行测试,有利于培养用户思维根据测试用例设计,不易遗漏需求方法:等价类* 边界值* 因果图 错误猜测 场景法* 正交法
2 白盒测试:
测试软件功能的实现,测试实现代码的风格逻辑结构设计,看是否实现了是否需要其实现的内容
白盒测试的方法:
语句覆盖:路径覆盖判定覆盖条件覆盖判定条件覆盖条件组合覆盖
白盒测试的方式:
单元测试 java junit
3 灰盒测试:介于白盒测试和黑盒测试之间的测试
3 按照开发阶段划分
1 单元测试:对组成软件的最小单元进行测试
方法:白盒测试(测试代码的
测试内容·:模块接口测试,局部数据结构测试,边界测试,错误异常测试,路径测试,错误处理测试
2 集成测试:也称联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检验的测试工作
方法:灰盒测试
内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响
3 系统测试:将软件系统看成一个系统的测试,包括对功能,性能及软件运行的软硬件环境进行测试
方法:黑盒测试
内容:按照测试对象划分测试类型,界面,功能,易用性,可靠性,可移植性,兼容性,容错性,性能
回归测试:回归
冒烟测试:主要功能
4 验收测试:
用户对成果进行测试;
方法:黑盒测试
内容:同系统测试,包括文档测试
4 按照实施组织划分
1 阿尔法测试 :由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试
2 被他测试:是验收测试,由软件的最终用户在一个或多个场景进行
3 第三方测试:介于开发方和用户方间组织的测试
a b区别:a优先于b 测试场景不同B的场景用户参与
5 按照是否运行代码划分
静态测试:语法,结构,风格,规范,过程,接口等来检验,以及需求规格说明书,软件设计说明书,源程序做结构分析,流程图分析来找错 不运行代码
动态测试:运行代码 分析正确性 运行效率来检验
6 按照是否手工划分
手工优势:人工一个一个输入,可以进行探索性测试,无法完全被自动化测试替代,缺点:效率低,量大易出错
自动化测试:效率高,可以发现手工测试难以发现的极端问题(当然不是所有的项目都适合
6 按照地域化-划分
国际化测试
本地测试
软件的国际化和本地化是面向全球不同地区用户使用软件系统的两个过程
而以上是针对这类产品进行的测试