软件测试工作中碰到的三个问题 软件测试工具
1、测试数据÷运行数据的互不影响
在做测试时,通常都须要生成测试数据,在测试运行完后又要进行测试数据的删除责任,当测试和运行用的是同一个库的状况下就很随意涌现测试数据和运行数据相互影响的景象,这个时分在写测试的时分就要特别的注重了,既不能让运行数据影响了测试的后果,又不能让测试数据影响到了运行数据。
通常来说,为了处理这个问题,会采取测试库和运行库离开的方法,采取这种方法的状况下就对比简朴了,不过有些时分还是挺费事的,终究要创立数据、删除数据。
还有一种特别的状况,例如一个这样的名目:
名目已经上线运行了,这个时分做了一个新的流程,在摆布了新的流程到运行环境后,通常须要在运行环境中测试一下,这个时分问题就涌现了,测试数据和运行数据并行,这个时分就要缺乏的琢磨测试数据和运行数据的互不影响。
当然,上面的项主旨状况是一个对比特别的状况,就像有些冤家说的,名目计划的好的话是会有测试环境和运行环境的不同的,测试环境须要和运行环境完整一致,在有新增的货色须要摆布到运行环境时先在测试环境进行测试,测试没问题后再通过晋级脚本摆布到运行环境中。
这些方法确凿是能够处理测试数据÷运行数据的相互影响的问题,不过认为还是有些的费事,认为假如有一个工具能够资助防止测试数据÷运行数据的相互影响,同时又能够让你在写测试的时分很随意的创立测试数据,又不必担忧其余测试数据或运行数据对它形成影响,最后测试数据又能够平安的被消除,^_^,有个这样的工具就好了。。。。。。。。。
或许说大家在实践中遇到测试数据÷运行数据并行的状况下会怎样办呢?……
2、单元测试
始终以来都实施TDD,不过发明我做单元测试的方法依然不准确,只管在测试的基础准则——“测试肯定状况下单元的履行能否和预期一致“上是准确的,但进行单元测试的方法并不准确,就像有的冤家所说,我做的是集成测试,由于我做单元测试时会去把该单元依靠的其余的对象所须要的货色也去进行模仿,这样说起来能够过于生涩了,举个例子吧:
有一个效劳类,该效劳类依靠一个Dao类,通过Dao从数据库中获取相干的信息落后行处理,我以前做单元测试的做法就是首先发生出测试数据,由Dao先将测试数据进行耐久,之后再通过调用效劳类的方法去履行,“肯定的状况“通常都是由测试数据来掌握,这点没什么不对,就是掌握所测试的单元的输出。
测试的基础准则都是检讨在肯定的输出的状况下输出能否契合预期,作为单元测试而言上面的做法不准确的中央就是去发生测试数据并由Dao先耐久,其实作为单元测试而言,只须要测试以后对象履行的准确性,也就是说它已经假如了它所依靠的其余的对象发生的后果,这样的单元测试才是有意义的,而且也变得更随意写了,之前我所采取的那种测试其实是集成测试……
这样说了后其实就很随意理解单元测试了,依然是上面的效劳类,它的单元测试的写法应当是去Mock出Dao履行的后果,当然,这个时分就要模仿Dao在返回几种状况下效劳的履行状况了,这个是正常的,就是去掌握效劳的输出,这样能够看到,其真实单元测试中是不会涌现多少测试数据的状况的,除了 Dao,而且也不必去关切其所依靠的对象的履行的准确与否,以及所依靠的对象是不是还依靠别的对象,能够保障测试的规模就是本单元。^_^