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


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

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

    1.设置数据

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    最全的ASP.NET开源CMS汇总
    excel学习range
    多线程写文件异常(正由另一进程使用,因此该进程无法访问该文件)的解决方法
    EXCEL之Range,cells,offset,end用法
    天佑中华
    敏捷测试感悟(之二)
    4月份到上海出差
    《Google API大全:编程·开发·实例》一书将在本周末的GDD(Google开发者大会)上首发
    敏捷测试感悟(之一)
    拿到了TD的3G测试手机
  • 原文地址:https://www.cnblogs.com/claraxia/p/5315607.html
Copyright © 2020-2023  润新知