软件测试理论知识

1、什么是软件br> 答:软件是计算机程序、程序所用的数据以及有关文档资料的集合。
软件又可以分为两大类:系统软件和应用软件。

2、什么是系统软件br> 答:系统软件是生成、准备和执行其他程序所需要的一组文件和程序。
如操作系统Windows、数据库SQL-Server、驱动程序、java语言系统编译环境等。

3、什么是应用软件br> 答:计算机用户为了解决某些具体问题而购买、开发或研制的各种程序或软件包。
如QQ、微信等。

4、什么是B/S架构br> 答:B/S架构即浏览器和服务器架构模式,比如百度。

5、什么是C/S架构br> 答:C/S架构即客户端和服务器架构模式,比如QQ和微信。

6、什么是软件测试br> 答:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

7、什么是白盒测试br> 答:基于软件内部设计和程序实现的测试方法。
不仅仅关注输入与输出的结果是否正确,同时还关注程序是如何处理的。
8、什么是黑盒测试br> 答:黑盒测试是指在测试过程中不关注程序内部的处理逻辑,只关注输入和输出。
如果输入一个测试数据,输出的结果是正确的,就认为这个功能是正确的,也叫数据驱动测试。

9、什么是灰盒测试br> 答:介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注产品的输出、输入的正确性,同事也关注程序内部的情况,通过一些表征性的现象、事件、标志来判断内部的运行状态。

10、什么是动态测试br> 答:指的是实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断一个测试属于动态测试唯一的标准就是看是否运行程序。

11、什么是静态测试br> 答:不运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误的过程。

12、什么是手工测试br> 答:由人工手动地去一个一个输入测试数据,然后查看是否符合预期结果的一种测试,属于比较初级但很普遍的一种测试方法。

13、什么是自动化测试br> 答:把以人为驱动的测试行为转化为机器执行的一种测试方法,用工具或者代码来替代人工,以此节省大量的人力成本和时间成本。

14、什么是功能测试br> 答:测试软件的功能是否符合需求,通常采用黑盒测试方法,一般由测试人员独立执行。

15、什么是界面测试br> 答:也称UI测试,测试用户界面布局是否合理,整体风格是否一致,界面文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等。

16、什么是安全性测试br> 答:验证应用程序的安全等级和识别潜在安全缺陷的过程。
其目的是为了查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力。

17、什么是兼容性测试br> 答:兼容性测试是指检查被测软件在不同的硬件平台上、不同的应用软件之间、不同的操作系统中、不同的网络环境中是否可以正常运行的一种测试。

18、什么是易用性测试br> 答:这种测试方法,不是去测试软件能不能用,而是去测试软件好不好用,用户学习成本高不高,所以主观性比较强烈。
一般要根据多个用户的测试反馈信息,才能评价易用性到底好不好。

19、什么是冒烟测试br> 答:这一术语源自硬件测试:测试一个硬件或硬件组件时,先直接加电,如果冒烟了,则无需进行后续测试。
在软件测试中,冒烟测试就是对每一个新编译的软件版本,确认其基本功能正常,以判断是否可以进行后续的正式测试工作。

20、什么是回归测试br> 答:指错误被修正后或软件功能、环境发生变化后重新进行测试,确认修改部分不会对其它功能造成影响。

21、什么是单元测试br> 答:主要是测试程序代码,为的是确保各单元模块被正确的编译,比如有具体到模块的测试,也有具体到类,函数、方法的测试等,一般是由开发人员自测。

22、什么是集成测试br> 答:单元测试后,将各单元组合成完整的体系,测试软件单元之间的接口是否正确、数据能否正常传递的测试。

23、什么是系统测试br> 答:把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其功能、性能等是否和用户需求相符合,在系统中运行是否存在漏洞等。

24、什么是验收测试br> 答:用户在拿到软件的时候,在使用现场,会根据之前所提的需求,以及规格说明书来做相应的测试,已确定软件达到预期的效果。

25、什么是Alpha测试br> 答:一种前期的用户测试,软件产品刚研发出来前期,公司内部组织员工及部分用户,模拟真实用户操作环境下进行测试。

26、什么是Beta测试br> 答:一种后期用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。
在一个或多个真实用户环境下发布版本,进行测试。

27、什么是软件生命周期br> 答:软件生命周期是指软件从开始研制到最终废弃不用所经历的各个阶段。
在不同的阶段里,由不同的组织和人员执行不同的任务。

28、什么是瀑布模型br> 答:它将软件生命周期中的“问题定义及规划”、“需求分析”、“软件设计”、“程序编码”、“软件测试”、“运行维护”六个基本活动,规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。

