• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

测试基础知识

武飞扬头像
旺仔 小馒头
帮助1

测试基础知识

(0)测试基本要素/测试用例的内容

用例编号、测试名称、重要级别、前置条件、测试输入、操作步骤、预期结果

(1)测试分为哪几个分类或阶段?

一般来说分为5个阶段:单元测试、集成测试、系统测试、回归测试,验收测试

单元测试(模块测试)

  • 对程序各个模块进行校验测试。检测代码的开发是否符合详细设计的要求。

集成测试(组装测试)

  • 在单元测试基础上,将所有程序模块进行有序、递增的测试。检测各组成部分是否能完好地结合在一起。

系统测试:

  • 主要检测已集成在一起的产品是否符合需求规格说明书的要求。

回归测试:

  • 回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性。

验收测试:

  • 测试人员根据测试计划和结果对系统进行测试和接收,检测产品是否符合最终用户的需求。验收测试包括Alpha测试和Beta测试。

  • α测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行。并且在开发者对用户的指导下进行测试,开发者负责记录发现的错误和使用中遇到的问题

  • β测试 :用户在不同的场所来进行的,开发者不在现场。由用户记录在测试中的问题,并定期报给开发者。
     

(2) 单元测试的测试对象、目的、测试依据、测试方法?

  • 测试对象:模块内部的程序错误,
  • 目的是消除局部模块逻辑和功能上的错误和缺陷。
  • 测试依据:模块的详细设计
  • 测试方法:白盒测试。

(3) 测试的策略有哪些?

黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测

按测试策略分类:

  • 静态与动态测试、黑盒与白盒测试、手工和自动测试、冒烟测试、回归测试;

按测试阶段分类:

  • 单元测试、集成测试、系统测试;

其他常见测试方法:

  • 1、功能测试 2、性能测试 3、压力测试 4、负载测试 5、易用性测试 6、安装测试 7、界面测试
     

什么是冒烟测试?

冒烟测试(Smoke Testing)是指:针对每个版本或每次需求变更之后,在正式测试之前,对产品或系统的一次简单的验证性测试,验证产品或系统的“基本功能”流程是否正常。(我们可以将冒烟测试理解为是在执行正式测试之前的“预测试”,)二、冒烟测试的目的是什么?目的是确认软件的基本功能正常,可以进行后续的正式测试工作。(如果冒烟测试不能通过,则不必执行下面的测试)
 

(4)简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试、β测试。

静态测试

  • 是不运行程序本身而寻找程序代码中可能存在的错误过程。

动态测试

  • 运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,从而检验程序的正确性和可靠性。

黑盒测试

  • 把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。目的是检测软件的各个功能是否能得以实现

白盒测试

  • 也称为结构测试,是针对被测单元内部是如何进行工作的测试,是基于代码的测试,测试人员通过阅读程序代码或使用开发工具中的单步调试来判断软件的质量。

α测试

  • 由一个用户在开发者的场所进行的测试(请到公司来玩游戏,)在一个受控的环境中进行。在开发者的指导下进行测试(内测)。

β测试

  • 是软件的多个用户在不同的实际使用环境下进行的测试。开发者通常不在测试现场(公测)

(5) 目前主要的测试用例设计方法是什么?

白盒测试

白盒测试:也称为结构测试,是针对被测单元内部是如何进行工作的测试,是基于代码的测试,测试人员通过阅读程序代码或通过开发工具中的单步调试来判断软件的质量。

常用白盒测试方法:

  • 静态测试:不用运行程序的测试; (桌面检查,代码审查)
  • 动态测试:需要执行代码,通过运行程序找到问题;(逻辑覆盖法,基本路径测试法)

逻辑覆盖法:

  • 原则:以程序内部的逻辑结构为基础设计测试用例。
  • 包括 :语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖,六种覆盖标准发现错误的能力呈由弱到强的变化:

黑盒测试

黑盒测试:黑盒测试也称功能测试。把被测程序看作一个黑盆子,不考虑程序内部结构,在已知程序输入和输出关系或程序功能的情况下,根据软件规格说明书确定测试用例和推测结果的正确性,目的是检测软件的各个功能是否能得以实现

常用的黑盒测试方法:

等价类划分法

  • 等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。设计测试用例要考虑有效等价类和无效等价类。(Ps:对程序规格是合理的、有意义的输入数据集合叫有效等价类,无效等价类和其定义相反)

边界值分析法

  • 边界值分析法是对等价类划分的一种补充,因为大多数错误都在输入输出的边界上。假定大多数错误出现在输入条件的边界上,如果边界取值不会导致程序出错,那么其他取值出错的可能性也就很小,因此该方法要和等价类划分法结合使用。

因果图法

  • 因果图是用于描述系统输入输出之间的因果关系、约束关系。根据输入输出间的因果图可以得到判定表,从而规划出测试用例。

