对于测试来说,最重要的也是首要的就是让自己站在产品经理的位置上面进行问题的思考,这样可以举一反三,加深自己的理解。
一 软件测试概念明确:
程序员将代码构造完成,生成可执行文件之后:
1.定义:
1.1通过人工或者自动的手段,对被测对象进行检测的一系列的活动,目的在于发现被测对象是否实现用户的需求,以及实际结果与预期结果之间的差异。
1.2 什么是软件?①源代码②用户手册③配置数据
2.目的:
2.1 发现被测对象和用户需求之间的差异(找BUG)
2.2 通过测试活动,发现并解决缺陷。以增加人们对被测对象的质量信心。
2.3 通过测试活动,获取被测对象的质量信息,为决策提供数据信息!尤其对于产品上线很重要、
2.4 通过测试活动,预防缺陷,从而降低之后研发过程中相关问题的产生。
(简而言之:我们的目的是为了证明我们测试的软件是有缺陷的!)
3.原则:
3.1 测试证明软件存在缺陷
3.2 不可能执行穷尽测试------比如:软件在正常环境下运行正常,但是在特定环境下由于硬件等其他因素导致直接不可用
3.3 测试存在群集现象-----大部分的缺陷集中在20%的功能上面,即:用户最常使用的一部分功能。
3.4 测试应尽早启动,尽早介入-----降低之后的开发以及维护的成本。
3.5 杀虫剂悖论------在测试的过程中,需要不断的变换方法,从多个因素来找到存在的问题。
3.6 不同的测试活动存在不同的测试背景----这个是根据产品的应用场景,功能业务上着重注意的关键点进行重点分析。
3.7 不存在缺陷的谬论-------就算是完美的代码,也要贴合用户群体。