qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

软件测试-概念汇总

 第一单元
  1、为何软件缺陷难以避免?试谈谈你的观点。
  答:软件需求分析不够全面 准确是导致软件缺陷的最主要原因,需求分析,软件设计和编码的过程中的失误也会导致软件缺陷.  各种操作系统、各种硬件、各种软件都可能对所编制的软件造成影响。编制软件时不可能把所有的环境状态都拿来测试。所以就会出现某些情况下的不兼容,也就是BUG(漏洞)。
  2、测试和调试有何不同?区别?
  答:测试是一个有计划、可重复的过程,目的是为了发现软件中的潜在错误和缺陷;而调试是一个随机的、不可重复的过程,目的是寻找错误的原因和具体位置,并修复错误。调试一般在测试后进行,当然,调试之后很可能又要进行测试,所以两者常交叉进行。
  第二单元
  3、软件测试可分为哪几类?
  答:1>按开发阶段,软件测试可划分为单元测试、集成测试、确认测试、系统测试和验收测试。2>按照实施测试的组织,可将测试分为α测试、β测试和第三方测试。3>根据测试实施策略的不同,软件测试可分为白盒测试黑盒测试和灰盒测试。4>根据软件测试的执行方式,可将软件测试分为静态测试和动态测试两种。5>按其他测试方法和技术,软件测试可划分为回归测试、迭代测试、功能测试性能测试、安全性测试、可靠性测试、兼容性测试、可移植性测试、冒烟测试、用户界面测试、随机测试、引导测试、本地化测试等。
  4、α测试和β测试的含义分别是什么?两者有何区别和联系?
  答:1>α测试属于开发方进行的测试,指软件开发组织公司内部人员模拟各类用户对即将交付的软件产品进行测试,以发现其中的错误并改正。β测试是用户进行的测试。2>α测试的目的是评价软件产品的FLURPS,即功能、局域化、可使用性、可靠性、性能和支持,尤其注重产品的界面和特色。经过α测试调整的软件产品称为β版本。β测试的目的在于帮助开发方在正式发布软件产品前对其进行最后的改进。β测试一般在α测试之后进行,是由于大量用户在实际操作环境下对软件的β版本进行的测试。(或者:α测试是开发公司内部人员模拟各类用户所进行的软件产品测试 β测试是用户进行的测试,但是不同于验收测试即决定是否接受软件并不是β测试的目的. β测试的目的帮助开发方在产品发布前做最后的改进.
  两者的测试人员不同目的不同.联系: α测试调整的软件产品是β测
  第三单元
  5、白盒测试、黑盒测试、灰盒测试三者有何区别?
  答:白盒测试,又称结构测试或者逻辑驱动测试,其代码对测试人员可见;黑盒测试,又称功能测试或者数据驱动测试,其代码对测试人员不可见。灰盒测试是介于白盒测试和黑盒测试之间的测试。
  6、H模型倡导的理念是什么?它为何能弥补W模型的不足?
  答:将测试活动完全独立出来,形成一个完整独立的流程,以将测试准备活动和测试执行活动清晰地体现出来。
  H模型中,软件测试不仅指测试的执行,还包括测试的准备等活动;软件测试是一个独立的流程,可贯穿到软件产品整个生命周期中的任一流程,与之并发地进行;只要某个测试达到准备就绪点,测试执行活动就可以开展;不同的测试活动可以是按照某个次序先后进行的,也可能是反复的。
  这克服了W模型要求软件的开发过程中需求分析、设计、编码等活动串行而带来的不足
  第四单元
  8、白盒测试的含义是什么?有何优缺点?
  白盒测试也称结构测试,逻辑测试,驱动测试或基于程序本身的测试。
  优点:与黑盒测试相比,白盒测试深入到程序的内部进行测试,更由于定位错误的原因和具体位置,拟补了
  你黑盒测试只能从程序外不进行测试的不足。
  白盒测试不能查出程序的设计缺陷。不能查出程序是否遗漏了功能或路径。发现不了一些与数据相关的错误。
  第五单元
  9、单元测试的依据是什么?进行单元测试的目的何在?
  答:1>单元测试的依据是软件的详细设计描述、源程序清单、编码标准等。2>1.验证代码能否达到详细设计的预期要求;2.发现代码中不符合编码规范的地方;3.准确定位发现的错误,以便排出错误.
  10、驱动模块和桩模块的含义分别是什么?在单元测试中,一定要开发驱动模块和桩模块吗?为什么?
  答:1>驱动模块式用来代替被测试单元的上层模块的.驱动模块能接收测试数据,调用被测单元,也就是将数据传递给被测单元,最后打印测试的执行结果。 桩模块,又称存根模块,它用来代替被测单元的子模块.其目的是模拟现实被测试单元的接口。2>不一定要开发驱动模块和桩模块,由于驱动模块和桩模块不是最终可提交的模块,所以在进行单元测试时应尽量避免开发驱动模块和桩模块。
1、单元测试应主要从哪些方面对被测单元进行检查?
  答:单元测试应主要从单元接口、局部数据结构、独立路径、出错处理、边界条件几个方面对被测单元进行检查。
  12、在单元测试的动态测试活动中,白盒和黑盒测试方法测试用例的使用有什么样的关系?试谈谈你的观点。
  答:白盒为主,黑盒为辅。
  第六单元
  13、集成测试的测试对象是什么?
  答:集成测试的测试对象包括单元间的接口,以及集成后的功能和性能(其中以对功能的测试为主)。
  14、自底向上集成方法的优缺点分别是什么?
  优点:
  (1)大大减少了桩模块的开发,虽然需要开发大量的驱动模块,但其开发成本毕竟比开发桩模块的成本小。
  (2)涉及复杂算法和真正输入/输出的模块往往在底层,它们最容易出现问题的模块,最先对底层的模块进行测试,减少了回归测试的成本。当然,若在集成测试后期又对底层模块进行修改,则必须对其上层模块进行回归测试,但这样的情况毕竟是少数。
  (3)在集成的早期很可能实现对模块的并行测试,这提高了集成测试的效率。
  (4)支持故障隔离。
  缺点:
  (1)需要开发大量的驱动模块,故带来一定的测试成本。但通过对底层模块的复用可以减少驱动模块的开发。
  (2)不能及早的发现和修复模块结构中的主要控制点存在的问题,在集成的后期修复此类问题将花费较大的成本,故此法不适合于那些控制结构对整个体系至关重要的软件产品。
  (3)随着测试的逐步推进,组装的系统愈加复杂,对底层模块的异常很难测试到。
  第七单元
  15、性能测试主要包括哪几种类型?分别解释它们的含义?
  答:1>压力测试,负载测试,疲劳测试,强度测试,容量测试。2>1.压力测试是改变应用程序的输入,以对应用程序施加越来越大的负载,通过综合分析交易执行指标和资源监控指标,评测和评估应用系统在不同负载条件下的性能行为。2.疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数。3.强度测试强度测试的目的是找出因资源不足或资源争用而导致的错误。4.容量测试容量测试通常与数据库有关,其目的在于使系统承受超额的容量来确定系统的容量瓶颈,进而优化系统的容量处理能力。
  16、用户界面测试、文档测试及安装测试的目的的分别是什么?
  答:1.用户界面测试的目的是图形用户界面的正确性、易用性和视觉效果。2.文档测试的目的是提高易用性和可靠性,降低技术支持费用,尽量使用户通过文档自行解决问题。3.安装测试的目的是确认安装程序能够正确运行,软件安装是否正确,软件安装后能够正常运行。
  17、何时应进行回归测试?回归测试的作用是什么?
  答:1.系统测试阶段应进行回归测试。2.回归测试就是重新运行现有测试用例测试原有功能,以便确定变更是否达到了预期的目的,检查变更是否损害了原有的正常功能。每当软件发生变化时就应进行回归测试。
  18、在不断进行回归测试的过程中,如何对测试用例库进行维护?
  答:随着软件的改变,测试用例库中的一些测试可能会推动针对性和有效性,还有一些测试用例将完全不能运行,必须删除测试用例库中这一类测试用例。
  同时,被修改的或新增加的软件功能,仅仅靠重新运行以前的测试用例不足以揭示其中的问题,有必要追加新的测试任命来测试这些新的功能或特征。因此,测试用例库的维护工作还应包括开发新测试用例。
  此外,随着项目的发展,测试用例库中的用例会不断增加,其中会出现一些对输入或运行状态十分敏感的测试用例。这些测试不容易重复且结果难以控制,会影响回归测试的效率需要进行改进,使其达到可重复和可控制的要求。

 第八单元
  19、面向对象软件的测试模型主要包括哪几种测试?它们的执行顺序如何?
  答:基于状态的类测试、基于UML的类测试、基于数据流的类测试、基于规范的类测试、基于方法序列的类测试
  20、为什么说面对象软件的最小可测试单元不是单个方法,而是类或对象?
  答:类是对若干方法和数据进行封装后形成的模块 对象的状态不仅仅取决于方法 还取决于该对象之前的状态即它的各属性的取值。因此面向对象软件的单元测试不能脱离类中的数据仅对方法进行测试 最小可测试单元不是单个方法而是类或对象。
  21、类测试关注的内容是什么?
  答:类测试关注的内容主要为 对类中单个方法的测试 即测试类中的单个方法能否在消息的触发下实现正确的状态转移 对类中方法间协作的测试 即测试类中的方法是否能够通过对象的状态正确地通信。

posted on 2013-11-01 10:48 顺其自然EVO 阅读(224) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