判定表

一、应用场景

  • 在一些数据处理问题中,逻辑条件取值的组合过多时,判定表是一个不错的选择!

二、判定表法定义

  • 分拆和表达多逻辑条件下执行不同操作情况的工具

四个部分组成

  • 条件桩 : 列出问题的所有条件
  • 条件项: 列出左列条件桩的取值(真假值)
  • 动作桩: 列出问题规定可能采取的操作
  • 动作项: 列出在对应的条件项组合下应采取的动作.

(6)黑白盒测试的优缺点

黑盒测试的优点:

  • 比较简单,不需要了解程序内部的代码及实现
  • 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
  • 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
  • 在做软件自动化测试时较为方便。

黑盒测试的缺点

  • 代码覆盖率较低,大概只能达到总代码量的 30%;
  • 自动化测试的复用性较低。

白盒测试的优点:

  • 帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

白盒测试的缺点:

  • 程序运行会有很多不同的路径,不可能测试所有的运行路径;
  • 测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
  • 系统庞大时,测试开销会非常大。

(7) 单元测试、集成测试、系统测试 区别

粒度不同:

  • 单元测试粒度最小,集成测试粒度居中,系统测试粒度最大。

测试方式不同:

  • 单元测试采用白盒方式来测试,
  • 集成测试采用白盒加黑盒的方式来测试
  • 系统测试采用黑盒方式来测试。

测试内容不同:

  • 单元测试主要测试模块的代码是否符合详细设计的需求
  • 集成测试验证各组成部分能否完美的结合在一起。
  • 系统测试主要测试已集成在一起的产品是否符合“系统需求规格说明书”。

使用阶段不同:

  • 单元测试为开发人员在开发阶段要做的事情
  • 集成测试和系统测试为测试人员在测试周期做的工作。

(8)软件测试的流程是什么?

1. 需求调查:

  • 全面了解,应用领域、开发周期、开发环境、功能,性能,质量,测试要求等。根据系统概况估计所需的人员、时间和工作量。

2. 制定初步的项目计划

3. 测试准备:

  • 组织测试团队、培训、建立测试环境等。

4. 测试设计:

  • 按照测试要求进行每个测试项的测试设计。

5. 测试实施:

  • 按照测试计划实施测试。

6. 测试评估:

  • 根据测试的结果,出具测试评估报告。

(9)软件生存周期及其模型是什么?

软件生存周期又称为软件生命期,是指从形成开发软件概念起,到开发造成,再到失去使用价值消亡的整个过程。
整个生存周期包括计划、开发、维护三个时期。

(10)一台客户端有300个客户 与 300个客户端有300个客户对服务器施压,有什么区别?

  • 300个用户在一个客户端上,需要更大的带宽,并且会占用客户机更多的资源,影响测试的结果。线程之间可能发生干扰,而产生一些异常。
  • IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。
  • 所有用户在一个客户端上,不必考虑分布式管理的问题,而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。

(11)负载测试和压力测试区别

压力测试:

  • 检查系统在瞬间峰值负荷下的正确执行能力。例如,对服务器做压力测试时就可以增加并发操作的用户数量;或者向服务器不停发送请求或特别大的数据等;看看服务器保持正常运行所能达到的最大状态。如模拟上万个用户从终端同时登录,这是压力测试中常常使用的方法。

负载测试:

  • 用于检查系统在使用大量数据的时候正确工作的能力,即检验系统的能力最高能达到什么程度。例如,对于信息检索系统,让它使用频率达到最大。

(12)什么是兼容型测试?兼容性测试侧重哪些方面?

  • 兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
  • 兼容测试的重点是,对兼容环境的分析。根据需求文档,把用户的使用环境整理成表单,就得出做兼容测试的兼容环境了。

(13)测试和开发需要怎么结合

测试和开发应该按照W模型的方式进行结合,测试和开发同步进行,能够尽早发现软件缺陷,确保软件的质量。

学新通

在V模型中,测试过程被加在开发过程的后半部分,

  • 单元测试:检测代码的开发是否符合详细设计的要求。
  • 集成测试:检测此前已测试过的各组成部分是否能完好地结合到一起。
  • 系统测试:检测已集成在一起的产品是否符合系统规格说明书的要求。
  • 验收测试:检测产品是否符合最终用户的需求。

V模型的缺陷:

  • 测试过程被加在开发过程的后半部分,因此需求阶段的缺陷很可能在后期的验收测试才被发现。
    学新通

相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。

W模型强调:

  • 测试与开发全期同步进行,而且测试的对象不仅仅是程序,需求、设计等同样要测试。W模型有利于尽早地全面的发现问题,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。

(14)手工测试与自动化测试的优缺点

