名词解释
软件缺陷
1).软件未达到产品说明书的功能
2).软件出现了产品说明书指明不会出现的错误
3).软件功能超出产品说明书指明范围
4).软件未达到产品说明书虽未指出但应达到的目标
5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
β测试:β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评意见。
测试的配置管理:配置管理的目的是建立和维护在软件生命周期中软件产品的完整性和一致性。一般来说,软件测试配置管理包括4个最基本的活动:(1)配置标识;(2)变更控制;(3)配置状态报告; (4)配置审计。
测试用例:测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。
黑盒测试:黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是否都正常使用。
单元测试: 单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。
白盒测试: 白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的机构测试程序,检测程序中的每条通路是否都能够按预定要求正确工作,而不管产品的功能,主要用于软件验证。
回归测试: 指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
黑盒测试方法 :等价类划分、因果图、决策表、边界值、正交实验
白盒测试方法: 语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖、路径覆盖
简述 JUnit 生命周期。
- @Test 标注测试方法
- @Before 测试方法运行之前运行,初始化测试对象
- @After 测试方法运行之后运行,销毁测试对象
- @BeforeClass 测试类开始前执行,初始化重量级测试对象
- @AfterClass 测试类结束后执行,销毁收尾工作
简述正交表测试用例设计方法的特点
- 用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
- 对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
- 具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法
什么是桩模块,什么是驱动模块?
- 驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。 它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。
- 桩模块是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。(主程序作为驱动模块,与之直接相连的模块是桩模块,也称为“替身模块”。桩模块本身不执行任何功能,只在它作为替身被调用时返回静态值。)
简述集成测试的测试模式。
-
非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求一次全部组装起来所要的系统,然后进行整体测试。
-
渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个模块结合进来测试。
简述系统性能测试分析常用指标。
-
响应时间
-
系统处理能力
-
吞吐量
-
并发用户数
-
错误率
-
HPS(Hits Per Second):每秒点击次数,单位是次/秒
-
TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒
-
QPS(Query per Second):系统每秒处理查询次数,单位是次/秒
白盒测试覆盖度指标
基路径测试
基本路径测试法又称独立路径测试,是在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出基本可执行路径集合,从而设计出相应的测试用例的方法。
所谓基本路径是指程序中至少引进一条新的语句或一个新的条件的任一路径。
压力测试:是指持续不断的给被测系统增加压力,直到被测系统被压垮,从而确定系统能够承受的最大压力;
简答题
什么是软件测试?
是使用人工和自动手段来运行或测试某个系统的过程,目的在于检验其是否满足规定的需要或是弄清楚预期结果与实际结果之间的差别。
软件测试应当遵循哪些原则?
- 所有的测试都应追溯到用户的需求;
- 应尽早和不断地测试 ;
- 不可能完全的测试 ;
- 良好的测试态度;
- 对待缺陷的基本原则
- 测试结果的处理原则
什么是集成测试,什么是系统测试,二者有何区别?
-
集成测试是在单元测试的基础上,将所有已通过单元测试的模块按照概要设计的要求组装为子系统或系统,进行集成测试。
-
系统测试是将已经过良好的集成测试的软件系统,作为整个计算机系统的一部分,与计算机硬件、外部设备、支持软件、数据以及人员等其他系统元素结合在一起,在实际使用(运行)环境下对计算机系统进行一系列的严格测试来发现软件中的潜在缺陷。
集成测试仅针对软件系统展开测试,系统测试中所涉及的系统则不仅包括被测试的软件本身,还包括硬件及相关外围设备。
压力测试和负载测试有何区别?
- 压力测试:是指持续不断的给被测系统增加压力,直到被测系统被压垮,从而确定系统能够承受的最大压力;
- 负载测试:通常是指让被测系统在其能够忍受的压力极限范围内(或临界状态下)连续运行,来测试系统的稳定性
如何划分等价类?
1).在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2).在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。
3).在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。
4).在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。
5).在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
6).在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
软件验收测试应完成哪些主要测试工作?
1)文档资料的审查验收
2)功能测试
3)性能测试
4)强化测试
5)性能降级执行方式测试
6)检查系统的余量要求
7)安装测试
8)用户操作测试
简述软件开发-软件测试的对用关系。
什么是测试用例?为什么要设计测试用例?
所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。
使用测试用例的好处主要体现在以下几个方面:
• 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
• 测试用例的使用令软件测试的实施重点突出、目的明确。
• 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
• 功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升
简述增量式集成测试的自顶向下和自底向上两种测试方法。
-
自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。
-
自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。
分析单元测试和代码调试的区别。
表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它们的目标不同:单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。在分离和查找软件缺陷原因时这两个过程发生交叉。
评论区