接水时,突然想到了一些生活中的事情,什么事情呢?每天都要上班,都要坐车,都要提前到WorkPlace,然后又想到了自己的工作。于是呢,突然就想到了这么一些东西:感觉好像做什么事情都会存在“测试过程”这四个字(一点点职业病哈,见谅~),为了让这份假想能成为以后教育新人的经验,特地花点小时间来记录一番。
为什么会这么说呢?好吧,就拿我上班路线来实例化这些东西吧。
如果说一个测试计划里包含测试进度的控制、测试策略的制定和对测试风险的评估(计划针对个人),那么:
假设我的测试计划是从家里到工作地,则测试进度的控制就相当于是从家里怎样到达工作地,通过对测试过程的分析,制定出各种测试进度的安排,如:最好的预期结果是直接坐25路公交到达目的地,最省钱最合理;如果开始在站牌等了很久都没有等到25路过来,那么就要考虑坐的士了;如果在坐25路的过程中突然公交出了故障而不能继续行驶,就得换另一辆25路或别的车了,确保整个测试过程顺利进行。
至于测试策略,说白了就是制定出各种测试方法以求更全面的测试覆盖率来保证每一条路径都受用。如:等价类,从家里到工作地的各种路线都是有效等价类,从家里到其他地方的路线都是无效等价类;边界值,从家里到工作地后的时间不能比上班时间大,不能不去工作地,也就是不能比预期行程时间小;因果图,从家里到工作地坐25路的同时不能坐460不能走路,坐460的同时不能坐25路不能走路,走路的同时不能坐公交,各种条件都不能相互共存,且最终目的都是到达工作地;正交分解实验+决策表,不管是用什么方式,不管是直接坐车,还是中途转车,还是中途行走,最终目的都是到达工作地。 等等~ 当然,这些都只是黑盒测试策略包括自动化,俗话说,自动化通常是用于回归测试,所以做自动化,最好就是挑选出稳定的,重用性高的用例来实现了,如:乘坐25路、460、出租车或行走,这四种每天都有可能会执行的测试用例用来跑自动化是再适合不过了,因为方法稳定,重复操作率最大。
而白盒测试策略就与黑盒大不同了,什么是白盒测试?考虑程序内部结构与实现过程,根据程序逻辑来巡测代码的执行结果,是否覆盖了所有主线路径与分支路径。如果说黑盒是测试乘车行程时长和预期是否能到达,那么白盒就是测试公交车的内部实现,如:25路公交的马力是多大?最多能行驶多远?能承载多少乘客?发生事故后是否具备相应的处理方法?拿人来举例也是一样,黑盒是测试一个人能否走到工作地,或跑步到工作地,行程中生病后会做出什么样的处理;而白盒则是测试一个人的体力怎样,耐力怎样,穿的是什么样的运动衣和鞋,途中生病后可能是生的什么样的病,吃相对应的一些药片并继续行走。
最后一点就是对测试风险的评估,这一点很好说,例如:在行走的过程中突然得了重病停滞不前,治疗不好该怎么办?坐公交时出了重大车祸或出现了地震而断了前路该怎么办?坐黑车被拐卖了又该怎么办(都是打比喻)?这些都属于测试风险,如何有效地做出正确对策(如:得重病后换的士去医院并请假,出现地震不可前进用直升机吊走,坐黑车被拐卖身藏防身技术)才是王道,这些对策都能有效地控制整个测试过程,使风险的危害降到最小化。
其实只要多多留心生活,就会发现,整个人生都是一个测试过程,有各种各样的生活需要经历测试,积累的经验越多,自然学到的也越多。就写到这里吧~ 整篇文章全为本人原创,如有雷同,纯属不可能的事~
——转载请记住这位神:袁帅