手工测试:测试人员执行测试用例不使用任何自动化工具(俗称点点点)

  • 优点:
    测试人员可根据经验,审美,是非判断和对错误的猜测。
    缺点:
  • 过于依赖于测试人员的能力,重复的测试,代价昂贵、容易出错。

自动化测试:通过自动化工具执行定制好的测试脚本来进行测试
优点:

  • 对程序的回归测试更方便。
  • 可以在短时间内进行更多且繁琐的测试。
  • 可以执行一些手工测试困难或不可能进行的测试。
  • 将繁琐的任务自动化可以更好地利用资源。
  • 测试的脚本技术具有复用性。

缺点:

  • 不能取代手工测试
  • 手工测试比自动测试发现的缺陷更多
  • 对测试质量的依赖性极大
  • 不能提高有效性。
  • 工具本身并无想像力

(15)请你说一下如何写测试用例

  • 测试人员尽早介入,彻底理解清楚需求,这个是写好测试用例的基础
  • 如果以前有类似的需求,可以作为用例参考。
  • 搞清楚输入、输出的各种可能性,以及各种输入的之间的关联,通过等价类、边界值、判定表等方法找出大部分用例
  • 根据自己的经验分析遗漏的测试场景,补充测试用例
  • 多总结,书写格式一定要规范

(16)你认为是bug,而开发不认同时怎么办?

  • 简单分析下需求可能对客户的影响,通过影响和严重程度来说服开发来进行修改。

  • 产品需求里边没有明确要求的,需要先和需求人员讨论一下,如果确认需要进行修改。在三方会议上进行提出。

(17)app测试性能指标

  • 内存,cpu,流量,启动速度

(18)web测试和app测试不同点

系统架构方面:

  • web项目是b/s架构,app项目则是c/s的,必须要有客户端。web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。

性能方面:

  • web关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory等。

兼容方面:

  • web更倾向于浏览器和电脑硬件,电脑系统方面的兼容,测试则要看分辨率,操作系统、网络。不必考虑安装卸载。
  • 而app是客户端的,则必须测试安装、更新、卸载。还要考虑到异常场景(包括安装时的中断、弱网、安装后删除安装文件 )

(19) 测试结束的标准是什么?

  • 全部测试用例都被执行完成
  • 未修改bug都被确认或置为应有状态,暂缓修改的问题都有详尽的解析
  • 测试报告编写完成
  • 测试收尾工作结束
  • 测试总结完成项目处于试运行或上线阶段
  • 在测试计划中定义结束的标准:在一定性能下平稳运行多少天、本版本没有严重bug,普通buh数量在多少个以下,bug修复百分之多少以上

(20) 简述缺陷的生命周期?

  • 软件测试人员提交缺陷报告;
  • 测试负责人审核后将缺陷分配给相关开发人员修复
  • 缺陷被修改后有测试人员根据缺陷报告中修改记录进行返测
  • 返测通过的缺陷由负责人关闭;
  • 返测未通过的缺陷直接返回给开发人员重新修改,然后再由测试人员返测,直到测试和开发达成一致处理意见。

(21) 软件测试的7个基本原则

  • 原则1:尽早介入测试;
  • 原则2:测试只能说明缺陷存在,而不能说明缺陷不存在;
  • 原则3:穷举测试是不可能的
  • 原则4:缺陷具有集群性(二八原则)
  • 原则5:杀虫剂博伦
  • 原则6:测试活动依赖于测试内容
  • 原则7:无错误谬论

 
 

闲聊问题(测试很喜欢问)
 

(1)你的测试职业发展或规划是什么?

  • 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。

(2)你认为测试人员需要具备哪些素质

  • 做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。除了耐心,测试人员不能放过每一个可能的错误。

(3)你为什么能够做测试这一行,你的优势在哪?

虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还有有一定的沟通能力,耐心、细心等外在因素。我的优势在于对测试坚定不宜的信心和热情,测试需要的基本技能我有信心在工作中得以发挥。

(4)测试的目的是什么?

测试的目的是找出软件产品中的错误,使软件尽可能的符合用户的要求。当然软件测试是不可能找出全部错误的。

(5)怎样看待加班问题

  • 我觉得 任何一家单位都有可能要加班。如果自己的工作没有按时完成,那自觉加班是理所当然的,当然,自己要不断提高工作效率,避免这种原因导致的加班。如果遇到紧急任务或者突发状况时,为了顺利配合团队完成任务,我会尽自己所能加班共同完成。

(6)结合你以前的学习和工作经验,你认为如何做好测试。

根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。

(7)你为什么选择软件测试行业

  • 由于国内软件企业对软件测试技术的认知比较晚,因此在这方面的专业人才在国内非常短缺,理论上开发和测试应该1:1的,但是软件测试人才却不足需求量的1/10,而现在供与求的差距还在进一步拉大。
  • 由于用户对产品质量需求的提升,所以对测试的技术和流程有了更高的要求,测试不再仅仅是发现错误,它涉及的范围更广,所以测试人员在企业内部职能只会越来越重要,特别是北上广深等一带,而其他城市也会陆续跟上发展。所以,软件测试的前景只会是越来越好。

