软件测试朱少民答案

  • 格式:docx
  • 大小:19.72 KB
  • 文档页数:15

软件测试朱少民答案【篇一:朱少民《软件测试的理念与创新】方面跟大家交流:1、软件测试基本理念2、日常测试工作理念3、面临的新挑战4、测试创新-新理念从我个人来讲,这个理念非常重要,你先有一个理念,相当于“出发点”,一个员工工作做得好不好,态度很重要,态度决定一切,态度非常积极的话,遇到一点困难、遇到一些挫折,也不会气馁,困难挫折反而是财富,将来会做得更好。

你发现bug确实不是很重要,你要把bug找出来进行分析,bug产生的原因,将来不产生bug更重要。

一个理念对我们来讲很重要,一个人有什么样的理念,决定你用什么样的测试方法、用什么样的测试策略,希望大家建立一个正确的理念,把测试做得更好,个人也会进步更快。

你对软件测试的基本看法,软件测试究竟干嘛的。

问题可能大家都知道,但是要经常问自己,软件测试究竟起什么作用,至少软件测试不是目的,肯定是一个手段。

大家一定要想到,我们不是为了做软件测试而做软件测试,肯定为了质量。

一个基本观点或者一个基本认识决定你怎么做软件测试。

软件测试跟质量息息相关,软件测试是质量保证手段,为了提高质量而进行的重要工作。

我们对质量的态度也很关键,你对质量的态度决定你怎么做软件测试。

上午我们从段先生这里听到,对缺陷不要太在意,你要有一个适当的态度,以前有一个bug或者说缺陷,可能会很害怕,你不需要害怕。

就像英特尔要做芯片,一旦生产的时候出现一个bug,问题就很严重,但是在互联网好一点,如果出现问题了,及时打一个补丁,问题马上可以修正,快的话几分钟,慢的话一两天也能修正,这跟传统软件确实不一样,以前买windows产品,都是用软件包的,直接通过发行渠道发行下去,如果发现问题,要重新生产、重新制作,再到发行渠道,这个过程很长,而这是互联网有利的地方。

这不是说我们把质量的要求降低了,而是侧重点不一样,我们讲有些bug不能容忍,而现在强调客户体验,这包括腾讯老总,包括淘宝老总,他们都非常重视,对客户体验非常强调。

就像史蒂文乔布斯的ipod,为什么这个产品做得这么好,就是客户体验做得好,他们做的产品不多,ipod、ipad、iphone,现在股票几百美元,市值也超过微软,就是怎么把客户体验做好,把客户体验权重放的很高。

第三点,测试工作当中有一些基本理念和基本认识,做某一项测试工作,写一个测试计划,或者写一个测试文档,你也应该想达到一个什么样的目标,这个目标是比较重要的。

你有什么样的目标也是由你的理念决定。

不同的认识就有不同的理念,对一个东西认识不对了,就可能产生一个不对的理念,有一个正确的认识,就可能有一个正确的理念。

你对于一个软件测试或者说软件质量或者说软件开发,甚至产品发布或者客户需求都有一个正确认识,你就会产生一个正确理念。

软件测试概念,一起复习一下,因为软件测试概念也是在不断发展的,最初讲软件测试为了验证程序有没有问题。

“测试是为了发现错误额执行程序的过程”,核心就是发现缺陷,在七十年代或者八十年代,大家普遍都是这样一个认识。

过了十年或者二十年,大家对软件测试有一个更全面或者更深刻理解,你不仅仅为了发现程序里面的问题,应该对整个软件测试或者说系统运行的时候有一个完整评价,对质量评估。

有时候发现十几个问题,但是你概括起来是其中一个问题,就像对这个界面设计不合理,或者逻辑不清楚,这样客户体验就不好,虽然你发现了十个bug,你得到的一个评估结论是客户体验不好,或者说用户界面设计不好,这样对产品质量作出一个结论或者说做出一个评估,这比你发现一个缺陷更重要。

