软件测试基础知识题目
基础题(65分)
1、什么是需求?需求有哪些来源?(3分)
答:需求的分类:直接需求(用户直接需求告知要求)和间接需求(行业需求要求);需求的定义:准确的描述用户需求;
来源:行业、用户、团队、运营、客服、自己(调研反馈、数据分析、竞品分析);数据分析:产品功能使用情况,如行业报告、产品后台数据等挖掘用户需求;调研反馈:通过市场调研或用户调研等方式挖掘用户真实需求;竞品分析:确立竞品分析的目的,然后分析竞品的功能和内容都有什么,通过与竞品的对比得出自身产品的需求;
直白点说:01:来源客户要求;02行业要求;03公司内部分析的需求;
2、为什么说需求需要测试,如何测试?(4分)
答:需求是标准,贯穿整个项目,是项目中最重要的标准,必须经过多方面(技术、角色:用户、产品、测试、开发)测试,才能合理安排项目进度和技术分析设计,确保需求符合用户要求和课实现。
测试方法:01评审,参加人员(用户、产品、测试、开发);02场景和技术模拟,确保可实现;03行业调研;
3、单元测试的定义?测试意义是什么?(3分)
答:指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
意义:例如做房子,单元就是打地基的过程,系统功能就是无数个单元功能组成,单元做好了,系统功能才能正确。
4、单元测试的主要内容是什么?(3分)
答:一段单独的代码我们可以堪称是单元测试的测试对象,主要任务是通过设计、编写、执行单元测试用例,发现这个单元(单独的代码段)中的bug和问题。
ps:单元测试通过后,才会做集成测试。集成测试就是把单元测试中没有问题的单元有机的组合集成起来,形成大的单元,然后进行测试
5、描述什么是静态测试?什么是动态测试?有什么区别和联系?(4分)
答:简单说静态是UI界面功能测试;动态是界面功能操作测试(关联性);区别在于一个重视UI展示测试,一个注重操作关联功能测试;联系在于动静需要结合才能是完整的测试过程;
6、单元、集成、系统测试的重点?(4分)
答:简单说,单元注重单一模块的功能测试;集成在于重点单一模块的功能下,组成多模块组合测试(单一流程);系统测试重点在于全局,整个系统全部模块化组合测试,全部流程测试。
7、搭建集成测试环境时 ,应该考虑哪几个方面?(5分)
答:大概可以分为以下四类
1.硬件环境:
集成测试时,要尽可能的考虑用户使用的实际环境;
当实际环境难以达到的时候,模拟环境考虑到与实际环境之间可能存在的差异。
2.操作系统环境
考虑到不同的操作系统版本,对于可能使用的操作系统环境,要尽可能的测试到。
3.数据库环境:
数据库的选择合乎实际情况。容量,性能,版本等多方面考虑。
4.网络环境:
一般的网络环境可以使用以太网。
8、什么是失效恢复测试(3分)
答:失效恢复测试(Recovery Testing)的目标就是验证系统从软件或者硬件失效中恢复的能力。
失效恢复测试采取各种人工干预方式使软件出错,造成人为的系统失效,进而检验系统的恢复能力。
9、什么是健壮性测试(3分)
答:健壮性测试(Robustness Testing)又称为容错测试(Fault Tolerance Testing),用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。
一个好的软件系统必须经过健壮性测试之后才能最终交付给用户。
10、什么是兼容性测试(3分)
答:兼容性测试(Compatibility Testing)的目的就是检验被测的应用系统对其他系统的兼容性。
例子:当两个系统同时共享相同的数据或者数据文件或者内存时,系统可能满足系统需求但是不能在一个共享环境中工作并且不能和其他系统交互。
11、什么是易用性测试(3分)
答:易用性测试(Usability Testing)与可操作性测试(Opcration Testing)很相似,它们都是为了检测用户在理解和使用系统方面是否方便。
易用性测试是面向用户的系统测试,包括对被测试系统的系统功能、系统发布、帮助文本和过程等。
12、简单描述什么是冒烟测试和回归测试,主要用于什么阶段?(3分)
答:冒烟测试,就是对该系统整体重点功能点的功能流程测试,要确保通过冒烟测试,系统能够跑通(正常运行);比如:对于一个登录系统的冒烟测试,我们只需测试输入正确的用户名、密码,验证登录这一个核心功能点,至于输入框、特殊字符等,可以在冒烟测试之后进行。用于项目提测初期。
回归测试:回归测试有两类:用例回归和错误回归;用例回归是过一段时间以后再回头对以前使用过的用例在重新进行测试,看看会重新发现问题。错误回归,就是在新版本中,对以前版本中出现并修复的缺陷进行再次验证,并以缺陷为核心,对相关修改的部分进行测试的方法。用于项目后期和版本上线前。
13、什么是等价类?什么是边界值?(3分)
答:等价类划分法:将测试过程中的输入、输出、操作等相似内容分组,从每组中挑选具有代表性的内容作为测试用例,划分为有效等价类和无效等价类;
边界值分析法:确认输入、输出的边界,然后取刚好等于、大于、小于边界的参数作为测试用例测试;
他俩的定义就是不同,一个属于确认有有效区间,一个属于确认边界,联系就是等价类划分和边界值要一起考虑,边界值分析法属于等价类划分法的补充,任何等价区间都有边界,有边界就有等价区间。
边界值还要加上:各种字符、空格字符、超长
14、简单描述判定表和因果图?(3分)
判定表(Decision Table)亦称决策表,最适合描述在多个逻辑条件取值的组合所构成的复杂情况下,分别要执行哪些不同的动作
因果图:因——原因,输入条件、果——结果,输出结果、使用图形的方式,分析软件输入和输出的对应关系
15、简单描述场景法?(3分)
通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。用例场景来测试需求是指模拟特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果,从而用来发现需求中存在的问题。我们通常以正常的用例场景分析开始,然后再着手其他的场景分析。场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。场景主要包括4种主要的类型:正常的用例场景,备选的用例场景,异常的用例场景,假定推测的场景。
16、什么是国际化测试?什么是本地测试?(3分)
国际化测试的目的是测试软件的国际化支持能力,发现软件的国际化的潜在问题,保证软件在世界不同区域中都能正常运行。国际化测试使用每种可能的国际输入类型,针对任何区域性或区域设置检查产品的功能是否正常,软件国际化测试的重点在于执行国际字符串的输入/输出功能。国际化测试数据必须包含东亚语言、德语、复杂脚本字符和英语(可选)的混合字符。
本地化就是将软件版本语言进行更改,比如将英文的windows改成中文的windows就是本地化。本地化测试的对象是软件的本地化版本。本地化测试的目的是测试特定目标区域设置的软件本地化质量。本地化测试的环境是在本地化的操作系统上安装本地化的软件。从测试方法上可以分为基本功能测试,安装/卸载测试,当地区域的软硬件兼容性测试。测试的内容主要包括软件本地化后的界面布局和软件翻译的语言质量,包含软件、文档和联机帮助等部分
17、理解用户界面测试的概念?(3分)
用户界面测试,英文是User interface testing。又称UI测试。
用户界面,英文是User interface。是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。
用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。
用户界面测试用户分析软件用户界面的设计是否合乎用户期望或要求。它常常包括菜单,对话框及对话框上所有按钮,文字,出错提示,帮助信息 (Menu 和Help content)等方面的测试。比如,测试Microsoft Excel中插入符号功能所用的对话框的大小,所有按钮是否对齐,字符串字体大小,出错信息内容和字体大小,工具栏位置/图标等等
18、什么是测试计划?(3分)
软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更
19、什么是测试报告?(3分)
一份详细的测试报告包含足够的信息,包括产品质量和测试过程的评价,测试报告基于测试中的数据采集以及对最终的测试结果分析。
简单说,就是测试完成后,需要根据测试结果输出的一份报告。
20、白盒测试和黑盒测试的关系?(3分)
黑盒测试着重测试软件功能,它并不涉及程序的内部结构和内容特性,主要根据规格说明,只依靠被测试程序的输入和输出之间关系或程序的功能来设计测试用例。黑盒测试并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。
应用题(17分)
1、验收测试的过程,包含什么?(5分)
01.制定测试计划,测试项,测试策略及验收通过准则,并经过客户参与的计划评审。
02.建立测试环境,设计测试用例,并经过评审。
03.准备测试数据,执行测试用例,记录测试结果。
04.分析测试结果,根据验收通过准则分析测试结果,作出验收是否通过及测试评价。
05.测试项目通过;
06.测试项目没有通过,并且不存在变通方法,需要很大的修改;
07.测试项目没有通过,但存在变通方法,在维护后期或下一个版本改进;
08.测试项目无法评估或者无法给出完整的评估。此时必须给出原因。如果是因为该测试项目没有说明清楚,应该修改测试计划。
09.提交测试报告
2、测试计划与测试过程的关系?(4分)
计划是布局,安排具体工作安排;过程是执行计划布局和工作安排的具体表现,测试计划包含指导测试过程,测试过程帮助测试计划的完善,也是体现计划的价值和可实行性;
3、软件缺陷的质量评估?(4分)
01、缺陷的数量
02、缺陷的分布
03、缺陷的严重程度
04、缺陷的增长情况
05、缺陷的分类
06、缺陷的版本对比
4、测试总结报告的内容?(4分)
01引言本章应分成以下几条。1.1标识本条应包含本文档适用的系统和软件的完整标识,(若适用)包括标识号、标题、缩略词语、版本号、发行号。1.2系统概述本条应简述本文档适用的系统和软件的用途。它应描述系统与软件的一般性质;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;并列出其他有关文档。1.3文档概述本条应概括本文档的用途与内容,并描述与其使用有关的保密性与私密性要求。
02引用文件 本章应列出本文档引用的所有文档的编号、标题、修订版本和日期。本章还应标识不能通过正常的供货渠道获得的所有文档的来源。
03测试结果概述 本章应分为以下几条提供测试结果的概述。3.1对被测试软件的总体评估 本条应:a. 根据本报告中所展示的测试结果,提供对该软件的总体评估;b. 标识在测试中检测到的任何遗留的缺陷、限制或约束。可用问题/变更报告提供缺陷信息;c. 对每一遗留缺陷、限制或约束,应描述:1)对软件和系统性能的影响,包括未得到满足的需求的标识;2)为了更正它,将对软件和系统设计产生的影响;3)推荐的更正方案/方法。3.2测试环境的影晌 本条应对测试环境与操作环境的差异进行评估,并分析这种差异对测试结果的影响。3.3改进建议 本条应对被测试软件的设计、操作或测试提供改进建议。应讨论每个建议及其对软件的影响。如果没有改进建议,本条应陈述为 "无"
04详细的测试结果 本章应分为以下几条提供每个测试的详细结果。注:"测试 " 一词是指一组相关测试用例的集合。4.x(测试的项目唯-标识符 ) 本条应由项目唯一标识符标识一个测试,并且分为以下几条描述测试结果。4.x.1测试结果小结 本条应综述该项测试的结果。应尽可能以表格的形式给出与该测试相关联的每个测试用例的完成状态(例如,"所有结果都如预期的那样","遇到了问题","与要求的有偏差"等)。当完成状态不是"所预期的"时,本条应引用以下几条提供详细信息。4.x.2遇到了问题 本条应分条标识遇到一个或多个问题的每一个测试用例。4.x.2.y (测试用例的项目唯一标识符 ) 本条应用项目唯一标识符标识遇到一个或多个问题的测试用例,并提供以下内容:a. 所遇到问题的简述;b. 所遇到问题的测试过程步骤的标识;c. (若适用)对相关问题/变更报告和备份数据的引用;d. 试图改正这些问题所重复的过程或步骤次数,以及每次得到的结果;e. 重测试时,是从哪些回退点或测试步骤恢复测试的。4.x.3与测试用例/过程的偏差 本条应分条标识与测试用例/测试过程出现偏差的每个测试用例。4.x.3.y (测试用例的项目唯一标识符) 本条应用项目唯一标识符标识出现一个或多个偏差的测试用例,并提供:a. 偏差的说明(例如,出现偏差的测试用例的运行情况和偏差的性质,诸如替换了所需设备、未能遵循规定的步骤、进度安排的偏差等) 。 (可用红线标记表明有偏差的测试过程 );b. 偏差的理由;c. 偏差对测试用例有效性影响的评估。
05测试记录本章尽可能以图表或附录形式给出一个本报告所覆盖的测试事件的按年月顺序的记录。测试记录应包括:a. 执行测试的日期、时间和地点;b. 用于每个测试的软硬件配置,(若适用 ) 包括所有硬件的部件号/型号/系列号、制造商、修订级和校准日期;所使用的软件部件的版本号和名称;c. (若适用 ) 与测试有关的每一活动的日期和时间 , 执行该项活动的人和见证者的身份。
06评价6.1能力。6.2缺陷和限制。 6.3建议。6.4结论。
07测试活动总结总结主要的测试活动和事件。总结资源消耗,如:7.1人力消耗。7.2物质资源消耗。
08注解 本章应包含有助于理解本文档的一般信息(例如背景信息、词汇表、原理)。本章应包含为理解本文档需要的术语和定义,所有缩略语和它们在文档中的含义的字母序列表。附录 附录可用来提供那些为便于文档维护而单独出版的信息(例如图表、分类数据)。为便于处理,附录可单独装装订成册。附录应按字母顺序(A,B等)编排。
思考题(18分)
1、新版本开始,在版本研发过程中作为测试应该做的工作内容是什么?(8分)
01、熟悉需求,澄清需求,输出需求分析;
02、组织需求分析评审会议(一般情况评审后修改在评审:多次评审)
03、编写测试用例;
04、组织测试用例评审会议(一般情况评审后修改在评审:多次评审)
05、单元测试(单个模块测试):缺陷跟踪
06、集成测试:缺陷跟踪
07、系统测试:缺陷跟踪
08、测试报告输出
2、测试一个一次性纸杯,请编写测试用例?(10分)
功能测试(Function test)
能否装水,
除了装水, 能否装其他液体。比如可乐,酒精
能装多少ML的水
杯子是否有刻度表
杯子能否泡茶,跑咖啡
杯子是否能放冰箱,做冰块
杯子的材质是什么(玻璃,塑料,黄金做的)
界面测试(UI Test)
外观好不好看。
什么颜色
杯子的形状是怎么样的。
杯子的重量是多少
杯子是否有异味
杯子的图案是否合理
性能测试(performance test)
能否装100度的开水 (泡茶)
能否装0度冰水
装满水,放几天后,是否会漏水
杯子内壁上的涂料是否容易脱落。
杯子上的颜色是否容易褪色或者脱落
被我坦克压下,是否会碎 (这条是开玩笑的哈)
安全性测试(Security test)
制作杯子的材料,是否有毒
放微波炉里转的时候,是否会爆炸, 或者杯子是否会熔化。
从桌子上掉到水泥地上是否会摔碎。
杯子是否容易长细菌
杯子是否有缺口,会划坏嘴巴
杯子内壁上的材料,是否会溶解到水中
杯子破碎后,是否会对使用者造成伤害
可用性测试(Usability Test)
杯子是否容易烫手
杯子是否好端,好拿
杯子的水是否容易喝到
杯子是否有防滑措施