zoukankan      html  css  js  c++  java
  • 软件工程学习笔记一:单元测试

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

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

    1.设置数据

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    Seafile V4.1 安装笔记
    mysql int(3)与int(11)的区别
    python命令行参数处理模块 optparse 使用参考
    Python标准库 urllib2 的使用
    Python默认模块 os和shutil 实用函数
    ApacheBench 使用教程
    ThinkPHP中PATHINFO模式优化
    Perl中的特殊内置变量详解
    Perl内置变量速查表
    eclipse jetty debug
  • 原文地址:https://www.cnblogs.com/claraxia/p/5315607.html
Copyright © 2011-2022 走看看