从现在的角度从敏捷测试来讲有更新的理念或者认识。

软件测试简单理解就是一个质量检验,就像在传统企业大家知道,一个产品出来,不管是手机还是电脑,都要通过质量检验,刚开始质量不稳定的时候,每个产品都要检验,等这个产品比较稳定的时候,不需要对每个产品进行检验,会做抽样检验。

一个批次的产品出去,必须经过检验,没有检验不能出去。

检验相当于个产品质量控制,次的产品或者差的产品不能出去,出去的产品都是保证质量的。

把软件测试扩展,就像我们经常把qa质量保证结合起来,在许多企业不叫测试部,而是叫qa部或者质量部,你不仅仅是一个质量检验,应该有一个质量保证,质量保证应该比质量检验更上一个层次。

如果从传统概念来讲,你要对一个过程有控制,保证生产或者开发这个软件产品过程是没有问题的。

你们觉得软件测试有哪些基本理念?同学:为了满足客户或者说用户需求而产生的工作,包括验证bug或者检测,以客户为中心。

朱少民:你认为最基本理念以用户为中心?同学:是。

朱少民:最关键的是以用户为中心,一切从客户角度出发,因为测试是质量保证最重要手段,测试根源在于客户真实需求,你要真正抓住客户需求,刚才讲的客户体验,现在不是没有信息的社会,而是信息太多了,网站太多了,现在团购网就有一千多家,每一个用户有多少时间好好品位网站,他很快了解你的网站,这个体验如何立刻抓住用户的心,就像吸引客户眼球。

客户体验不好,人家立刻去别的网站,这跟以前客户端软件不一样,要下载、安装,而现在不需要安装、卸载,只要用浏览器就可以,一切从客户角度出发,想客户所想,这是我们做测试的基本。

还有几个基本理念,“客户至上、质量第一”、“尽早测试”、“全程测试、持续测试”、“测试总是有风险”。

有一个人提问,他测一个东西不知道怎么保证质量,怎么保证不出问题,段先生也讲我不能保证任何软件上去没有问题,这也是我们头疼的问题,所以你要意识到测试总是有风险。

“尽可能实施自动化测试”,从我理解来讲,大概就是这五个基本理念,这五个理念在今天也是能用的,可能以前就有。

“尽早测试”,大家都知道这个理念,为什么要尽早测试,“缺陷发现得越早,bug修复越容易,成本约低”,在需求里面存在一个问题,你在需求的时候没有修正,在设计的时候,基于对用户错误的理解,出的问题更大。

如果一个需求问题你写出代码,通过功能界面操作发现问题,如果要返工也是更难的,因为代码已经写出来了,设计要改,需求要改,代码也要改,在需求的时候发现问题,就在需求的时候改掉。

“对需求,设计理念更深,质量更有保证”。

从成本来讲,你发现的越早,成本会越小,另外本身对于测试也有帮助,更早介入需求,对设计进行验证,肯定要对设计和需求有更多了解或者更深入,反过来把测试计划写的更好,能更好的进行测试,最终你的产品质量有更好的保证。

“全程测试和持续测试”。

测试是不间断的,任何时候都要进行,我们刚才看到对软件测试的概念,发现程序里面的错误,需求设计做完之后,把代码写出来,程序可以运行,发现程序里面的问题,上世纪七八十年代,大家对测试主要基于这样一个概念,代码写完之后,程序写好了,让程序人员做。

今天也有很多公司这么做,或者不是很规范、不是很成熟的小企业这么做,没有专职测试人员,开发人员把这个东西写好了,交给他,前几天我去一个公司,只有几十个人,他有四个人既做技术支持、又做测试,开发人员说程序可以运行了,然后甩给他做测试,这是真正传统意义上质量控制。

我们希望从开始对于需求设计进行验证,在写需求文档的时候,这时候可能出现问题,即使进行需求讨论,也会产生问题,这时候就会发现问题,你可以对这个需求提出来。

