- 用于判断“新引入的变化没有给现有软件造成破坏”的测试方法是回归测试
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。 - 一个函数的入参是一个int类型,但是有效输入只有[0,100]范围的数,如果你要测试这个函数,你会选择以下哪组入参,是最全面且最精简的 -1,0,1,67,99,100,101
a.给定了有效输入,使用边界值分析法。对数组的有效范围进行测试。
b.这里的有效范围是 [0,100]。
c.可以测试越界的,这里可以使用 -1、101,数组的前两位 0、1,数组的最后两位 99、100,中部一位 67。 - 边界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值,记为:min、min+、nom、max-、max考虑到健壮性测试,还可以加一个略大于最大值max+,以及一个略小于最小值min-的值。
在边界值分析时,有下面几个点:
上点:指边界上得点,无论此时得域是开区间还是闭区间,开区间得话,上点就是在域外,闭区间得话,上点就是在域内。
离点:指得就是离上点最近得点,这里就跟是闭区间还是开区间就有关系了,如果是开区间,那么离点就在域内,如果是闭区间,那么离点就在域外。
内点:域内得任意点都是内点。 - 测试人员在Windows?Server?2003系统下,通过逐步增加用户数对某购物 站进行测试,统计发现该平台在吞吐量超过300页每秒时,系统处于失效状态。该测试内容为压力测试
负载测试:是通过逐步增加系统负载,测试系统性能的变化,并在满足最终确定性能指标的情况下,系统所能承受的最大负载量的测试
压力测试:逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试,侧重于观察资源耗尽情况下的软件表现的系统测试
压力测试是测试软件的瓶颈和极限;负载测试是性能在极限情况下能坚持多久
性能测试:是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。 - 软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试。
- 为验证程序模块 A 是否正确实现了规定的功能,需要进行 单元测试 ;为验证模块 A 能否与其他模块按照规定方式正确工作,需要进行 集成测试 。
模块内部测试是单元测试,单元测试能发现约80%的软件缺陷;
模块之间是集成测试 - 单元测试主要技术手段有 驱动代码、Stub代码、Mock代码;
属于单元测试工具:PureCoverage、Purify、Quantify
GUI测试手段属于系统测试手段 - 在执行集成测试阶段,需要输出的是 集成测试 告
系统测试用例设计应该从需求完成的时候开始。路径测试不是系统测试的内容。 可靠性测试和安装测试属于系统测试
系统测试的16个策略:功能测试,性能测试,压力测试,容量测试,安全性测试,GUI测试,可用性测试,安装测试,配置测试,异常测试,备份测试,健壮性测试,文档测试,在线帮助测试, 络测试,稳定性测试
负载测试属于性能测试,易用性测试属于GUI测试,强度测试属于性能测试,安全测试属于安全性测试,所以以上所有都是系统测试的策略
负载测试:在一定的工作负荷下,系统的负荷及响应时间。
强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。
容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。 - 系统测试由若干个不同的测试类型组成,其中 压力测试 检查系统能力的最高实际限度,即软件在一些超负荷情况下的运行情况。
压力测试:也被称为强度测试,主要通过时间,模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷的运行测试软件,来测试软件系统的性能、可靠性、稳定性等。压力测试是性能测试的一种。 - 设计系统测试计划需要参考的项目文挡有:软件测试计划、软件需求规范、迭代计划
- 系统测试计划属于项目阶段性关键文档,因此需要同行评审。
- 集成测试分为渐增组装测试和非渐增组装测试
集成测试的过程包括:1. 构建的确认过程。 2. 补丁的确认过程。 3. 系统集成测试测试组提交过程。 4. 测试用例设计过程。 5. 测试代码编写过程。 6. Bug的 告过程。 7. 每周/每两周的构建过程。 8. 点对点的测试过程。 9. 组内培训过程。 - **桩模块(Stub)**是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。在自顶向下的集成过程中尤其有效
- 增量式集成是逐步集成和逐步测试的方法
非增量式集成是在对每个单元进行充分测试后、将所有单元全部集成起来,一次性地进行集成测试
**自顶向下集成:**按深度优先或广度优先策略,对各个模块一边组装一边进行测试
**自底向上集成:**从系统层次结构图的最底层模块开始进行组装和测试的方式
三明治式集成:综合自顶向下和自底向上 -
自顶向下增量式集成测试的缺点包括:底层验证被推迟、底层组间测试不充分、柱的开发量大;
自顶向下的测试只需要一个驱动,减少了驱动器开发的费用 - 能及时发现设计上的错误 是自顶向下增量式集成测试特点,自顶向下增量式集成测试不需要开发驱动模块
- 图书管理系统主要包括系统维护模块、工作人员借还管理模块和读者查询模块。在软件测试过程中,测试人员首先对三个模块进行测试,测试完成后再将系统所有模块集成起来进行集成测试。该测试策略为 非增量集成测试
非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求一次全部组装起来所要的系统,然后进行整体测试。 - alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。
Beta测试是用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求用户 告异常情况,提出批评意见。 - **Beta测试的环境是不受开发方控制的,**谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中。
alpha测试先于beta测试执行,beta测试是整个测试的最后阶段
alpha测试是开发环境下的用户测试,beta是实际使用环境下的测试
β(beta)测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试
alpha 测试:需要用户参加;是验收测试的一种
Beta测试是在用户场景下由用户进行的测试 - 在程序片中,所定义的变量未被使用可以通过数据流测试方法进行定位
数据流测试按照程序中的变量定义和使用的位置来选择程序的测试路径。 - 针对手机应用软件的系统测试:功能模块测试,交叉事件测试,压力测试,容量测试,兼容性测试,易用性/用户体验测试等.
对手机可以施加的压力测试类型主要有:存储压力、边界压力、 响应能力压力、 络流量压力 - 对于平方根函数而言,无效等价类划分正确的是:
输入的数值小于0
输入A,%等字符 -
逻辑测试覆盖是白盒测试法常用的技术。主要的覆盖标准有6种,强度由弱到强依次是:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖
白盒测试测试方法:代码检查法、静态结构分析法、静态质量度量法、 逻辑覆盖法、基本路径测试法、 域测试 、符 测试、 路径覆盖和程序变异
白盒测试法的覆盖标准有 逻辑覆盖 、循环覆盖和基本路径测试。
属于黑盒测试方法:等价类划分、边界值分析、因果图分析、正交分析法、错误推测 -
边界值法既可以用于黑盒测试用例,也可以用于白盒测试用例
白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试。
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用
黑盒测试与白盒测试相比,更需要关心模块与模块之间的交互 - **语句覆盖:**保证程序中的每一个语句至少被执行一次。(几个语句,就设计几个测试用例)
判定(断)覆盖:每个分支都至少被执行一次(几个分支/判定语句,就几个)
**判定-条件覆盖:**设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。 几个判定语句,每个语句中有几个条件(满足所有条件的数量)
**条件组合覆盖:**可能的组合都出现一次 - 好的测试要追求对代码的“覆盖率”,条件组合覆盖对代码的覆盖率最高。
- 如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的判定覆盖
判定覆盖是每个判定的真假一次,就会导致所有的结果路径会实现。 - 系统测试是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。
- 灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
- 软件测试应严格执行测试计划,排除测试的随意性
- 软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误
大于、小于、等于、不等于、真、假比较和判断错误很可能是边界条件问题,比较判断与控制流常常紧密相关,设计测试用例时考虑是否出现问题不包括 正确使用逻辑运算符和优先级 - Junit单元测试说法正确的是:
@Test注解标注的测试方法只能是public void的,且不能有任何输入参数
Junit的底层实现上,是用System.exit退出用例执行 - 测试的关键问题是 如何选择测试用例
- 界面元素测试包括:窗口测试、菜单测试、图标测试、文字测试、鼠标测试
功能点测试属于性能方面 - 软件测试对于一个软件开发项目的成功与否具有十分重要的意义,但是在实际的项目开发与管理中仍然存在很多管理上或者技术上的误区,其中包括:
a.期望用测试自动化代替大部分人工劳动
b.忽视软件测试人员在需求阶段的项目参与 - iOS单元测试框架有:XCTest、GHUnit、OCMock
- 动态程序分析是对计算机软件的分析,该计算机软件是通过在真实或虚拟处理器上执行从该软件构建的程序来执行的。
模块功能检查、系统压力测试 属于动态分析 - 风险曝光度(riskexposure)=错误出现率(风险出现率)X错误造成损失(风险损失)
- try…catch,catch捕获到异常,如果没有抛出异常语句(throw),不影响后续程序
- 软件测试用例包括:输入数据和预期输出结果
- 关于自动化测试的说法,错误的是:自动化测试可以大幅度降低工作量
- 测试工程师在软件测试计划阶段依据 工作说明书 制定指定测试进度
v模型把测试过程作为需求分析、概要设计、详细设计及编码之后的阶段
V模型:需求分析-验收测试,概要设计-系统测试,详细设计-集成测试,编码-单元测试 - ×:自动化测试可以大幅度降低工作量
√: 自动化测试在一定程度上是可以减少工作量,但在代码编译阶段还是需要人为操作。
√:自动化测试不能完全覆盖到所有的测试类型 - 服务器性能测试中的性能指标:响应时间,吞吐量,cpu使用量
- 该系统性能测试中应测试的关键指标是交易执行响应时间指标
看见性能选时间,性能与时间挂钩 - 因果图是从需求中找出因和果,通过因果图转化为判定表
因果图法着重测试规格说明中的输入与输出间的依赖关系 - 测试驱动开发不适合使用CMM/CMMI方法
- 若某典型基准测试程序在机器A上运行时需要20s,而在机器B运行时需要25s,那么,机器A的平均CPI是机器B的1.25倍
A的平均CPI:1/20=0.05,B的平均CPI:1/25=0.04,机器A的平均CPI是机器B的0.05/0.04倍
CPI(Clock Cycles per instruction):每条指令的平均时钟周期个数,在相同时钟周期下,cpi越小程序速度越快。但一个程序在一台机器上cpi小也不一定对所有程序都在这台机器上运行的快,CPI的大小和程序本身有关,不同程序在不同机器上可能有不同的运行速度。 - 圈复杂度实际上就是等于判定节点的数量再加上1。计算公式为:V (G) = P + 1
软件测试计划评审会需要参加人员:SQA/项目经理/客户(可选)/配置管理员/测试经理/开发组长/系统分析员 - 静态分析:编码规则检查、程序结构分析、程序复杂度分析
静态分析不涉及被测软件的动态执行,并且可以在运行程序之前的早期阶段检测可能的缺陷。 - 高质量软件应该具备的条件是
a.满足软件需求定义的功能和性能
b.文档符合事先确定的软件开发标准
c.软件的特点和属性遵守软件工程的目标与原则 - 软件测试主要工作内容是验证(verification)和确认(validation)
- 测试设计员的职责有:设计测试用例;设计测试过程、脚本
- 测试驱动开发的简称是TDD(Test Driven Development)
- 络管理员编写了shell程序prog1.sh,测试时程序死循环无法结束,可以通过 ctrl+C 结束程序
工件是加工过程中的生产对象。项目立项前,测试人员是不需要提供任何工件的。 - 测试工具的功能
a.JMeter: 基于JAVA的压力测试工具,Badboy用来进行脚本的录制
b.Junit: 白盒测试工具:针对代码测试
c.LoadRunner:负载压力测试 - 使用软件测试工具的目的包括 帮助测试寻找问题、协助问题的诊断、节省测试时间
- 测试设计员的职责有:设计测试用例;设计测试过程、脚本;
- 代码评审员一般由开发人员担任
- 程序调试的任务是诊断和改正程序中的错误;软件测试的目的是为了发现错误而执行程序的过程
- 测试工程师小刘在对某软件项目进行疲劳强度测试过程中,最先发现内存泄漏以及内存是否不足问题
- 从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法 属于 游的测试内容
- 编写测试用例前需要做哪些准备工作:
阅读产品规格书、阅读已有的bug列表、阅读接口描述、阅读已有的测试用例 - 强行排错法、回溯法、原因排除法 属于软件调试技术
- 完全测试是不可能的,测试需要终止
- 如果我们可以通过覆盖率检测来判断我们是否对所有的路径都进行了测试,但是仍然可能存在未被检测出来的缺陷,原因是:
a.程序可能因为缺某些路径而存在问题
b.穷举路径的测试可能不好暴露数据敏感的错误
c.就算穷举路径测试也不能保证程序符合需求 - 可行性研究 告是在开发前就做好了的。
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树桌面应用开发Tkinter208939 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!