探索性测试的目标
1:理解应用程序如何工作
2:强迫软件展示其全部能力
3:找到缺陷
4:针对测试方法,需要掌握
· 哪些测试方法可以用,如何使用?
· 每种方法的代码覆盖率
· 每种方法可以发现哪类缺陷?
全局探索性测试可解决的问题
1:设计测试用例的策略?
2:测试用例应覆盖软件的哪些功能?
3:哪些功能应放在一起测?
4:先测哪些,后测哪些?
5:使用什么策略,使多个测试人员的工作不重叠,相辅相成?
全局探索性测试方法
测试要点:
该部分功能作为测试。
指南测试法:
通过阅读用户手册或者需求文档等,严格遵照文档的建议执行操作。热门区域(干净安全),主要特性(实用可靠)。
卖点测试法:
热门景点一定有其吸引人的理由。离开这些点,该地方将变得不具有吸引力。
1:软件吸引客户的特性就是卖点,确定那些特性能够吸引用户,那些是软件的卖点。
2:销售人员都是为卖点测试法提供信息的绝佳来源。这个测试方法的新奇之处是使用竞争对手的用户手册来测试自己的软件。这非常适合竞争对手是市场领先者,而自己产品在其后紧追希望超越对手的情况。进行卖点测试法的人员应该观摩销售的演示,观看销售录像并跟着人员一起拜访客户。
注意:
出席销售人员给客户的演示会,与销售人员保持良好的关系,这些都会使测试人员在使用卖点测试法时获得优势。
地标测试法:
通过指南测试法和卖点测试法,可以提前确定那些关键的软件特性,也就是这里的地标。选择完地标后,需确定它们的顺序,然后从一个地标执行到另一个地标,直到访问了列表中所有的地标。
地标变种:选择多个起始地标,在执行开始后增加新地标,改变各个地标的前后访问顺序等。
指南测试法,卖点测试法,提前确定那些关键的软件特性(特性==地标)。
选择多个起始地标->中间增加新的地标->改变地标的访问顺序
极限测试法:
向软件提出很多难以回答的问题。比如:如何使用软件发挥到最大程度,哪个特性会使软件运行到其设计极限,哪些输入和数据会耗费软件最多的运算能力,哪些输入可能欺骗它的错误检测例程,如果软件用于产生某些特定的输出时,使用哪些输入和内部数据可以不断挑战软件的这种能力。
极限测试法变种:麻烦测试法
创建最复杂的订单->购买最多的商品->缺货情况下,选择多个商品->不断更新信用卡
(选出最贵商品,先购买,马上退货)
快递测试法:
数据在向软件不断的流动(存储在内部变量->修改->使用->传递)
1:这个测试中,测试人员应该专注于数据;
2:应该确认那些被存储起来的输入数据并“跟随”它们走遍软件。
遍历测试法:
检查特性与模块。通过寻顶一个目标(如所有的菜单项,所有错误消息或者所有对话框),然后使用可以发现的最短路径来访问目标包含的所有对象。测试中不追求细节以免影响测试速度,通常只检查那些明显的东西。
深夜测试法:
营业时间之后,软件中执行卖点测试的代码可能不运行了。但是还可能执行各种维护任务,将数据归档、备份文件,等等。