• 软件测试整理


    一.软件测试综述
    1.列举5种软件缺陷
    • 软件未实现产品说明书要求的功能
    • 软件出现了产品说明书不应出现的错误
    • 软件实现了产品说明书未提到的功能
    • 软件没实现产品说明书虽未提及但应该实现的目标
    • 软件难以理解,不宜使用,运行缓慢或者从测试员的角度看,最终用户会以为不好
    2.软件测试员的目标?
    • 多:尽可能多找到软件缺陷;
    • 快:尽可能早的找出软件缺陷
    • 好:(1)找到最严重的缺陷;(2)为修复缺陷提供更多的信息;
    • 省:(1)尽可能少的测试工作发现尽可能多的缺陷;(2)测试过程和数据可以重用
    3.测试狭义和广义的定义?
    • 狭义:证明程序有错,运行程序发现问题
    • 广义:软件测试=验证+确认
    4.软件测试工程师的了解?
    5.为什么找到的软件缺陷越多,就说明软件缺陷越多?
    • 程序员有心情不好的时候
    • 程序员往往会犯同样的错误
    • 某些软件的缺陷是冰山一角
    6.为什么并非所有的软件缺陷都要修复?
    • 没有足够的时间
    • 不算真正的软件缺陷
    • 修复风险太大
    • 不值得修复
    7.验证和确认的不同?
    • 验证是指保证符合产品说明书
    • 确认是指保证符合用户要求
    8.软件测试和质量保证的区别?
    • 测试:尽早找出软件缺陷并修复
    • 质量保证:创建和执行改进开发过程并防止软件缺陷发生的标准和方法
    二.测试基础
    9.什么是黑盒测试?测试的主要类型?
    黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点出发的测试
    主要类型:
    • 等价类划分
    • 边界值分析
    • 错误推测
    • 因果图
    • 判定表驱动
    • 正交试验
    • 功能图分析

    10.为什么说白盒测试是不可或缺的?
    黑盒测试不检查内部的代码,因而无法清除所有的缺陷,当遗留的缺陷很多时会造成很大的影响,因此需要添加更为彻底的白盒测试
    11.白盒测试与黑盒测试的比较?
    方法 黑盒 白盒
    依据 软件需求说明书 详细设计
    目的 从质量特性的不同方面,对软件进行测试,检测该软件是否实现了SRS中所有显示和隐式的需求 利用不同的逻辑率到达某种程度的代码覆盖率(考虑全部程度的代码覆盖率会增加本)
    步骤 动态测试 静态分析和动态分析
    优点 对较大的代码单元来说,黑盒测试比白盒测试的效率高;测试人员不需要了解实现的细节;从用户的角度进行测试,很容易被接受和理解;有助于暴露任何与规格不一致或者歧异的地方;可以在规格完成后马上进行 迫使测试人员去了解软件的实现;检测代码中的每条路径和分支; 揭示隐藏在代码中的错误;对代码的测试进行比较彻底
    缺点 不能测试程序内部特定部位; 无法发现程序未执行的代码;没有清晰的和简明的规格,测试用例很难被设计 白盒测试投入较大,成本较高
    白盒测试不验证规格的正确性
    无法检查代码中遗漏的路径和数据敏感性错误
    黑盒测试测试产品需求说明书,属于动态测试,测试效率比白盒测试高,但无法确定错误的确切位置
    白盒测试测试产品详细设计说明书,包含静态分析和动态分析,测试比黑盒彻底,成本较高
    21.代码审查,代码走查和动态测试相比有哪些优点?
    • 一次可以发现一批错误
    • 找到错误之后不需要再定位,代价小

    22.简述代码评审会议的过程?
    • 审查会由组长主持
    • 程序员阐明程序逻辑,其他成员提问题
    • 大声朗读给听众
    • 利用代码审查来分析讨论
    • 组长负责讨论沿着建设性方向前进,其他人发现错误
    23.代码审查和走查有什么不同?
    • 代码走查与代码审查相似,它也是由一组程序员和错误检查技术人员组成,只是代码的检查技术不完全相同。
    • 代码审查:程序员阅读程序,小组对照程序检查表找错
    • 代码走查:小组用测试用例走一遍程序发现错误
    三.运用测试技术
    29.为什么好的用户文档能提高软件易用性?
    用户文档帮助用户更好的理解,说明如何更好的完成各项任务
    30.如何理解文档测试可以辅助我们找到更多的程序错误?
    文档测试与程序测试视角不同,往往能发现其他测试难以发现的问题

    24.简述硬件兼容性测试?

    25.如何判别发现的软件缺陷是普通问题还是特定配置问题?
    • 在另外一台有完全不同配置的计算机上一步步执行导致缺陷的相同动作
    • 如果缺陷没有产生,就有可能是特定的配置问题
    27.简述易用性测试?
    • 易用性是指软件产品被理解、学习、使用、吸引用户的能力
    • 易用性测试是指对软件易用性的测试,其中包含:
    o 安装测试
    o 功能易用性测试
    o 用户界面测试
    o 辅助功能测试

    26.安装测试的主要内容?

    1. 安装手册评估
    2. 自动化测试
    3. 安装选项和设置的测试
    4. 中断测试
    5. 顺序测试
    6. 多环境安装测试
    7. 正确性测试
    8. 安装与卸载测试

    28.菜单测试的内容?

    31.什么是软件的安全性?
    软件安全性是与防止程序及数据的非授权的故意或意外访问的能力有关的软件属性

    32.简述威胁分析模式的步骤?
    • 构建威胁分析模式小组
    • 确认价值
    • 创建一个体系结构
    • 分解应用程序
    • 确认威胁
    • 记录威胁
    • 威胁等级认定
    33.安全系统的防护体系?
    • 实体安全
    • 平台安全
    • 数据安全
    • 通信安全
    • 应用安全
    • 运行安全
    • 管理安全

    34.安全测试的主要方法?
    • 功能验证
    • 漏洞扫描
    • 模拟攻击实验
    • 侦听技术
    四.测试的补充
    12.什么是beta测试?
    • 软件分发给选定的客户群,让他们在实际环境中使用软件,一般在产品开发周期行将结束时进行
    • 是用于描述外部测试过程的术语

    13.beta测试的目的?
    • 让新闻媒体报道软件初期使用印象
    • 用户界面确认
    • 最后一步寻找选件缺陷
    20.工具与自动化的优势?
    • 速度:手工测试执行几千个测试用例的情景;
    • 效率:把测试人员从手动测试中解放出来;
    • 准确度和精确度:人执行大量的测试用例可能会出错;
    • 节省资源:测试工具可以模拟替代真实的资源;
    • 仿真和模拟:模拟替代与产品连接的软、硬件;
    • 坚持不懈:工具不会劳累,也不需要休息;
    19.负载测试和压力测试区别?
    • 负载测试
    o 负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的前提下,系统所能承受的最大负载量;
    o 负载测试不关注系统稳定性,也就是说不关注系统长时间运行的情况,只是得到不同负载下相关性能指标即可
    • 压力测试
    o 压力测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试;
    o 压力测试的目标是测试在一定的负载下,系统长时间运行的稳定性;
    五.使用测试文档
    14.测试计划的目标?
    • 规定测试活动的范围,方法,资源和进度;
    • 明确正在测试的项目,要测试的特性,要执行的测试任务,每个任务的负责人,以及与计划相关的风险
    15.软件测试管理产生哪些文档?

    • 测试设计说明
    • 测试用例说明
    • 测试事件报告
    • 测试项传递报告
    • 测试日志
    • 测试规程说明
    • 测试总结报告
    16.缺陷的生命周期?

    六.软件测试的未来
    17.什么是软件质量保证?
    SQA(软件质量保证)是建立一套有计划和系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用
    18.CMMI的作用?
    用于定义和评价软件机构的过程能力,
    并提供过程改进的指南

  • 相关阅读:
    项目的打包发布
    接口自动化用例设计总结
    注册D8读卡器COM组件
    一道数学题,让芯片巨头亏了5亿美金!
    Seata中的事务分组与集群
    Kotlin MutableStateFlow
    文件操作IO-Part1
    mysql的索引与锁(高性能mysql必备)
    代码随想录算法训练营第二十八天| 509. 斐波那契数 , 70. 爬楼梯 , 746. 使用最小花费爬楼梯
    【STL】常见拷贝算法、替换算法、算数生成算法、集合算法
  • 原文地址:https://blog.csdn.net/h201601060805/article/details/133270697