• 软件工程学习笔记一:单元测试


          软件的完成一般需要多人的合作,作为团队中的一员,可以通过对自己负责的模块进行单元测试而得到一个质量高的、稳定的成果。单元测试,刚遇到这个概念是很迷茫的,在之前编写程序的过程中,一般都是在多次编译中发现自己的问题并改正之,一旦运行通过就不再管了。当然,程序和软件是不同的概念,有的软件是需要多次维护的,为了避免程序员写的某些模块被其他接手的人误解而引起软件的bug,写完代码后进行单元测试是很必要的。

         创建单元测试函数的主要步骤是:

    1.设置数据

    2.使用被测试类型的功能

    3.比较实际结果和预期的结果

         而什么才是好的单元测试呢?下面将列举一系列的标准:

    1.单元测试应该在最基本的功能/参数上验证程序的正确性(如C++中的类)

    2.单元测试必须由程序的作者来写

    3.单元测试过后,机器状态保持不变(在teardown阶段删掉单元测试创建的临时文件或目录)

    4.单元测试要快,且产生可重复、一致的结果

    5.独立性(当其他模块费时或不稳定时可以人为构造数据来进行单元测试)

    6.单元测试应覆盖所有代码路径(必须测试公开的和私有的函数/方法)

    7.对于需要长期使用的软件,最好将单元测试自动化

    8.单元测试必须和产品代码一起保存和维护

         看起来,单元测试不是一件简单的事,尤其是对于大量代码的程序,但如果不写单元测试,可能将在后期遇到更多难以修复的bug。

         因此,在编写完软件的一项功能后(如我们想要做的音乐软件的读取音乐功能),最好做一下测试。并养成做单元测试的习惯。

         引用部分出自《构建之法》,作者邹欣。

    =======================

         使用VS2015实验了一下,由于VS无法对C++进行单元测试,照着书上编写了简短的C#程序,然而依然没有成功完成单元测试。

         也许单元测试的工作需要具备更高的编程能力才能完成。

  • 相关阅读:
    Windows10下配置单机zookeeper(连接服务器上的zookeeper)
    尚硅谷Zookeeper教程学习讲义
    腾讯云服务器在防火墙上添加可访问端口(CentOS7)
    uniPaaS 2.0新功能
    uniPaas RIA 安装与使用方法
    unipaas2.0发布了,有需要试的请与我联系QQ:79982575
    UNIPAAS抢滩Web 2.0
    最简便最快速的开发工具—Magic eDeveloper/DBMAGIC/UNIPAAS
    RIA技术的应用(UNIPAAS)
    数据库开发工具Magic教程基本操作(以Magic eDeveloper V10为例,其他版本会有差异)
  • 原文地址:https://www.cnblogs.com/claraxia/p/5315607.html
Copyright © 2020-2023  润新知