测试类型
按方向 :功能测试,性能测试,安全测试,兼容性测试,安装测试等
按阶段 :单元测试,集成测试,系统测试,验收测试
按测试技术 :黑盒测试,白盒测试,灰盒测试
按是否运行 :静态测试,动态测试
其他:手工测试,自动化测试,冒烟测试,回归测试
按方向分
功能测试:功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。也是黑盒测试,测试中把被测的软件当做一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据和输出数据
性能测试:检查系统是否满足需求规格说明书中规定的性能。通常表现在以下方面:
1.稳定性【例如:一万人,十万人,甚至一百万的时候系统会不会卡顿】
2.响应时间【例如:等待相应的时间是否过慢】
3.吞吐量(TPS,单位时间内成功地传送数据的数量(以比特、字节、分组等测量))
安全测试: 安全测试是一个相对独立的领域,需要更多的专业知识。如:WEB的安全测试、需要熟悉各种网络协议、防火墙、CDN、熟悉各种操作系统的漏洞、熟悉路由器等,一般需要借助安全测试工具来进行测试
兼容性测试: 兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。
安装测试:测试程序的安装、卸载。最经典的就是APP的安装、卸载。
按阶段分
单元测试:对软件中的最小可测单元进行检查和验证(如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等),单元测试由是开发者编写一小段测试代码,用于检验被测代码的功能是否正确;测试目的在于发现单元内部存在的各种错误。
集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试;目的是检查软件单元之间的接口是否正确,构成系统的所有模块组合能否正常工作。
系统测试:是对整个系统的测试,将硬件、软件、操作人员看作一个整体,以验证软件系统的正确性和性能及软件所运行的软硬件环境等是否满足其规约所指定的要求。
验收测试:是部署软件之前的最后一个测试操作,验目的是确保软件准备就绪,向软件购买者展示该软件系统满足其用户的需求。验收测试一般分为2种:
alpha测试:非正式验收测试,内测,内部用户进行测试
beta测试:公测,实际用户参与使用
按测试技术分
黑盒测试:黑盒测试也是功能测试,测试中把被测的软件当做一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据和输出数据。因此黑盒测试又叫功能测试或数据驱动测试。
黑盒测试方法包括:等价类划分、边界值分析、因果图分析、错误推测法、功能图分析等
白盒测试:白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是指打开盒子,去研究里面的源代码和程序结果。因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试方法包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路 径覆盖等。
灰盒测试:灰盒测试是介于白盒测试和黑盒测试之间的一种,灰盒测试多用于集成测试阶段,不仅关注输入、输出的正确性,同时也关注程序内部的情况。
按是否运行分
静态测试:静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。【静态测试属于白盒测试】
动态测试:动态测试是指通过运行被测程序,检查运行结果与预期结果的差异。【黑盒测试属于动态测试】
其他
手工测试:手工测试是由人一个一个的输入用例,然后观察结果,和机器测试(指使用机器去测试,例如:手机、电脑)相对应,属于比较原始但是必须的一种。
自动化测试:所谓自动化测试,就是在预设条件下运行系统或应用程序,评估运行结果。(预先条件包括:正常条件和异常条件)。简单来说,自动化测试就是把人为驱动的测试行为,转化为机器执行的一种过程;常见自动化测试分为接口自动化和UI自动化。
冒烟测试:可以根据其名称理解为该种测试耗时短,仅用一袋烟功夫足够了;其实是对软件基本的功能进行测试,测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本的功能正常,保证软件系统能跑的起来,可以进行后续的正式测试工作。
回归测试:是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误,回归测试的困难在于不好确定哪些内容应当被重新测试。
版权归原作者 梁巧星 所有, 如有侵权,请联系我们删除。