做一个简单的数学题,一个软件有一百个功能点,这个软件大吗?很小。如果从测试的角度来说,它可能有的功能点组合有多少?概率,C100、100,C100、100的数学等等多少?等于100的阶乘,已经是天文数字了,从数学模型来讲,测试无法建立,这个目标你可以影响,但保证不了。
验证需求和实际软件的相符程度,同意这个举手我看看?同意吗?软件和需求相符就证明软件的质量高吗?需求就做错了,你怎么办?
对开发团队进行有效的考核?行吗?好象都不对。
我现在提出两个目标,这两个目标可能在其他的书上,或者在网上都看不到,最近才提出来的,两个什么目标?
第一个,稳定控制软件产品质量的振幅,ISO做了那么多质量管理体系,它能保证单一的产品进来就肯定出去是一个优秀的产品吗?不可能。它能做什么?是以统计学的观点控制软件产品质量的振幅,你通过我的流程,出现一个高品质产品的概率高,同意吗?是概率高,不可能完全控制。
稳定控制软件产品质量的振幅这件事情不归测试人员管,归谁管?头长是通过SEPG组,建立度量体系,进行有效跟踪和监控实现,是统计学。
第二个,测试做什么?高效的提高软件测试用例的覆盖率。好的测试人员和差的测试人员有什么区别?放在日常工作中,就是你想不到,同意吗?你的组长或者你的老板永远比你想的多一点,多的那点是什么?就是测试用例的覆盖度,同意吗?我们找了两个关键字,一是高效,二是覆盖度,后面我会证明这两个怎么度量。
怎么样能高效?通过测试用例的复用来达到高效,以数据驱动的形式自动化测试用例可以提高效率,通过有效的测试用例设计方法,扩大覆盖率。我现在要做什么事情?首先我把软件测试的质量分解为一个目标,这个目标是高效提高软件测试用例的覆盖度,把一个复杂的问题简单化,简单为一个明确的问题。下面我又做了分解,我把高效提高软件测试用例的覆盖度分为三个指标。就是通过测试用例的复用,以数据驱动的形式自动化测试用例,通过有效的测试用例设计方法扩大覆盖率。
这是典型软件测试过程文档体系结构,我们来看通常情况下,我会把整个软件测试划分为几个步骤,首先最关键是软件测试策略的制订,测试策略提供几个信息,项目实施范围,可见可衡量的指标,验证方法和阶段。通常情况下,我们会把整个软件测试过程划分为单元集成系统。从所有的软件工程或者从所有方法来说,都需要怎么做呢?都需要单元集成系统,一个都不能少。通常在不同企业里面做不同程度的裁减,单元测试必须要做吗?
WPS1.0你相信第一个版本出现的时候会通过单元集成系统测试,我不相信,你们相信吗?我肯定也不相信,但是不影响这个产品。产品在每个阶段有不同的竞争要求。WPS刚出现的时候,是功能上的竞争,填补市场空白,只要有就OK,只要能用就OK,当竞争到一定程度,WPS到现在你能相信它不进行单元集成系统测试就可以卖吗?不可想象。你现在就是选择适合你的过程,当我们明确完策略以后,我们一般会把测试分为计划、方案、实施、报告几个阶段。计划主要解决五个W问题,谁,什么时间、什么地点,干什么事,由谁来完成,就是做资源合理分配,然后进行专项测试方案。专项测试方案就是性能测试方案,安全测试方案,易用性测试方案,加密狗测试方案等等,然后进行测试实施,测试实施主要做两个内容,首先是测试记录,通过写记录证明你执行到哪儿,没通过的写缺陷报告,整个阶段完成写阶段完成报告,包括测试评估,然后做测试结论。
通常情况下测试策略我们会明确以下几个内容:
1、明确测试需求,你要对什么进行测试,这个点很重要,重要到什么程度?这么多人做软件测试,我问大家一个问题,如果产品发布了以后,产生了质量问题,谁的问题?是测试员的问题吗?是吗?同意是测试员的问题,举手我看看,不同意是测试员的问题我看看。经过你最后一道手发布出去了,产品出现问题了,你说不是你的问题,你能解释吗?很重要一个问题要明确测试的工作范围,如果在你测试范围内发现问题,肯定是你的问题,在你测试范围外发现的问题,就不是你的问题吗?不一定。我们要明确测试工作范围,需要测试的对象,达到的目标等,可以来源于软件需求,个人经验,以前发生的错误等。我们要确定测试目标,确定测试类型和方法,测试风险分析。
文章来源于领测软件测试网 https://www.ltesting.net/