关于执行测试优先级发现一个很搞笑的问题,理论上优先级较低的测试用例反而得以提前执行。
主要的原因有两个:
一是它简单,一眼就可以看出程序是对的还是错的;
二是优先级高的测试用例执行受阻,优先级高的测试用例也较容易遇到bug,而且影响的范围也比较广,难以顺利的继续执行。
执行顺序改变另外的原因(举例):
一个操作,其测试优先级比较高,同时操作过后产生一个优先级较低的后续动作(比如查看此次操作的记录)。
理论上说,优先级高的操作A后,接着执行下一个优先级高的操作B。但如果执行操作A后,接着检查它产生的后续动作,这样的时间利用率较高。
另一个例子:两个在执行顺序相邻的操作,但也不相关,一个优先级高,一个优先级低,顺序执行则节省时间,分两次执行则浪费一些时间。
所以实际执行测试用例的时候往往是优先级高的测试用例和优先级低的测试用例穿插执行。不过总的原则还是先执行优先级高的测试用例,不行的话再执行优先级较低的,这样不至于浪费时间。