如何编写测试用例?

时间:2022-03-15 00:15:30

        我认为测试用例的编写最容易体现测试工程师的测试水平,要看一个测试工程师的水平如何,只要看他的测试用例的质量就能看出作者的水平。那么如何编写测试用例呢?
        所谓测试用例,就是你测试软件时所执行的动作或输入的数据,同时还要有期望的反应或输出的数据,我一般是对一个功能点用一个测试用例,一个完整的测试用例包含以下几个部分:1、测试用例的编号;2、功能描述;3、前提条件;4、特殊规程说明;5、输入/动作;6、期望的输出/响应。测试用例的编号是给待测试软件的所有测试用例分配一个统一的编号,以便于统计和引用。功能描述是指对待测试功能点的一个解释说明,以便于执行测试用例人员能更好的了解业务。前提条件是指执行这个测试用例时需要先做什么前提条件,比如说你要测试一个通知的显示,那么前提就是这条通知已经录入到系统中。特殊规程说明是指执行这个用例时有没有什么需要注意的特殊操作,比如输入一个学生成绩时,最大值不能超过100等。输入/动作和期望的输出/响应是一一对应的,而且测试一个功能点是会有多组输入/动作和期望的输出/响应,输入/动作就是测试时所要输入的数据或执行的操作,期望的输出/响应是指输入了这些数据或执行了这些操作后,待测试的功能正确的情况下应该会输出什么或做出什么操作。
         以上就是一个测试功能点的测试用例所包含的内容,把待测试软件的所有的功能点都编写出测试用例就构成了一个完整的测试用例了。但是写出了测试用例和写出好的测试用例之间会有很大的差距的。那么什么是好的测试用例呢?我认为一个好的测试用例要注意以下几点:1、测试覆盖率要尽可能多;2、测试数据具有代表性;3、测试用例要全面、完整。
        测试覆盖率要尽可能多,那么什么是测试覆盖率呢?所谓的测试覆盖率就是指实际测试数和待测试软件的功能总数的比例,覆盖率越高就代表测试的越全面,最好是达到100%,不过实际测试中能达到100%的可能性不大,我们所要做的就是设计测试用例时让覆盖率尽可能的高。
        测试数据具有代表性就是指设计测试用例时选择的测试数据要具有代表性。比如测试一个学生成绩录入功能,其中成绩一栏可以输入的数据有无数个,我们怎么选择呢?首先把能输入的数据分类,大体分3类,第一类是大于最大值的,第二类是小于等于最大值并且大于等于最小值的,第三类是小于最小值的,然后我们从每类中挑选几个:最大值+1,最大值,最小值,最小值-1等等。这种方法就是测试方法中的等价类划分和边界值分析。关于测试方法,在以后再深入探讨。
        测试用例要全面、完整是指设计测试用例是不但要考虑正常情况,还要考虑错误情况,比如说我们不但要描述输入完整的情况,还要描述什么都不输入的情况等。
        最后还要考虑测试用例的冗余,不要意味的追求覆盖率和完整性,同时还要考虑测试用例的执行时间,尽量做到不要重复。还有测试用例写好后还要经常维护、优化,比如需求变更,或者有更好的测试用例等,经常设计、优化,才能写出好的测试用例。最好的测试用例是发现了以前别人没有发现的错误。