29、什么是V模型br> 答:V模型大体包含了这几个阶段步骤:用户需求、需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
由于其模型构图形似字母V,所以又称软件测试的V模型。是软件开发过程中的一个重要模型,它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。

30、什么是W模型br> 答:W模型增加了软件开发各阶段中同步进行的验证和确认活动,由两个V字型模型组成,分别代表测试与开发过程。
测试的活动与软件开发同步进行,测试的对象不仅仅是程序,还包括需求和设计,可以尽早发现软件缺陷,从而降低软件开发的成本。

31、什么是X模型br> 答:X模型是对V模型不利于迭代的缺点的改进,提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序,然后再对这些可执行程序进行测试。

32、什么是H模型br> 答:在H模型中,软件测试的过程活动完全独立,形成了一个完全独立的流程,贯穿于整个产品的周期,与其他流程并发进行,某个测试点准备就绪后就可以从测试准备阶段进行到测试执行阶段。

33、什么是原型模型br> 答:允许在需求分析阶段对软件的需求进行初步而非完全的分析和定义,需要迅速建造一个可以运行的软件系统原型,向用户展示待开发软件的全部或部分功能和性能。

34、什么是螺旋模型br> 答:采用一种周期性的方法来进行系统开发,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这四个阶段进行迭代。
软件开发过程每迭代一次,软件开发又前进一个层次。

34、什么是敏捷开发模型br> 答:是一种以人为核心、迭代、循序渐进的开发方法,把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
这是目前互联网公司最流行的一种模型。

35、什么是开发环境br> 答:开发人员开发时使用的环境,每位开发在自己的分支上干活,提测前或者开发到一定程度,各位开发会合并代码,进行联调。

36、什么是测试环境br> 答:测试干活的环境,一般会由测试自己来部署,然后在此环境进行测试。
bug修复后,需要发版更新测试环境来验证bug并做回归测试。

37、什么是预生产环境br> 答:测试环境到生产环境的过渡。
测试环境可能会受到一些限制,一些流程或者数据没有测试到,就可以在预发布环境进行验证,从而保证产品上线质量。

38、什么是生产环境br> 答:即线上环境,真实用户使用的环境。
由特定人员来维护,一般人没有权限去修改。

39、什么是测试需求br> 答:测试需求主要解决“测什么”的问题,一般来自需求规格说明书中的原始需求。
测试需求应全部覆盖已定义的业务流程,以及功能和非功能方面的需求。

40、什么是等价类划分法br> 答:等价类划分法是一种典型的、重要的黑盒测试方法,等价类是指某个输入域的子集合。
在该子集合中,所有输入的数据对于揭露软件中的错误都是等效的,一般分为有效等价类和无效等价类。

41、什么是边界值分析法br> 答:边界值分析法是对等价类划分法的一个补充,边界值一般都是从等价类的边缘值去寻找。
边界值分析的基本思想:正好等于、刚刚大于、刚刚小于边界的值作为测试数据。

42、什么是场景法br> 答:通过场景描述的业务流程或业务逻辑,也包括代码实现逻辑,设计用例来遍历场景,验证软件系统功能的正确性。

43、什么是错误推测法br> 答:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
它的要素共有三点,分别为:经验、知识、直觉。

44、什么是因果图法br> 答:因果图法即因果分析图,从程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),画出因果图,并通过因果图转换为判定表。
它适合于检查程序输入条件的各种组合情况。

45、什么是判定表法br> 答:判定表也称决策表,能表示输入条件的组合,以及与每一输入组合对应的结果组合。
与因果图法相似,判定表法主要侧重输入条件之间的逻辑关系。一般会跟因果图法一起使用。

46、什么是正交实验法br> 答:从大量的(实验)数据(测试例)中挑选适量的、有代表性的点,从而合理地安排测试的一种科学实验设计方法。
类似的方法有:聚类分析方法、因子分析方法等。

47、为什么软件漏洞称为bugbr> 答:有一天,美国海军准将及计算机科学家葛丽丝.霍波在调试设备时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(bug)”,而这奇怪的“称呼”,竟成为后来计算机领域的专业术语。

48、什么是软件bugbr> 答:狭义概念是指软件程序的漏洞或缺陷,广义概念是除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节,或与需求文档存在差异的功能实现等。

49、什么是测试用例br> 答:测试用例(TestCase)是为项目需求而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序是否满足客户需求。

50、什么是测试计划br> 答:测试计划,描述了要进行的测试活动的范围、方法、资源和进度的文档,它确定测试项、被测试性、测试任务、谁执行任务、各种可能的风险,可以有效预防项目的风险,保障项目的顺利实施。

51、什么是测试报告br> 答:测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件存在的质量问题提供依据,同时为软件验收和交付打下基础。

来源:小扶蝶

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月4日
下一篇 2021年1月4日

相关推荐