精华内容
下载资源
问答
  • 需求分析,设计,开发,测试,发布,这些都为项目最终成功服务。书本上我们学到的是怎么做一个理论上理想状态下的测试计划,但是在现实中不可能有这种理论状态出现。时间,成本和质量本身一个

    首先是做计划,我觉得以下几点是做计划的时候需要关注的。
    1.对项目基本情况的了解。基本情况主要是指整个项目或产品的范围,包括时间,成本(资源)和质量要求。作为Test Leader,需要首先和PM沟通的也是这几点。需求分析,设计,开发,测试,发布,这些都是为项目的最终成功服务的。书本上我们学到的是怎么做一个理论上理想状态下的测试计划,但是在现实中不可能有这种理论状态出现的。时间,成本和质量本身是一个互相制约的三角关系,在制定测试计划之前我们一定要很清楚项目的范围和目标,只有在这个前提下我们才可能定出一个满足项目要求的合理的测试计划。
    2.风险评估和准备。测试阶段是整个软件开发生命周期中相对靠后的一个阶段,也是对其他阶段的依赖性最高的一个阶段。测试工作本身的成功与否,与前面几个阶段的质量密切相关;而测试阶段又是一个项目最终能否成功的决定性阶段。风险的控制在测试阶段就显得尤为重要。我个人认为风险的评估和准备是否充分合理,是衡量一个测试计划质量高低的关键因素。
    3.重视人的作用。我们在计划中,都以人月或人日来标示工作量,而忽略了人与人之间的差异性。在我看来,这是计划过程中一个很容易被忽略的一个风险。我一般通过标示团队中成员的一个能力因子来把每个人的能力差异反应出来。

    接下来说说写测试用例时需要关注的东西。版上大牛多多,像覆盖率啊这些最基本的东西我这里就不细说了,说一下大家可能会忽略或者我在实践中认为比较有用的几点。
    1.提前介入。我们以前的做法是开发人员开始编码的时候我们也开始写case,但是发现效果不好,而且受需求分析的质量影响很大。后来我们在另一个项目中,BA写好一个需求文档我们就开始写case,同时BA保证对测试团队的支持。这样我们有效的提高了case的有效性,同时在完成需求分析阶段后测试团队就成为了除了BA外对需求最熟悉的团队。
    2.避免开发人员的影响。测试团队要尽量避免因为开发过程中的原因修改case,除非BA或者客户同意进行需求变更。
    3.变更控制。我们一般要求测试用例在开发阶段前基线化。之后的变更要严格遵循变更管理的流程,对于测试用例来讲,一定要保持和需求文档的同步。需求文档变化,相应的测试用例也要变化,反之,没有需求的变化,测试用例就不能变,除非是测试用例本身的缺陷。

    展开全文
  • 测试面试基础题集合

    千次阅读 2019-03-28 16:46:21
    您认为做好测试用例设计工作的关键是什么? 以较少的测试用例覆盖尽可能多的需求和测试点!白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。 黑盒法用例设计的关键同样也是以较少的用例覆盖...

    面试基础题集合

    您认为做好测试用例设计工作的关键是什么?

    以较少的测试用例覆盖尽可能多的需求和测试点!白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。

    您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。

    1.等价类划分
    划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定。测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.例如:主要应用于有数据输入的地方,如注册登录界面;
    2.边界值分析法
    边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.
    3.因果图方法
    前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.
    4.错误推测法
    基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.
    错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.

    我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?

    1、检查系统是否有中毒的特征;
    2、检查软件/硬件的配置是否符合软件的推荐标准;
    3、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;
    4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
    5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。

    什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?

    在同一时间点,支持多个不同的操作。
    LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。
    集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。集合点失败,则集合点的才操作就会取消,测试就不能进行。

    写出bug报告当中一些必备的内容。

    硬件平台和操作系统
    测试应用的硬件平台(Platform),通常选择“PC”。
    测试应用的操作系统平台(OS)。
    a) 版本
    提交缺陷报告时通过该字段标识此缺陷存在于被测试软件的哪个版本。
    b) Bug报告优先级
    c) Bug状态
    d) Bug的编号
    e) 发现人
    f) 提交人
    g) 指定处理人
    h) 概述
    i) 从属关系
    j) 详细描述
    k) 严重程度
    l) 所属模块
    m) 附件
    n) 提交日期

    简述一下缺陷的生命周期?

    发现->提交->确认->分配->修复->验证->关闭。回归不通过打回

    判断题(正确的“√”,错误的“╳”)

    (1)发现错误是软件测试的目的(╳)
    (2)白盒测试可以找出软件遗漏功能和代码错误功能。(╳)
    (3)在设计测试用例时,应包括合理的应用条件和不合理的应用条件。 (√)
    (4)软件缺陷一定是由编码引起的错误。 (╳)
    (5)文档测试是对系统提交给用户的文档进行验证,并不是一般性的审查活动。(√)

    如何编写提交给用户的测试报告?

    随着测试工作越来越受重视,开发团队向客户提供测试文档是不可避免的事情。很多人会问:“我们可以把工作中的测试报告提供给客户吗?”答案是否定的。因为提供内部测试报告,可能会让客户失去信心,甚至否定项目。
    测试报告一般分为内部测试报告和外部测试报告。内部报告是我们在测试工作中的项目文档,反映了测试工作的实施情况,这里不过多讨论,读者可以参考相关教材。这里主要讨论一下外部测试报告的写法,一般外部测试报告要满足下面几个要求:

    • 根据内部测试报告进行编写,一般可以摘录;
    • 不可以向客户报告严重缺陷,即使是已经修改的缺陷,开发中的缺陷也没有必要让客户知道;
    • 报告上可以列出一些缺陷,但必须是中级的缺陷,而且这些缺陷必须是修复的;
    • 报告上面的内容尽量要真实可靠;
    • 整个测试报告要仔细审阅,力争不给项目带来负面作用,尤其是性能测试报告。
      总之,外部测试报告要小心谨慎的编写。

    没有产品说明书和需求文档地情况下能够进行黑盒测试吗?

    这个问题是国内测试工程师经常遇到的问题,根源就是国内软件开发文档管理不规范,对变更的管理方法就更不合理了。实际上没有任何文档的时候,测试人员是能够进行黑盒测试的,这种测试方式我们可以称之为探索测试,具体做法就是测试工程师根据自己的专业技能、领域知识等不断的深入了解测试对象、理解软件功能,进而发现缺陷。
    在这种做法基本上把软件当成了产品说明书,测试过程中要和开发人员不断的进行交流。尤其在作项目的时候,进度压力比较大,可以作为加急测试方案。最大的风险是不知道有些特性是否被遗漏。

    在测试一个web页面时,页面显示为空白页,如何定位问题所在?可能是哪些原因引起的?

    1、本身页面代码就是空白的。浏览器按F12查看
    2,本地无网络,浏览器是否缓存是否为空白页
    3,发送超时,接收超时,服务器超时。
    4,域名错误,ip解析不了。

    软件的评审一般由哪些人参加?其目的是什么?

    在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。
    人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段

    描述测试用例设计的完整过程?

    需求分析 + 需求变更的维护工作;
    根据需求 得出测试需求;
    设计测试方案,评审测试方案;
    方案评审通过后,设计测试用例,再对测试用例进行评审;

    用Android系统和iOS系统进行软件测试,会有哪些不同?

    1 . Android长按home键呼出应用列表和切换应用,然后右滑则终止应用
    2. 多分辨率测试,Android端20多种,ios较少
    3. 手机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash)
    4. 操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等
    5. push测试:Android:点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转;ios,点击home键关闭程序和屏幕锁屏的情况(红点的显示)
    6. 安装卸载测试:Android的下载和安装的平台和工具和渠道比较多,ios主要有app store,iTunes和testflight下载
    7. 升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法)

    LoadRunner分哪三部分?

    • 用户动作设计
    • 场景设计
    • 测试数据分析

    数据库内联接和外连接,自联接有什么区别?

    内联接通常是2个表存在主外键关系时使用的,
    内联接查询有2种方式实现:
    1是在WHERE 子句中指定联接条件
    2是在FROM子句中使用join…on
    内联接查询通常不仅仅联接2表,可以3表甚至更多的表
    参与内联接的表的地位是平等的
    而外联接中参与联接的表有主从之分。以主表的每行数据去匹配从表的数据列,符合条件的数据将直接返回到结果集中,不符合的用NULL(空值)填充后再返回到结果集中

    测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?

    软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
    测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)

    当开发人员说不是BUG时,你如何应付?

    开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认

    软件测试的缺陷等级如何划分?

    A类—严重错误,包括以下各种错误:
    1. 由于程序所引起的死机,非法退出
    2. 死循环
    3. 数据库发生死锁
    4. 因错误操作导致的程序中断
    5. 与数据库连接错误
    6. 数据通讯错误
    B类—较严重错误,包括以下各种错误:
    1. 程序接口错误
    2. 系统可被执行,但操作功能无法执行(含指令)
    3. 单项操作功能可被执行,但在此功能中某些小功能(含指令参数的使用)无法被执行(对系统非致命的)
    4. 在小功能项的某些项目(选项)使用无效(对系统非致命的)
    5. 业务流程不正确
    6. 功能实现不完整,如删除时没有考虑数据关联
    7. 功能的实现不正确,如在系统实现的界面上,一些可接受输入的控件点击后无作用;对数据库的操作不能正确实现;
    8. 报表格式以及打印内容错误(行列不完整,数据显示不在所对应的行列等导致数据显示结果不正确的错误)
    C类—一般性错误,包括以下各种错误:
    1. 操作界面错误(包括数据窗口内列名定义、含义是否一致)
    2. 打印内容、格式错误(只影响报表的格式或外观,不影响数据显示结果的错误)
    3. 简单的输入限制未放在前台进行控制
    4. 删除操作未给出提示
    5. 已被捕捉的系统崩溃,不影响继续操作
    6. 虽然正确性不受影响,但系统性能和响应时间受到影响
    7. 不能定位焦点或定位有误,影响功能实现
    8. 显示不正确但输出正确
    9. 增删改功能,在本界面不能实现,但在另一界面可以补充实现。
    D类—较小错误,包括以下各种错误:
    1. 界面不规范
    2. 辅助说明描述不清楚
    3. 输入输出不规范
    4. 长时间操作未给用户提示
    5. 提示窗口文字未采用行业术语
    6. 可输入区域和只读区域没有明显的区分标志
    7. 必填项与非必填项应加以区别
    8. 滚动条无效
    9. 键盘支持不好,如在可输入多行的字段中,不支持回车换行;或对相同字段,在不同界面支持不同的快捷方式
    10. 界面不能及时刷新,影响功能实现
    E类—其他错误
    1. 光标跳转设置不好,鼠标(光标)定位错误
    2. 一些建议性问题

    逻辑题,一个是一个6L水的水壶,一个5L水的水壶,旁边有一个池塘,如何用这两个水壶,倒出3L水

    第一步:5升加满全部倒入6升中,5升再加满倒入6升使6升加满,此时6升满5升中剩4升;
    第二步:清空6升.把5升容器中的4升倒入6中,此时6升中有4升
    第三步:加满5升,倒入6升中使其加满,此时5升中剩3升

    想象一个登录框,包括ID、密码、登录、取消,记住密码(复选框),尽可能的写出你想到的测试点

    ID测试要点:
    字符类型(包括:数字、字母、汉字、特殊字符)
    字符长度
    默认值
    空值
    字符集
    存在空格
    复制、粘贴
    密码测试要点
    密码长度(例如:密码不能少于7个字符,最长不能超过20个字符) 密码复杂度、强度(例如:密码必须包含特殊字符、数字字母大小写等等,长度是否长)
    密码字符类型(例如:只允许输入数字、字母、特殊字符、下划线)
    默认值
    密码为空
    字符集
    存在空格
    复制、粘贴
    登录测试要点
    ① 用户名和密码都符合要求(格式上的要求)
    ② 用户名和密码都不符合要求(格式上的要求)
    ③ 用户名符合要求,密码不符合要求(格式上的要求)
    ④ 密码符合要求,用户名不符合要求(格式上的要求)
    ⑤ 用户名或密码为空
    ⑥ 数据库中不存在的用户名,不存在的密码
    ⑦ 数据库中存在的用户名,错误的密码
    ⑧ 数据库中不存在的用户名,存在的密码
    ⑨ 输入的数据前存在空格
    ⑩ 输入正确的用户名密码以后按[enter]是否能登陆
    取消
    鼠标左键点击“取消”按钮
    鼠标左键双击“取消”按钮
    鼠标右键点击“取消”按钮
    鼠标右键双击“取消”按钮
    鼠标指针移动到“取消”按钮”,按回车键 鼠标指针停留在“取消”按钮上
    记住密码(复选框)
    点击选中“记住密码”按钮,重新登录
    不选中“记住密码”按钮,重新输入密码登录
    输入已存在ID和错误密码,勾选“记住密码”,点击登录 输入错误ID和正确密码,勾选“记住密码”,点击登录 输入正确ID和正确密码,勾选“记住密码”,点击登录 输入错误ID和错误密码,勾选“记住密码”,点击登录.

    访问一个完整http请求会经历哪些问题

    1.域名解析
    2.发起TCP的3次握手
    3.建立TCP连接后发起http请求
    4.服务器端响应http请求,浏览器得到html代码
    5.浏览器解析html代码,并请求html代码中的资源
    6.浏览器对页面进行渲染呈现给用户。

    https和http请求的区别?

    https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
    http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
    http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
    http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全性更加高。

    http https
    TCP SSL/TLS(安全套接层)
    IP TCP
    IP
    数据链路层 数据链路层

    http有哪些请求方式,get和post请求有什么区别

    HTTP1.0定义了三种请求方法: GET, POSTHEAD方法。
    HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACECONNECT 方法

    方法 描述
    GET 请求指定的页面信息,并返回实体主体。
    HEAD 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
    POST 请求指定的页面信息,并返回实体主体。
    PUT 从客户端向服务器传送的数据取代指定的文档的内容。
    DELETE 请求服务器删除指定的页面。
    CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
    OPTIONS 允许客户端查看服务器的性能。
    TRACE 回显服务器收到的请求,主要用于测试或诊断。
    1. Get传输的数据量小,因为受URL长度限制,但效率较高,Post可以传输大量数据,所以上传文件时只能用Post方式
    2. post较get安全性较高,get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等.
    3. get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码,post支持标准字符集,可以正确传递中文字符
    4. get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?“连接,多个请求数据间用”&"连接,如:http://127.0.0.1/Test/login.actionname=admin&password=admin,这个过程用户是可见的;post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的

    cookie与session区别?

    • cookie数据存放在客户的浏览器上,session数据放在服务器上
    • cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session
    • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用COOKIE
    • 单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K
    • Cookie和Session的方案虽然分别属于客户端和服务端,但是服务端的session的实现对客户端的cookie有依赖关系的,上面我讲到服务端执行session机制时候会生成session的id值,这个id值会发送给客户端,客户端每次请求都会把这个id值放到http请求的头部发送给服务端,而这个id值在客户端会保存下来,保存的容器就是cookie,因此当我们完全禁掉浏览器的cookie的时候,服务端的session也会不能正常使用。

    http请求和http响应包含哪些内容

    请求报文包含三部分:
    a、请求行:包含请求方法、URI、HTTP版本信息
    b、请求首部字段
    c、请求内容实体
    响应报文包含三部分:
    a、状态行:包含HTTP版本、状态码、状态码的原因短语
    b、响应首部字段
    c、响应内容实体

    你所熟悉的软件测试类型有哪些?

    1. 按测试阶段划分
      单元测试→集成测试→系统测试→回归测试
    2. 按技术划分
      白盒测试、黑盒测试、灰盒测试
    3. 按测试对象是否运行划分
      静态测试、动态测试
    4. 按不同的测试手段划分
      手工测试、自动化测试
    5. 按测试包含的内容来划分
      功能测试、性能测试、UI测试、接口测试、安全测试、兼容性测试、易用性测试、压力测试、负载测试、恢复测试
    6. 其它测试
      冒烟测试、探索性测试

    接口测试用例的编写要点有哪些?

    1. 测试每个参数类型不合法的情况(类型不合法容易遗漏null型)
    2. 测试每个参数取值范围不合法的情况
    3. 测试参数为空的情况
    4. 测试参数前后台定义的一致性
    5. 测试每个参数的上下限(这里容易出现致命的BUG,如果程序处理不当,可能会程序导致崩溃)
    6. 如果两个请求有严格的先后顺序,需要测试调转顺序的情况
    展开全文
  • 1、您认为做好测试用例设计工作的关键是什么?白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少...

    1、您认为做好测试用例设计工作的关键是什么?

    白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果   黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

    2、问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?

    300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。

    300个用户在一个客户端上,需要更大的带宽。

    IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。

    所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

    3、软件配置管理的作用?软件配置包括什么?

    软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。

    软件配置包括如下内容:配置项识别、工作空间管理、版本控制、变更控制、状态报告、配置审计

    4、目前主要的测试用例设计方法是什么?

    白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖

    黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法

    5、什么是测试用例 什么是测试脚本 两者的关系是什么?

    为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。

    测试脚本是为了进行自动化测试而编写的脚本。

    测试脚本的编写必须对应相应的测试用例

    6、简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试

    静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。

    动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。

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

    白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。

    α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。

    β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

    7、软件测试分为几个阶段 各阶段的测试策略和要求是什么?

    和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试、验收测试四个主要阶段:

    单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。

    集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。

    系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。

    验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试。

    单元测试测试策略:

    自顶向下的单元测试策略:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。

    自底向上的单元测试策略:比较合理的单元测试策略,但测试周期较长。

    孤立单元测试策略:最好的单元测试策略。

    集成测试的测试策略:

    大爆炸集成:适应于一个维护型项目或被测试系统较小

    自顶向下集成:适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。

    自底向上集成:适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。

    基于进度的集成

    优点:具有较高的并行度;能够有效缩短项目的开发进度。

    缺点:桩和驱动工作量较大;有些接口测试不充分;有些测试重复和浪费。

    系统测试的测试策略:

    数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;可用性测试;版本验证测试;文档测试

    8、软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容?

    单元测试阶段:各独立单元模块在与系统地其他部分相隔离的情况下进行测试,单元测试针对每一个程序模块进行正确性校验,检查各个程序模块是否正确地实现了规定的功能。生成单元测试报告,提交缺陷报告。

    集成测试阶段:集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。该阶段生成集成测试报告,提交缺陷报告。

    系统测试阶段:将通过确认测试的软件,作为整个给予计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行全面的功能覆盖。该阶段需要提交测试总结和缺陷报告。

    9、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!

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

    黑盒测试的缺点有:不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;自动化测试的复用性较低。

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

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

    10、如何测试一个纸杯?

    功能度:用水杯装水看漏不漏;水能不能被喝到

    安全性:杯子有没有毒或细菌

    可靠性:杯子从不同高度落下的损坏程度

    可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

    兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

    易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

    用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

    疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等

    压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

    11、你自认为测试的优势在哪里?

    该面试也没有固定不变的答案,但可参考以下几点,并结合自身特点:

    有韧性、有耐心、做事有条理性、喜欢面对挑战、有信心做好每一件事情、较强的沟通能力、从以前的经理处都得到了很好的评价表明我做的很好

    end

    推荐阅读:

    【软件测试】杰出软件测试工程师具备的五种能力

    【软件测试】软件测试是找bug,不是找茬


    展开全文
  • 1、您认为做好测试用例设计工作的关键是什么? 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以...

    1、您认为做好测试用例设计工作的关键是什么?
      白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
      黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

    2、问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
      300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。
      300个用户在一个客户端上,需要更大的带宽。
      IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。
      所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

    3、软件配置管理的作用?软件配置包括什么?
      软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
      软件配置包括如下内容:配置项识别、工作空间管理、版本控制、变更控制、状态报告、配置审计

    4、目前主要的测试用例设计方法是什么?
      白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖
      黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法

    5、什么是测试用例 什么是测试脚本 两者的关系是什么?
      为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。
      测试脚本是为了进行自动化测试而编写的脚本。
      测试脚本的编写必须对应相应的测试用例

    6、简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试
      静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。
      动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。
      黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。
      白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。
      α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。
      β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

    7、软件测试分为几个阶段 各阶段的测试策略和要求是什么?
      和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试、验收测试四个主要阶段:
      单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。
      集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。
      系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。
      验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试。
      单元测试测试策略:
      自顶向下的单元测试策略:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。
      自底向上的单元测试策略:比较合理的单元测试策略,但测试周期较长。
      孤立单元测试策略:最好的单元测试策略。
      集成测试的测试策略:
      大爆炸集成:适应于一个维护型项目或被测试系统较小
      自顶向下集成:适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。
      自底向上集成:适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。
      基于进度的集成
      优点:具有较高的并行度;能够有效缩短项目的开发进度。
      缺点:桩和驱动工作量较大;有些接口测试不充分;有些测试重复和浪费。
      系统测试的测试策略:
      数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;可用性测试;版本验证测试;文档测试

    8、软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容?
      单元测试阶段:各独立单元模块在与系统地其他部分相隔离的情况下进行测试,单元测试针对每一个程序模块进行正确性校验,检查各个程序模块是否正确地实现了规定的功能。生成单元测试报告,提交缺陷报告。
      集成测试阶段:集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。该阶段生成集成测试报告,提交缺陷报告。
      系统测试阶段:将通过确认测试的软件,作为整个给予计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行全面的功能覆盖。该阶段需要提交测试总结和缺陷报告。

    9、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!
      黑盒测试的优点有:比较简单,不需要了解程序内部的代码及实现;与软件的内部实现无关; 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便。
      黑盒测试的缺点有:不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;自动化测试的复用性较低。
      白盒测试的优点有:帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐 藏的问题。
      白盒测试的缺点有:程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销会非常大。

    10、如何测试一个纸杯?
      功能度:用水杯装水看漏不漏;水能不能被喝到
      安全性:杯子有没有毒或细菌
      可靠性:杯子从不同高度落下的损坏程度
      可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
      兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
      易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
      用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
      疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等
      压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

    11、你自认为测试的优势在哪里?
      该面试也没有固定不变的答案,但可参考以下几点,并结合自身特点:
      有韧性、有耐心、做事有条理性、喜欢面对挑战、有信心做好每一件事情、较强的沟通能力、从以前的经理处都得到了很好的评价表明我做的很好

    转载于:https://blog.51cto.com/11170714/2174493

    展开全文
  • 1、您认为做好测试用例设计工作的关键是什么? 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果  黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以...
  • 软件测试教程课后答案【篇一:软件测试习题答案】>一.简答题和应用题:1测试人员面试题01....02.您认为做好测试用例设计工作的关键是什么?白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程...
  • 软件测试相关内容

    2017-05-23 12:21:00
    1、您认为做好测试用例设计工作的关键是什么? 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以...
  • (一)您认为做好测试用例设计工作的关键是什么?(二)您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。(三)我现在有个程序,发现在Windows上运行得很慢,...
  • 01.您认为做好测试用例设计工作的关键是什么? 对需求能够深入了解,了解提出该需求的原因以及业务背景,掌握需求的来龙去脉,获取更多更详细的需求,如功能、非功能等。以及软件设计概要文档,了解程序的架构和...
  • 1、您认为做好测试用例设计工作的关键是什么? 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以...
  • 整理测试面试题

    2019-03-20 21:24:54
    测试 会自动化吗?什么是自动化测试? 会 但目前只停留在工具操作的层面比如说 jmeter和loadrunner工具,我觉得自动化测试就是利用工具和代码来解决一部分功能测试...你认为做好测试用例设计工作的关键是什么? 对要...
  • 2021-01-07

    2021-01-07 10:58:16
    95您认为做好测试用例设计工作的关键是什么?  对业务和软件需求非常清楚,可以根据需求不同选择不同的测试用例设计 96、.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的...
  • 2021-01-06

    2021-01-06 08:45:51
    55:您认为做好测试用例设计工作的关键是什么? 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以...
  • 软件测试经典面试题 (超实用)

    热门讨论 2012-02-16 13:48:08
    69、您认为做好测试用例设计工作的关键是什么? 21 70、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 21 71、测试计划工作的目的是什么?测试计划工作的内容都包括什么...
  • 公司真实面试题

    2017-08-20 16:01:00
    3.认为做好测试用例设计工作的关键是什么? 4.还有一题是让写loadrunner工具的工作原理,还有步骤,还有性能的一些指标含义,我们现在公司也用这个,大家这个工具一定要学,不管是在培训还是自学,面试被问的概率太大...
  • 测试面试题总结

    2019-03-19 09:38:04
    做好测试用例设计工作关键是什么? 白盒测试用例设计关键是以较少用例覆盖尽可能多内部程序逻辑结果。 黑盒测试用例设计关键也是以较少用例覆盖尽可能多功能模块,以最少用例在何为时间范围内发现最多...
  • 奇虎360软件测试笔试题

    千次阅读 2012-07-28 15:11:19
    一:测试知识  1、一名优秀的测试工程师需要哪些素质;... 5、做好测试用例设计工作关键的是什么?  白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果. 黑盒测试用例设计的关键同样也是以
  • 个人软件测试学习

    2019-04-18 09:41:22
    3、你认为做好测试用例工作的关键是什么? 需求和设计文档的理解程度,对系统的熟悉程度 2)白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖....
  • 【纯干货!!!】花费了整整3天,整理出来的全网最实用软件测试面试大全,一共30道题目+答案的纯干货,希望大家多多支持,建议 点赞!...坚持“5W”规则,明确内容与过程55:您认为做好测试用例设计工作的关键是
  • 文章目录1.软件测试分哪2种方法?分别适合什么情况?2.白盒测试有几种方法?3.系统测试计划是否需要同行审批,为什么?4.Alpha测试与beta的区别?5.比较负载测试,容量测试和...11.您认为做好测试用例设计工作的关键...
  • 测试面试题

    万次阅读 2018-03-01 17:13:03
    软件测试原则1 good enough2 80-20原则3 尽早的进行测试4 集群性5 交叉测试 进程和线程的区别1、根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑...3、 您认为做好测试计划工作的关键...
  • 软件测试面试汇总

    万次阅读 2015-10-05 12:58:16
    关注我公众号,会分享更多技术相关文章 软件测试原则 1 good enough 2 80-20原则 3 尽早的进行测试 ...1、根据自己的理解什么是测试用例和测试规程,...3、 您认为做好测试计划工作的关键是什么? 4、请画出软...
  • 接口测试的用例设计是关键,不能只是单纯正常请求通过就算接口测试过了,要从业务、功能、性能等上去设计用例。下面给大家分享下软件测试源码、框架、笔记学习教程:最新接口测试技术精讲: 课程目标 《接口测试》这...
  • 4.3 基于uml视图的测试用例设计 61 4.4 小结 65 第5章 从虚拟测试环境到一键部署 67 5.1 虚拟出更多机器 67 5.2 虚拟疑问 70 5.3 另一种把资源用到极致方法 71 5.4 一键部署 73 第6章 客户端gui测试自动化 ...
  • 1、您认为做好测试用例设计工作的关键是什么? 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以...
  • 计划应包括测试内容、进度、条件、人员、测试用例的选取原则、测试结果允许偏差范围等。  ◇ 测试分析报告:测试工作完成以后,应提交测试计划执行情况说明,对测试结果加以分析,并提出测试结论意见。 ...
  • 1、极限测试必须注意,测试前应对某项设计的极限做好充分测试规划。 2、测试极限时还要注意多种业务接入点,本例为ISDN。对于交换机来说,任何一种业务都要分别在模拟话机、ISDN话机、V5话机、多种形式话务台上...
  • CruiseYoung提供带有详细书签电子书籍目录 ... 15.1 测试用例 416 15.2 测试方法 417 15.3 单元测试 418 15.4 回归测试 422 15.5 模式修改 422 15.6 重复单元测试 425 15.7 执行计划比较 426 15.8 ...
  • CruiseYoung提供带有详细书签电子书籍目录 ... 该资料《Oracle SQL高级编程》源代码 ... 15.1 测试用例 416 15.2 测试方法 417 15.3 单元测试 418 15.4 回归测试 422 15.5 模式修改 422 15.6...
  • 接口测试的用例设计是关键,不能只是单纯正常请求通过就算接口测试过了,要从业务、功能、性能等上去设计用例。 今天小千为大家准备了2019最新接口测试技术精讲资源!! 本次完全免费放送! ...

空空如也

空空如也

1 2
收藏数 30
精华内容 12
关键字:

做好测试用例设计工作的关键是什么