`

单元测试框架进行自动化测试

阅读更多


到底单元测试是做什么用的?单元测试是一种测试,它不是代码的一部分;单元测试是最低层级的测试,它只保证函数的可靠性,不保证其它;单元测试应该能保证每一个函数的可靠性。

单元测试是一种测试,所以,我们应该以一种测试的眼光去面对它——我们要测试正常情况,边界条件,要对它的测试目标——函数做黑盒分析,白盒分析,选择合适的测试数据,构建测试场景和测试环境——总之,一切测试应该做的事情,单元测试都不应该省略。

理论上来说,单元测试和其他测试一样,也是可以纯手工完成的:我们可以写一段某函数的测试代码,然后输入我们的测试输入,观察测试输出,并跟期望值做比较——事实上这种人工测试,写了一段时间代码的人应该都不会陌生。但是,单元测试有一点特殊性,就是在一个系统中,函数会非常非常的多,变化也比软件的功能频繁的多。面对这么多的函数,这么频繁的变化,纯手工测试是不现实的。所以,我们必须要引入单元测试框架进行自动化测试。注意,这里的单元测试框架只是实现自动化测试的一个手段,对单元测试本身并不产生任何影响——没有单元测试框架,单元测试一样也是可以进行的,只是会痛苦很多。

单元测试框架引入的目的只是为了自动化单元测试,简化单元测试的步骤。所以,对于测试代码的编写,重点应该是:如何搭建测试环境、测试场景;如何选择测试用例;如何校验测试结果。对于测试代码本身,应该尽可能的简单,能不要使用技巧尽量不要使用,目的在于测试,如果测试本身过于复杂,我们不能保证测试的正确性,测试这个工作就白做了。

刚刚提到单元测试是对函数的测试,因此,测试必须是以函数为单位的。每个函数应该拥有自己单独的一个测试,这个测试中,应该针各个方面进行完善的测试,这样我们才能保证这个函数的功能是如我们所愿的。但是单元测试不需要负责函数的组合工作情况。那应该是功能测试的工作,而不是单元测试的工作。如做app功能测试,这个功能测试就是在假定所有函数都工作正常的基础之上,对这些函数组合形成的功能模块进行测试。这种测试,视情况而定,可以使用单元测试框架,也可以使用其他自动化测试方法或者甚至是使用纯人工测试。
分享到:
评论

相关推荐

    利用单元测试框架进行自动化测试

    顺便介绍一下单元测试框架进行自动化测试的方面这不是一篇严谨的技术文章。只是一些个人不成熟的感想。在实际开发过程中,我发现在单元测试代码中经常会出现两种情况:最近参与的一个项目里我把单元测试放到很重要的...

    WEB自动化测试框架文档.doc

    【文档标题】:“WEB自动化测试框架文档.doc” ...总的来说,这个WEB自动化测试框架文档提供了全面的测试策略,从设计测试用例到执行、结果分析,覆盖了自动化测试的各个方面,旨在提升整个软件开发过程的效率和质量。

    eclipse下利用ant、junit进行自动化测试例子源码

    本示例主要展示了如何在Eclipse集成开发环境中利用ANT构建工具和JUnit单元测试框架进行自动化测试。以下是关于这些知识点的详细说明: 1. **Eclipse IDE**:Eclipse是一款流行的开源Java开发环境,支持多种语言的...

    MT:美团'Mario'自动化测试框架.pdf

    文档中提到的“MT:美团'Mario'自动化测试框架”就是美团公司在自动化测试领域自主研发的一套自动化测试框架,从美团内部的业务需求和实际应用出发,旨在提高测试效率,保障软件质量。 Mario测试框架的核心特点包括...

    CppUTest-基于C++的自动化单元测试框架

    CPPUTest 虽然名称上看起来是 C++ 的单元测试框架, 其实它也是支持测试 C 代码的.(由于CSDN必须2分,实在抱歉),安装方法:解压后,进入到目录中:./configure make make install即可

    自动化测试框架基础指南.pdf

    在选择自动化测试框架前,需要问自己多种问题,包括需要进行哪个层级的自动化测试、如何管理测试数据、如何选择测试工具和资源等。 六、常见的开源和商业自动化工具 常见的开源和商业自动化工具包括Selenium、...

    C简易自动化测试框架

    C语言,尽管不如Python或Java那样在自动化测试领域常见,但因其高效、简洁和跨平台的特性,依然被一些项目选择用于构建自动化测试框架。 这个"简易C语言搭建的自动化测试框架"可能包括以下几个关键组件: 1. **...

    java自动化测试框架

    例如,JUnit是最基础的单元测试框架,适合对单个类或方法进行测试;TestNG则提供了更丰富的功能,如并行测试、测试套件管理等。对于更复杂的集成测试和端到端测试,我们可以选择Selenium WebDriver,它支持多种...

    基于java的ui自动化测试框架

    总的来说,基于Java的UI自动化测试框架结合了TestNG、Selenium WebDriver(或Appium)以及一系列辅助工具,为测试人员提供了强大的测试能力,能够有效地对Android应用的用户界面进行自动化测试,确保产品质量。...

    自动化测试框架

    本文将详细介绍一种基于CODEUI的自动化测试框架的设计与实现,该框架采用文本模板引擎(T4)来生成相关的自动化测试代码。 ##### 单元测试框架 单元测试框架是用于验证应用软件中的最小可测试单元的工具。常见的...

    自动化测试框架,支持接口自动化、WEB UI自动化、APP UI自动化

    首先,接口自动化测试是针对应用程序的接口层进行的测试,主要验证服务之间的通信是否正常。它通常使用HTTP/HTTPS协议,通过发送请求并检查响应来确保接口功能的正确性。这里提及的框架可能包含了如JUnit、TestNG等...

    Jmeter接口自动化测试框架

    Jmeter是一款功能强大且广泛应用于接口自动化测试的工具,它提供了丰富的测试功能和插件,能够满足各种测试需求。本文档主要介绍了如何使用Jmeter实现接口自动化测试,包括安装Jmeter和Ant、配置环境变量、创建框架...

    基于Springboot+Mybatis打造接口自动化测试框架-全网最新最全最具技术含量的接口自动化测试及框架编写

    4. **自动化测试框架**:为了实现自动化测试,我们需要一个测试框架,如JUnit或TestNG。它们提供了一种组织和执行测试用例的方式。在接口测试中,我们可以利用Mockito来模拟依赖,避免真实调用其他服务,保持测试的...

    EmbedC_TDD__1 Keil中搭建自动化单元测试框架Unity

    本主题将聚焦于如何在基于C语言的嵌入式环境,特别是在Keil IDE中,利用Unity这个轻量级的单元测试框架来搭建自动化测试流程。 Unity是一个专门为微控制器和嵌入式系统设计的开源单元测试框架。它的特点是小巧、...

    Android自动化测试框架

    自动化测试能够帮助开发者快速发现和修复问题,提高软件质量,并在新版本发布前进行充分验证。 二、Android自动化测试的重要性 1. 提高效率:自动化测试相比手动测试更快速,能够节省大量时间,尤其在回归测试阶段...

    优秀的自动化测试框架。

    优秀的自动化测试框架。优秀的自动化测试框架。优秀的自动化测试框架。优秀的自动化测试框架。优秀的自动化测试框架。优秀的自动化测试框架。优秀的自动化测试框架。优秀的自动化测试框架。优秀的自动化测试框架。...

    Python 自动化测试框架-pytest.pdf

    Pytest是目前Python社区中使用非常广泛的单元测试框架,它之所以被称作最强大的自动化测试框架之一,是因为它具有简洁直观的语法、易于编写测试代码以及强大的扩展能力等特点。以下是对Pytest框架使用的详细知识点...

    pytest自动化测试框架源码02

    压缩包中的`pytestDemo`可能包含了上述各种功能的示例代码,你可以通过运行`pytest pytestDemo`来执行这些测试,查看它们如何工作并学习如何利用pytest进行自动化测试。同时,通过阅读源码,可以深入了解pytest的...

    禅道自动化测试框架ZenTaoATF.zip

    ZenTaoATF是由禅道开发团队开发的自动化测试框架,它只有一个脚本文件,可以支持各种脚本语言编写的自动化测试脚本,语法简单,使用灵活,后续会和禅道项目管理软件进行绑定和集成。 它的基本工作原理如下: 首先,...

    接口自动化测试项目实战已经框架源码

    在IT行业中,接口自动化测试是软件测试领域的重要组成部分,它主要针对系统间的接口进行测试,以确保不同组件或服务之间的数据传输正确无误。在这个"接口自动化测试项目实战已经框架源码"中,我们将深入探讨如何实施...

Global site tag (gtag.js) - Google Analytics