09级试卷总结

2022年期末复习09卷总结

选择题

1、开发文档不包括维护修改建议✔️

软件文件可分为开发文档、管理文档和用户文档

2、为降低维护的难度,可采取措施:在开发过程中就采取有利于维护的措施,并加强维护管理

3、测试用例应包括:① 测试目标和被测功能 ② 测试环境和其他条件 ③ 测试数据和测试步骤

4、属于编码规范评测内容:

  1. 源程序文档化检查,包括符号名的命名、程序的注释等规范性检查

  2. 数据说明检查,包括数据说明次序、语句中变量顺序检查

  3. 程序结构检查,程序应采用基本的控制结构、避免不必要的转移控制等

软件编码规范评测围绕以下4个方面展开:源程序文档化、数据说明的方法、语句结构和输入/输出方法。

5、概要设计说明书的评测内容:

① 分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求

③ 从软件维护的角度出发,确认该软件设计是否考虑了方便未来的维护

④ 是否所有界面与更高级别文档中的需求一致

概要设计说明书的评测内容如下:

  • **可追溯性:**分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求。

  • 接口:分析软件各部分之间的联系,确认该软件的内部接口与外部接口是否已经明确定义,模块是否满足高内聚和低耦合的要求,模块作用范围是否在其控制范围之内。

  • **风险:**确认该软件设计在现有技术条件下和预算范围内是否能按时实现。

  • **实用性:**确认该软件设计对于需求的解决方案是否实用。

  • **技术清晰度:**确认该软件设计是否以一种易于翻译成代码的形式表达。

  • 可维护性:从软件维护的角度出发,确认该软件设计是否考虑了方便未来的维护。

  • **质量:**确认该软件设计是否表现出良好的质量特征。

  • 各种选择方案:看是否考虑过其他方案,比较各种选择方案的标准是什么。

  • **限制:**评估对该软件的限制是否现实,是否与需求一致。

  • **其他具体问题:**对于文档、可测试性、设计过程等进行评估。

6、

单元测试又称模块测试,是针对软件设计的最小单位–程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。

7、关于测试的正确描述:

① 测试用例应由测试设计人员来制定
③ 测试工作展开于项目立项后,而不是代码开发完成之后

  1. 测试用例应由测试设计人员来制定。

  2. 测试点应由测试设计人员确立。(而不是测试人员

  3. 测试工作展开于项目立项后,而不是代码开发完成之后。

  4. 软件包括程序、数据和文档,所以软件测试并不仅仅是程序测试

8、通常测试用例很难100 %覆盖测试需求,因为:

① 输入量太大
② 输出结果太多
③ 软件实现途径多
④测试依据没有统一标准

9、边界值分析法确认边界值:

如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

确定边界值的原则
  1. 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
    • image-20221005112608245
  2. 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少、比最大个数多 1的数作为测试数据。
    • image-20221005112618012
  3. 很多如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
  4. 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。

10、语句覆盖:使程序中的每个可执行语句至少被执行一次

11、计算圈(环路)复杂度:

计算方法包括3种:

  • V(G)=区域数
  • V(G)=判断结点数+1
  • V(G)=边-节点+2

12、判定覆盖:使得程序中每个判断的取真分支和取假分支至少经历一次

13、反映web应用客户端交易处理性能的评估指标有:① 并发用户数② 交易响应时间③ 交易通过率④ 吞吐量⑤ 点击率

14、需求规格说明书导致软件缺陷的最大原因(因为如果需求不是客户需要的,那么这将会是最大的软件缺陷——没能满足用户的需求)

15、测试记录包括:

① 测试计划或包含测试用例的测试规格说明

③ 与测试用例相关的所有结果,包括在测试期间出现的所有失败

④ 测试中涉及的人员身份

测试期间出现问题的评估与分析不应该在测试记录中

设计题

线性独立路径:保证每行代码语句至少被执行一次(也就是说要包含程序流图中的所有的线段)

image-20221116103841143

程序流程图:

image-20230214171158968

线性独立路径:

path1:1-2-3-4-5-6-9-10-13-14

path2:1-2-3-4-7-8-9-11-12-13-14

path3:1-2-3-4-7-8-9-11-13-14

简答题

1、请简述什么是压力测试和负载测试,主要区别是什么?

  • 负载测试是模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现了一种方法或一种技术。

  • 压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下的操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试

  • 压力测试可以被看作是负载测试的一种,即高负载下的负载测试,或者说压力测试采用负载测试技术。通过压力测试,可以更快地发现内存泄漏问题,还可以更快地发现影响系统稳定性的问题

2、结合整个软件项目开发周期,描述软件测试在各个阶段的行为?

利用螺旋模型,V模型、W模型、H模型、X模型和前置模型答题均可。或者利用单元测试,集成测试,确认测试和系统测试回答也给分。

  • 需求分析阶段:测试需求规格说明书,是否与用户要求一致

  • 概要设计阶段:测试概要设计说明中是否覆盖了所有已确定的需求,是否考虑了后期维护

  • 详细设计阶段:数据结构,算法是否正确,编码规范

  • 编码阶段: 单元测试,集成测试

  • 系统验收阶段:测试系统是否完成了需求规格说明书中的所有内容

3、简述LOADRUNNER作用, 描述其在实践中的基本操作步骤?

1
虚拟用户生成器用来录制操作者的操作,建立虚拟用户脚本。操作录制到自动虚拟用户脚本中,以便作为负载测试的基础。
VuGen
2
压力控制器执行虚拟使用者脚本以产生虚拟用户,对被测系统发出请求和接收响应,模拟实际的负载。
3
结果分析器通过测试结果的数据,用来分析压力测试结果提供包含深入的性能分析信息的图和报告。

a.选择协议:LOADRUNNER在录制的过程中就可以通过脚本语言将通信过程录制下来。所以只要明确了被测软件的通信过程和所使用的协议,LOADRUNNER才能正确的录制脚本。

b. 录制测试脚本:根据需求设定好脚本录制参数后,在VIRTUAL USER GENERATOR主窗口单击START RECORD按钮,系统就开始自动录制脚本。

c. 强化测试脚本: 插入事务, 插入集合点, 脚本参数化, 插入检查点等…

d. 设定运行场景: 设定运行策略,包括虚拟人数,虚拟组,运行时间等

e. 运行场景,得到报告,分析系统瓶颈,生成修改建议

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2023-2024 Guijie Wang
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信