文章目录
1.按照实施组织区分
1.1 α测试
- 用户或者公司内非测试和开发人员请到现场进行测试
- α测试的特点:
- 时间比较集中,在开发现场好沟通产品的问题;
- 是容易受开发环境的影响(测出来的结果没有那么客观)
1.2 β测试
- 用户在实际使用环境下进行测试;
- 用户测试的结果更接近于实际使用情况的反馈。
- α测试优先于β测试的
1.3第三方测试
- 介于开发方与用户之间组织的测试。
2.按照是否运行进行划分(运行代码)
2.1静态测试
- 不运行程序,跟据需求规格说明书,软件设计文档,程序设计文档等结合程序(代码),查看代码的风格,语法,逻辑是否符合需求。
- 检查项:代码风格和规则审核;程序设计和结构的审核;业务逻辑的审核;走查、审查、与技术复审手册
- 静态质量:度量所依据的标准是ISO25010,在该标准中,专拣的质量以以下几个方面来衡量,即功能性,性能,兼容性,易用性,可靠性,安全性,可维护性,可移植性。
- 代码静态分析分和文档测试都属于静态测试。
2.2 动态测试
- 写测试用例,运行系统(程序),执行测试用例。
3.按照是否手工划分
3.1手动测试
- 优点:比较灵活的,发散性测试。(手工测试无法永远被替代)
- 缺点:量大容易出错
3.2自动化测试
- 按照预设条件的去执行测试,收集测试结果,设置正常的验证和异常的验证。
- 断言
- UI界面自动化,selenium unittest ddt HTMLResultRepport
- 接口自动化:jmeter postman
- 性能自动化:loaderrunner
- 自动化的前提:项目的功能要相对稳定
- 自动化的价值:脚本的重复使用率(利用率)越高,自动化越有价值。
- 自动化实施的步骤
- 完成功能测试,版本基本稳定
- 根据项目特性,选择适合项目的自动化工具,并搭建环境
- 提取手工测试的测试用例转化为自动化测试的用例。
- 通过工具,代码实现自动化的构造输入,自动化检测出结果是否符合预期
- 生成自动测试报告
- 持续改进,脚本优化。
4.按照是否查看代码
4.1黑盒测试
- 系统测试,验收测试是属于黑盒测试
- 黑盒测试不关注程序内部具体的实现,只关注功能的输入和输出是否满足需求;
- 黑盒设计测试用例的方法有哪些?
- 等价类,边界值,因果图,错误猜测发,正交法,场景法
4.2白盒测试
- 单元测试是属于白盒测试
- 测试的时候要关注功能内部程序的实现逻辑,语法等。
- 白盒测试的方法有哪些呢?
- 语句覆盖法,循环覆盖法(while(i==1)),路径覆盖法(switch,if else),逻辑覆盖法(判定覆盖,条件覆盖,判定组合覆盖,条件组合覆盖)
4.3灰盒测试
- 介于白盒和黑盒之间的测试,集成测试也是属于灰盒测试
5.按照地域划分
- 软件国际化:开发软件的时候,使用一种工程技术,使得软甲可以适用不同国家的语言,文化和风俗习惯,可以不用修改源码,这种工程技术叫做软件国际化。
- word文档 苹果手机
- 本地化和国际化测试与其他类型的测试存在很多不同之处:
- 本地化后哦的软件在外观上与原来版本是否存在很大的差异,外观是否整齐
- 是否对界面元素都进行了本地化的处理,包括对话框,菜单,工具栏,提示信息(包括声音的提示)、日志等。
- 在不同的屏幕分辨率下界面是否正常。
- 日期,数字格式,货币等能适应不同国家的习俗;
- 排序的方式是是否考虑了不同语言的特点。
- 在不同的国家采用不同的度量单位;
- 软件是否能在不同类型的硬件上正常进行。
- 软件能否在Windows或者是其他系统的当地版本上正常运行;
- 联机帮助和文档是否已经翻译,翻译后链接是否正常
5.按照测试对象划分
5.1 业务
- 方法:可以场景法进行业务测试
- 作为一个刚入职的新人,如何快速的了解你负责的系统的业务?
- 读系统文档(需求文档,系统的设计文档),可以问开发人员 。
- 有个采购系统,向供应商采购产品,供应商发货后,需要给供应商打款,打款逻辑,收到货物后延迟15天打款,问:公司仓库9月20日收到货款,但是供应商15天后没有收到货款?
- 注意节假日和周六周天
5.2 界面
- 界面的完整性,准确性,一致性,易用性(用UI设计图来准确进行测试)
- 界面的布局,排版:字体,图像
- 界面的控件:对话框,文本框,按钮(高亮和置灰)符合用户的使用习惯,滚动条 CheckBox
- 不同页面大小的自适应测试,页面从小到大,图片有没有消失重叠,页面从大到小功能有没有小时,页面从小到大的功能是否正常使用,页面从大到小衔接是否丝滑
5.3容错性测试
- 当系统由于外界异常环境或者人为的错误操作,引起系统的错误,系统可以自我消化掉,而不把这些错误或异常直接展示给用户。
- 数据级别,校验级别,环境级别,界面级别
- 数据级别:如果日期对不上,应给有个回应
- 校验级别:验证码,前后信息的一致性,同一个系统;
- 环境级别:系统所依赖的服务器
- 界面级别:固定输入(下拉框/模糊匹配)
- 失效恢复性测试
5.4 文档测试
- 完整性,术语专业,准确性,一致性,易用性。
5.5 兼容性测试
- 应用平台:
IOS :不同版本的苹果手机,不同的IOS系统
Android:不同版本的Android系统,在不同品牌的手机上进行测试,不同的网络的运营商(电信,移动,联通)WiFi移动网络。
PC端
Windows ,Mac,Unix不同系统的不同版本进行测试
web系统
浏览器,不同版本的浏览器 - 软件向前或者向后的兼容性:前后的版本
- 软件和其他相关软件的兼容性
- 数据的兼容性
5.6 易用性
- 易用性测试也称为用户体验测试
- 遵循标准(行业)(弹框信息提示,警告信息提示,严重信息提示)
- 直观性
- 灵活性:不同习惯的用户,提供不同的操作(打字有九宫格和全键盘)还有一些界面可以设置背景等等(复杂性)灵活性和复杂性之间有个平衡
- 舒适性:上传,下载,压缩文件(进度条)
- 实用性:要有具体的使用功能
5.7 安全性测试
- 数据泄露,黑客攻击,SQL注入,XXS注入,病毒等
- 上传,下载的时候安全性测试怎么做?
5.8 性能测试
- 资源泄露 资源瓶颈 线程阻塞 数据库查询效率低等。
- TPS 每秒事务处理量,想用时间,点击率,资源利用率
5.9 内存泄露测试
- 引起内存泄漏的原因:没有释放内存(分配的内存忘了释放)使用API函数的时候不正确,无法释放,代码写的有问题,导致最终无法释放内存。
- 代码评审,工具进行测试。