软测2020期末大题背诵版
黑盒
1.等价类
1.1概念
等价类划分法是把程序的输入域按规则划分为若干子集,然后从每个子集中选取一个具有代表性的数据作为测试用例。
1.2等价类划分原则:
- 在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类
- 在输入条件规定了输入值得集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类
- 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
- 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确定n个有效等价类和一个无效等价类
- 在规定了输入数据必须遵守的规则的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
- 在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类
1.3
弱:单缺陷假设
强:考虑出错的原因是多条件相互作用引起的
健壮:考虑了无效值
2.边界值
边界值分析法作为等价类划分法的一种补充,是把等价类上的边界取值作为测试用例的一种测试方法。
1.基本边界值
对于一个含有n个变量的程序,采用基本边界值分析法测试程序会 产生4n+1个测试用例(一个变量取最小值,略高于最小值,正常值, 略低于最大值,最大值外,其余变量取正常值。对每个变量都重复进 行 )。
2.健壮性测试
是作为边界值分析的一个简单的扩充,它除了对变量的5 个边界值分析取值外,还需要增加一个略大于最大值(max+)以及略 小于最小值(min-)的取值,检查超过极限值时系统的情况。因此, 对于有n个变量的函数采用健壮性测试需要6n+1个测试用例。eg:三角形问题.
3.决策表法
3.1决策表又称判定表是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、
有多种决策方案的情况。
3.2.决策表法进行测试用例设计的主要步骤。
(1) 确定规则的个数。
(2) 列出所有的条件桩和动作粧。
(3) 填入条件项和动作项。
(4) 合并相似规则,化简决策表。
4错误推测法
5.正交试验法
利用正交实验设计测试用例的步骤:
1) 有哪些因素(变量)
2) 每个因素有哪几个水平(变量的取值)
3) 选择一个合适的正交表(见下页)
4) 把变量的值映射到表中
5) 把每一行的各因素水平的组合做为一个测试用例
6) 加上你认为可疑且没有在表中出现的组合
6.因果图法
7.场景法
一个基本流
最顺利的场景
从开始到结束一切都顺利的场景
很多个备选流
除基本流之外的另外一些正常场景
偶尔发生的场景
异常或错误处理
使用场景设计方法设计测试用例的步骤:
- 确定基本流和备选流
- 根据已确定的基本流和各项备选流生存 不同的场景
- 为确定的场景生成相应的测试用例
- 复审和验证测试用例,取消多余和等效的。
白盒
1.逻辑覆盖
1.1语句覆盖
1.2判定覆盖
判定覆盖也叫分支覆盖,是指一个If 里面的条件整体取到真假就可以
- 满足了判定覆盖标准就一定满足语句覆盖
- 判定覆盖会忽略条件中取或的情况
1.3条件覆盖
- 不能保证判定覆盖
1.4判定条件覆盖
- 同时满足判定覆盖和条件覆盖
- 判定条件覆盖会胡烈条件中取或的情况
1.5条件组合覆盖
设计测试用例,使得被测程序中的每个判定中条件结果的所有可能至少执行一次。
- 不能保证所有路径被执行
1.6路径覆盖
- 覆盖程序中所有可能的路径
1.7MC/DC覆盖(2015,2017)
MC/DC覆盖 修正条件判定覆盖方法 是在分支/条件覆盖的基础上,加上判定中的每一个条件必须能够独立影响一个判定的输出,即在其他条件不变的前提下仅改变这个条件的值,而使判定结果改变。
2.基本路径测试法
1.请简述基本路径测试法的概念。
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。
控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流
控制流程图的环路复杂性 V(G)等于:
(1)控制流程图中的区域个数。
(2)边数-结点数+2。
(3)判定数+1。
从控制流图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径:
3.
系统测试
性能
常见的性能测试包括负载测试、压力测试、并发性能测试、疲劳强度测试和大数据量测试等。(要看2013试题二)
1.1概念
负载压力测试是指在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量等,以确定系统所能承受的最大负载压力。负载压力测试是性能测试的重要组成部分,包括负载测试、压力测试、并发性能测试、疲劳强度测试、大数据量测试等内容。
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量所进行的测试。
压力测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下,系统性能处于失效状态,以此来获得系统能提供的最大服务级别的测试。所以说,压力测试是一种特定类型的负载测试。
并发性能测试,包含了负载测试和压力测试。通过逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、系统资源监控指标来确定系统并发性能。并发性能测试是负载压力测试中的重要内容。
疲劳强度测试,通常是采用系统稳定运行情况下能够支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标、系统资源监控指标,确定系统处理最大工作量强度1生能的过程。一般情况下利用疲劳强度测试老模拟系统日常业务操作。
大数据量测试,包括独立的数据量测试和综合数据量测试。独立的数据量测试是针对某些系统存储、传输、统计、査询等业务进行的大数据量测试;综合数据量测试是指和压力测试、负载性能测试、疲劳强度测试相结合的综合测试。
2.(2012)简述该酒店预订系统在生产环境下承受的主要负载类型。
该酒店预订系统在生产环境下承受的主要负载类型有:
1)并发用户数属于并发执行负载。
2)连续稳定运行72小时属于疲劳强度负载。
3)大量检索操作属于大数据量负载。
3.请分别指出性能测试中负载测试与压力测试的目的。(2010)
本题考查负载测试和压力测试的概念。
(1)负载测试模拟系统真实使用环境执行性能测试,考核系统在日常业务运行和高峰期运行期间的性能是否满足需求。
(2)压力测试模拟系统的性能极限点执行性能测试,用来发现系统的性能瓶颈点。
4.请分别指出应用服务器和数据库服务器性能评价的关键指标。
本题考查应用服务器和数据库服务器的监控指标。有关的监控指标很多,关键指标如下。
(1)应用服务器关键指标:操作系统指标、缓存状况、连接池、执行队列等。(答对1个即给1分,最多3分)
(2)数据库服务器关键指标:操作系统指标、缓存命中率、数据库进程占用的CPU时间、数据库进程使用的内存量、锁资源使用情况。(答对1个即给1分,最多3分)
5.简要叙述进行“网站稿件管理发布系统”的性能测试中应测试的关键指标。
在进行“网站稿件管理发布系统”的性能测试中应测试的关键指标包括:
(1)并发用户数。某一物理时刻同时向系统提交请求的用户数。
(2)事务执行响应时间。是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了(2)用户执行一项操作大致需要多长时间。
(3)交易执行吞吐量(trans/s)。每秒钟执行的业务数,或系统服务器每秒钟能够处理的交易数。
6.对该数据管理系统进行性能测试时,主要关注哪些性能指标?
(1)并发用户数
(2)响应时间
(3)资源利用率
7.简述负载压力测试的主要目的。
(1)在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况
(2)预见系统负载压力承受力,在应用实际部署之前,评估系统性能
(3)分析系统瓶颈、优化系统
8.问5:论述 CPU 使用率成为系统性能瓶颈时,如何制定解决 方案?论述网络带宽成为系统性能瓶颈时,如何制定解决方 案?
当CPU资源使用成为系统瓶颈时的解决方案可以概括为:
增加CPU的个数;
提高CPU的主频;
将web服务器与数据库服务器分开部署;
调整软件的设计与开发;
当带宽成为系统瓶颈时的解决方案可以概括为:
- 增加带宽;
- 压缩传输数据。
9.问4:分析案例 2 的测试结果数据,说明服务器CPU 资源使 用率是否合理,以及增加带宽是否是提高系统性能的有效方 法,并陈述理由。
服务器CPU资源使用率不合理,其平均值超过85%。
4M带宽的网络测试环境与2M带宽的网络测试环境相比,带来了新的系 统瓶颈(CPU资源使用率平均值超过85%),所以增加带宽不是提高 系统性能的有效方法。
在此基础上,继续提高带宽,系统的处理能力将进一步提高,高的处理 能力会使服务器的资源瓶颈进一步加重,带来更加严重的后果。
安全
XSS、SQL注入是什么意思。
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
1.在对此平台进行非功能测试时,需要测试哪些方面?
性能测试、安全性测试、兼容性测试、易用性测试
2.通信吞吐量怎么计算?
通信吞吐量:P=N(并发用户的数量=300)×T(每单位时间的在线事务数量=16)×D(事务服务器每次处理的数据负载=16kB/S)
3.xss
跨站脚本攻击(XSS),是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。
3.1设计两个表单项输入测试用例,以测试XSS(跨站点脚本)攻击。(2014 **)
系统设计时可以采用哪些技术手段防止此类攻击。
【参考答案】
XSS (跨站点脚本攻击)是一种注入式攻击,主要通过恶意脚本进行攻击,任何脚本如