(8)根据你以前的工作或学习经验描述一下软件开发、测试过程,由哪些角色负责,你做什么

要有架构师、开发经理、测试经理、程序员、测试员。我在里面主要是负责所分到的模块执行测试用例。

(9)根据你的经验说说你对软件测试/质量保证的理解

软件质量保证与测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据和预期的输出结果),并根据这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面进行测试以检查其功能、语言有效性及其外观排布。

(10) 职业规划

  • 在工作的第一个阶段,先尽快适应工作的环境,包括测试环境和测试工具等,把自己负责的部分快速的完成,不能出差错。
  • 第二个阶段要熟悉整个业务流程,所有模块的结构和依赖关系,知道每个模块为什么要这么设计,该具体去怎么测试
  • 第三个阶段要培养团队协作意识,可以独立或者在别人的协作下完成整个测试项目。

在工作和项目中多写博客或者笔记,积累技术影响力,将经验总结成文档。同时与同事搞好关系。

(11)软件测试的核心竞争力

测试人员的核心竞争力在于

  • 提早发现问题,问题发现的越早,解决的成本越低。
  • 并能够发现别人无法发现的问题,别人发现不了,而你可以发现,那么你就是无法被替代。

微信红包功能测试

功能测试

  • 在红包钱数,和红包个数的输入框中只能输入数字
  • 红包里最多和最少可以输入的钱数 200 0.01
  • 拼手气红包最多可以发多少个红包 100、超过最大拼手气红包的个数是否有提醒
  • 当红包钱数超过最大范围是不是有对应的提示
  • 当发送的红包个数超过最大范围是不是有提示
  • 当余额不足时,红包发送失败
  • 在红包描述里是否可以输入汉字,英文,符号,表情,纯数字,汉字英语符号,是否可以输入它们的混合搭配
  • 输入红包钱数是不是只能输入数字
  • 红包描述里许多能有多少个字符 10个
  • 红包描述,金额,红包个数框里是否支持复制粘贴操作
  • 红包描述里的表情可以删除
  • 发送的红包别人是否可以领取、发的红包自己可不可以领取 2人
  • 24小时内没有领取的红包是否可以退回到原来的账户、超过24小时没有领取的红包,是否还可以领取
  • 用户是否可以多次抢一个红包
  • 发红包的人是否还可以抢红包 多人
  • 红包的金额里的小数位数是否有限制
  • 可以按返回键,取消发红包
  • 断网时,无法抢红包
  • 可不可以自己选择支付方式
  • 余额不足时,会不会自动匹配支付方式
  • 在发红包界面能否看到以前的收发红包的记录
  • 红包记录里的信息与实际收发红包记录是否匹配
  • 支付时可以密码支付也可以指纹支付
  • 如果直接输入小数点,那么小数点之前应该有个0
  • 支付成功后,退回聊天界面
  • 发红包金额和收到的红包金额应该匹配
  • 是否可以连续多次发红包
  • 输入钱数为0,"塞钱进红包"置灰

性能测试

  • 弱网时抢红包,发红包时间
  • 不同网速时抢红包,发红包的时间
  • 发红包和收红包成功后的跳转时间
  • 收发红包的耗电量
  • 退款到账的时间

兼容测试

  • 苹果,安卓是否都可以发送红包
  • 电脑端可以抢微信红包

界面测试

  • 发红包界面没有错别字
  • 抢完红包界面没有错别字
  • 发红包和收红包界面排版合理,
  • 发红包和收到红包界面颜色搭配合理

安全测试

  • 对方微信号异地登录,是否会有提醒 2人
  • 红包被领取以后,发送红包人的金额会减少,收红包金额会增加
  • 发送红包失败,余额和银行卡里的钱数不会少
  • 红包发送成功,是否会收到微信支付的通知

易用

  • 红包描述,可以通过语音输入
  • 可以指纹支付也可以密码支付

反问

技术面反问:

岗位主要负责的工作
从规划到完成任务的工作流程是什么?
最常用的技术
还需要学习哪些内容
最近半年工作压力最大的时候,面临什么情况?
平时团队内是如何沟通交流的和分配任务的?
不能在预期时间内完成工作会怎样?
团队正在经历的尚未解决的挑战是什么?
HR面反问:

部门的组织架构是怎么样的
岗位的考核标准
试用期的情况
针对新员工有哪些培训
五险一金缴纳情况
年假、事假、病假、产假等每年都有多少天?
公司的晋升通道和晋升机制是怎样的?

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcakib
系列文章
更多 icon
同类精品
更多 icon
继续加载