软件测试软件测试的划分

Posted 一只当归

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试软件测试的划分相关的知识,希望对你有一定的参考价值。

  • 按测试实施组织

1.α测试:α测试是由一个用户在开发环境下进行的测试,也可以是公司内部用户在模拟实际操作环境下进行的测试,目的是为了评价软件的FLURPS(功能、局域化、可使用性、可靠性、性能和支持),α测试不能由开发和测试人员完成

2.β测试:beta测试是一种验收测试,beta测试由软件的最终用户们在一个或多个场所进行。

3.第三方测试:介于开发方和用户方之间的组织的测试。

  • 按是否运行划分:

1.静态测试: 静态测试指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符合执行来找错。
检查项:代码风格和规则审核、程序设计和结构的审核、业务逻辑的审核、走查、审查与技术复审手册。
静态质量:标准为ISO9126,用以下几个方面来衡量:功能性、可靠性、可用性、有效性、可维护性、可移植性。

2.动态测试:通过运行被测程序,检查运行结构与预期结果的差异并分析运行效率、正确性和健壮性。动态测试由三部分组成:构造测试用例、执行程序、分析程序的输出结果。

  • 按是否手工划分

1.手工测试:就是人一个个输入测试用例然后观察结果,优点是自动化测试无法代替探索性测试、发散思维结果的测试,缺点是执行效率慢,量大易错。

2.自动化测试:在预设条件下运行系统或应用程序,评估运行结果。通常所说的自动化测试指功能测试自动化,除此之外还有性能测试自动化、安全测试自动化。自动化测试按照测试对象来分,还可以分为:接口测试、UI测试等。

自动化实施步骤:
①完成功能测试,版本基本稳定
②根据项目特性,选择合适的项目自动化工具,并搭建环境
③提取手工测试的测试用例转化为自动化测试的用例
④通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期
⑤生成自动测试报告
⑥持续改进,脚本优化

  • 按是否查看代码划分

1.黑盒测试:也称功能测试,测试中把被测的软件当作一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入和输出。

2.白盒测试:也称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,白盒指的打开盒子,去研究里面的源代码和程序结构,接口测试也是白盒测试的一种。
白盒测试方法:
①逻辑覆盖
②循环覆盖
③路径覆盖

3.灰盒测试:介于黑盒和白盒之间的一种测试,多用于集成测试阶段,不仅关注输入、输出的正确性,还关注程序内部的情况。

  • 按测试地域划分

1.国际化测试
软件国际化:开发软件的时候,使得我们软件能够适用于不同的语言和风俗,不用修改源代码就得以使软件本地化的一种技术。
2.本地化测试
软件本地化:开发软件的时候利用语言技术和工程技术,使得软件可以适用不同的语言和风俗。

  • 按测试对像划分

1.业务测试:是测试人员把系统各个模块串接起来运行,模拟真实用户实际的工作流程,满足用户需求定义的功能来进行测试的,业务测试关注需求和用户。

2.界面测试:UI测试,测试用户界面的功能模块的布局是否合理,整体风格是否一致,各个控件的放置位置是否符合用户使用习惯,此外还要测试界面操作的便捷性、导航简单易懂性、页面元素的可用性,界面中文字是否正确,命名是否统一等。

3.容错性测试
容错性测试是检测软件在异常条件下自身是否具有防护性的措施或某种灾难恢复手段,当系统出错时,能否在指定时间间隔内修正错误并重新启动系统,容错性测试包括两个方面:

①输入异常数据或进行异常操作(输入错误的数据类型、输入定义域之外的数值),以检验系统的保护性,如果系统容错性好,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃。

②灾难恢复性测试。通过各种手段,让软件强制的发生故障,然后验证系统已保存的用户数据是否丢失,系统和数据是否能尽快恢复。

4.文档测试
国家有关计算机软件产品开发文件编制指南可以分为3大类:开发文件、用户文件、管理文件。
在实际的测试中,最常见的是用户文件的测试,例如手册说明书等。
文档测试的关注点:文档的术语、文档的正确性、文档的完整性、文档的一致性、文档的易用性。

5.兼容性测试:兼容性主要指软件之间能否很好的运作,会不会有影响、软件和硬件之间能否发挥很好的效率工作,会不会导致系统的崩溃。
兼容性测试包括:平台测试、浏览器测试、软件自身能否向前或向后兼容、测试软件是否与其他相关软件兼容、数据兼容性测试。

6.易用性测试:易用性是交互的适应性、功能性和有效性的集中体现。易用性属于人体工程学范畴,易用性测试又叫用户体验测试。

7.安装测试:测试程序的安装、卸载。

8.安全测试:安全测试是一个相对独立的领域,需要更多的专业知识,例如web的安全测试,需要熟悉各种网络协议、TCP/HTTP、防火墙、CDN,熟悉各种操作系统的漏洞,熟悉路由器等。

9.性能测试:检测系统是否满足需求规格说明书中规定的性能。通常表现在以下几个方面:对资源利用进行精确度量、响应时间、吞吐量(TPS)、日志事件(如中断、报错)、辅助存储区(如缓冲区、工作区的大小)、对执行间隔、处理精度等进行的监测。

10.内存泄漏测试:很多软件系统都存在内存泄漏的问题,尤其是缺乏垃圾回收机制的“非托管”语言编写的程序,造成内存泄漏的原因很多,最常见的有以下几种:分配完内存后忘了回收、程序写法有问题无法回收、某些API函数使用不正确等。
内存泄漏的检测:使用内存泄漏检测工具进行检测,例如Visual Leak Detecter 、Bounds Checker 、mtrace等。

以上是关于软件测试软件测试的划分的主要内容,如果未能解决你的问题,请参考以下文章

如何测试淘宝 的搜索系统???

面向对象第四次总结性博客

测试工程师面试准备之----测试基础

测试划分

黑盒测试总结

软件测试4