“软件的任何部分(需求、设计、代码和文档等)都会产生缺陷。

”测试人员可以扮演客户代言,这个产品做完之后,跟以前的功能有没有冲突,这样对需求设计都可以进行验证。

质量。

”这样一方面保证工作很好的进行,另外一方面对开发提出很高的要求,这样对产品质量有更高的提高。

“测试总是有风险的”(软件测试需要承担一定的风险)我们不能保证产品出去一点问题没有,但我们为什么还要做测试,有时候为了一个产品能不能发布,可能有一个bug非常严重,这时候不能发布,我们要fix。

可能产品出去以后还会被客户发现bug,也许比不能发布的那个bug还要严重,因为这个bug没有发现。

当时我们为了这一个bug,就不能出去了,结果推迟几天发布,是不是合算,是不是值得,有时候产品明天要发布了,这时候发现一个bug,这个bug我们觉得也比较严重,当然不是非常致命的,但也是比较严重的bug,那我们不能发布了,让开发人员修正,重新构建一个包,再出去。

出去以后,也许客户发现比这个bug更严重的,其实有bug也可以出去的。

测试就是这样,测试总是有风险的,没有一家公司讲我的产品出去以后保证没有bug,就像上天的嫦娥一号、嫦娥二号,也会有问题,可能概率很小,万分之一出现问题的概率,否则干嘛我们还有远洋船在厦门有监控的东西,就怕它可能有问题,所以我们在太平洋上有监测船监控嫦娥一号、嫦娥二号,不能保证飞上天的嫦娥二号没有问题。

及时对那样非常重要的产品也会有问题,对于普通应用问题肯定多得多。

“软件测试要将风险降到最低”。

软件测试不能保证一点问题没有,所以我们要将风险降到最低,我们时间比较紧,要把最重要功能验证一遍,基本功能验证,保证出去的基本功能没有问题,即使时间再短或者产品发布再紧急,也要保证这一点,我们至少不能出大问题,捅一个大篓子,我们要控制风险。

软件测试也是这样,从风险角度来讲,软件测试就是把风险降到最低,我们不能保证没有风险,但是我们已经把风险降到最低了。

“测试任务或访问的优先级设定/选择显得重要”。

我们不能保证100%测试,或者我们不能进行永无止境的测试,因为我们测试时间也是有限的,这时候会想怎么把最重要的测试做了,因为测试是有风险的。

先肯定要做最重要的,然后做重要的,然后做次要的,有了这个概念,对你的测试执行,包括测试计划或者设置任务安排都是有很好的考量,这样就知道,虽然时间短,也是能完成的。

就像老板跟你讲,这个东西两天之内给我测完。

你不能讲我不干,这两天肯定测不完,我有几千条case测完肯定不可能。

你如果这样回答老板,老板也不高兴。

老板讲你不管加班还是怎样,都要把它测试完,相对来讲你还得完成任务,老板还不高兴。

怎么让老板高兴,然后你又比较轻松的完成任务,一个是把风险告诉老板,这两天我们可以完成主要基本功能测试,这样你的测试相对比较轻松的做完,老板也觉得你还是比较聪明的,知道怎么把事情做好。

你制定测试策略的时候也是有艺术性的,就像刚才的例子一样,并不是一定要做到哪一点,你应该有选择,如果没有风险,就谈不上策略,有足够人力、足够时间、足够资源来完成任务,那还要什么策略,因为你总是有时间把它做完。

“制定测试策略,策略具有艺术性”。

你在有限的人手时,必须采取一定策略,付出成本最小,但是获得的回报最大。

“尽可能实施自动化测试”。

“电脑本身就是自动化工具”。

作为软件实施工程师,要有这样的手段,自动化测试很正常,当初为什么有电脑,电脑叫这个名字,就是代替部分人脑工作,把这个事情自动执行。

就像以前做1+1、1+2,现在想起来很简单,有一个计算器就可以做,当时就是做不了。