软件测试阶段及策略

  • 软件测试阶段
  • 软件测试分类--策略
  • 常见测试方法
  • 软件测试计划
  • 软件测试报告

软件测试阶段

单元测试又称为模块测试,是最小单位测试
单元测试具有独立性,可以与系统其他部分分隔离出来,从而完成测试,其依据是详 细设计
其测试对象是软件设计的最小单位模块与组件,类、文件、窗口、函数、菜单、报表 或一个存储过程都可以作为一个单元进行测试
单元测试可以发现的缺陷类型:
计算错误
需求或功能遗漏
程序路径选择错误
执行方法: 代码扫描工具:SonarQube + PMD

单元测试
测试原则: 尽可能保证测试用例相互独立(测试用例中不能直接调用其他类的方法,而应在测试用例 中重写模拟方法) 此阶段一般由软件的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求
单元测试的好处
尽早的发现缺陷
利于重构
简化集成
单元测试的不足
不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误
每行代码需要3~5行代码进行单元测试,存在投入与产出的平衡

集成测试:是将已分别通过测试的单元按设计要求组合成系统或子系统,再 进行的测试。目的在于检查这些单元之间的接口是否存在问题。

系统测试 是充分运行软件系统,以验证系统是否满足产品的质量需求
系统测试分为: 功能测试 非功能测试 性能测试、容量测试 安全性测试 兼容性测试 可靠性测试

集成测试和系统测试之间的比较:
测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个 系统的功能和性能;
测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的 角度进行测试。

验收测试:也称交付测试,是针对用户需求、业务流程进行的正式 的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机 构决定是否接受系统。

软件测试分类–策略

一:静态测试与动态测试
静态测试的特点 : 静态测试不必动态运行程序,也不必进行测试用例设计和结果判断等 工作。静态测试可以由人工进行,充分发挥人的逻辑思维优势。 静态测试实施不需要特别的条件,容易开展。
动态测试的特点 : 通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确 性和健壮性等性能

二:黑盒测试 又称为功能测试、数据驱动测试或基于规格说明书的测试
黑盒测试就当整个程序是个黑盒子,我们看不到它里面做了些什么 事情,只能通过输入输出看是否能得到我们所需的来测试。 黑盒测试的主要测试方法有:
等价类划分法、边界值分析法、因果图法、场景法、正交实验设 计法、判定表驱动分析法、错误推测法、功能图分析法等。

三:手工测试与自动化测试
手工测试:就是由人去一个一个的输入用例,然后观察结果,和 机器测试相对应,属于比较初级但是必须的一个步骤。
自动化测试:通过将测试执行部分或者全部交由机器执行的一种 测试,叫做自动化测试。这种测试不需要人的实时参与。同时这 种测试在小规模应用时会比手动测试昂贵许多。
测试自动化:这是一种让测试过程脱离人工的一次变革。对于 控制成本,控制质量,回溯质量和减少测试周期都有积极影响 的一种研发过程
适合使用自动化测试的情况:
版本稳定、项目周期长、脚本可复用

不适合使用自动化测试的情况 :
定制型项目(一次性的)
项目周期很短的项目
涉及业务规则复杂的对象
关于美观、声音、易用性的测试
很少运行的测试
测试的软件不稳定
涉及物理交互的测试

适合使用自动化测试的情况:
版本稳定、项目周期长、脚本可复用

不适合使用自动化测试的情况 :
定制型项目(一次性的)
项目周期很短的项目
涉及业务规则复杂的对象
关于美观、声音、易用性的测试
很少运行的测试
测试的软件不稳定
涉及物理交互的测试

四:冒烟测试:冒烟测试是在软件开发过程中的一种针对软件版本包的快速基本功能验证策略,是对软件 基本功能进行确认验证的手段,并非对软件版本包的深入测试。冒烟测试也是针对软件版 本包进行详细测试之前的预测试,执行冒烟测试的主要目的是快速验证软件基本功能是否 有缺陷。如果冒烟测试的测试用例不能通过,则不必做进一步的测试。
冒烟测试执行,与正式测试的区别在于二者侧重点不同,冒烟测试关注的是阻塞型缺陷, 包括但不限于流程不通、主要功能未实现等,而正式测试则属于全面、细致的测试,需要 尽可能的发现全部缺陷并按其严重性进行区分。

需注意 开发协同,注重效率,评估用例

五:回归测试:
过一段时间以后再回过头来对以前修复过的缺陷重新进行测试,看该缺陷是否会重新出现
修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误 回归测试贯穿整个测试活动,且占据很大的工作量

回归测试应兼顾效率和有效性两个方面
回归测试:再测试全部用例。基于风险选择测试:选择重要的、最常用的、存在风险的功能。基于操作剖面:操作剖面是操作的集合以及各种使用方式的出现概率。再测试修改的部分。

常见测试方法

1.功能测试:对产品的各功能进行验证,根据功能测试用例,逐项测试,检查 产品是否达到用户的要求
2.性能测试:观察系统在一个给定的环境和场景中的性能表现是否与预期目标 一致,评判系统是否存在性能缺陷,并根据测试结果识别性能瓶颈,改善系统性 能的完整的过程。
负载测试、压力测试、稳定性测试。
3.易用性测试:用户使用软件是否方便,也称用户体验测试
安装、功能、界面、辅助系统易用性。
4.界面测试:测试用户界面的布局是否合理、整体风格是否一致、各个控件的 放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单 易懂性,页面元素的可用性,界面中文字是否正确,命名是否统一,页面是 否美观,文字、图片组合是否完美等
优秀界面7要素:符合标准和规范、直观性、一致性、灵活性、舒适性、正确性、实用性

5.安装测试:确保该软件在正常情况和异常情况的不同条件下都能进行安装。
安装:首次安装、重复安装
卸载
升级

6.文档测试:检验各种文档的完整性、正确性、一致性、易理解性、易浏览性。开发文档、用户文档、管理文档

7.兼容性测试:指检查软件之间能否正确地进行交互和共享信息。软件兼容性 测试工作的目标是保证软件按照用户期望的方式进行交互

向前后兼容、硬件兼容、软件兼容、数据兼容

8.安全测试:指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程

功能验证:权限管理、加密、认证等
漏洞扫描:使用工具
模拟攻击试验:跨站攻击
侦听技术:在数据通信或数据交互过程中,对数据进行截取分析的过程

9.恢复测试:主要检查系统的容错能力。当系统出错时,能否在指定时间间隔 内修正错误并重新启动系统。
自动恢复:重新初始化、数据恢复以及重新启动是否正确
人工恢复:还需估测平均修复时间,确定其是否在可接受的范围内

软件测试计划

测试计划:1.领导根据测试计划做宏观的调控、进行相应的资源配置。2.测试人员了解整个项目测试情况,以及项目不同阶段所要进行的工作。3.便于其他人员了解测试人员的工作内容,进行有关配合工作。
时间:测试需求分析前总体测试计划,测试需求分析后详细编写测试计划
六要素:why、what、when、where、who、how、

软件测试报告

什么是测试报告:
测试阶段最后的产物。测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进 行分析,为纠正软件中存在的质量问题提供依据,同时为软件验收和 交付打下基础
测试报告的元素?
引言(目的,背景,缩略语,参考文献);
测试概要(测试方法、范围、测试环境、工具);
测试结果与缺陷分析(功能、性能);
测试结论与建议(项目概况、测试时间、测试情况、结论性汇总);
附录(缺陷统计);

【软件测试阶段及策略】相关推荐

  1. 软件项目实施策略-之实施步骤

    为什么80%的码农都做不了架构师?>>>    软件项目实施策略-之实施步骤 根据项目的大小不同类型,来制定不同的要求,对文档要求也对相应阶段文档进行裁减, 详细见裁减清单与实施文件 ...

  2. 软件系统性能优化策略--SQL优化

    非常感谢大家对<大白话系列之C#委托与事件讲解>的支持,这次我给大家带来的是<软件系统性能优化策略>的讲解,这个讲解分别围绕SQL优化.IIS优化.代码优化[BS架构].数据库 ...

  3. 软件测试阶段划分以及测试分类

    软件测试基本理论 一.软件开发阶段的划分 1.需求分析--需求规格说明书 2.概要设计--概要设计说明书 3.详细设计--详细设计说明书 4.编码 二.软件测试阶段 1.单元测试 (1)依据:详细设计 ...

  4. 软件项目质量管理策略

    软件项目,软件质量是项目团队要顺利完成开发项目的一个重要衡量标准.软件项目完成质量的好坏,将影响到客户满意度以及公司声誉.因此,做好软件项目质量管理,非常考验项目开发团队水平以及项目经理的管理能力.下 ...

  5. ipguard软件安装管理策略

    软件安装管理策略,可以限制员工安装无关工作的软件,同时也能制止员工卸载重要的安全软件,极大的规范员工电脑的软件使用情况. 设置策略前,管理员可以对需要管理的软件安装包和卸载软件进行合理的分类, 软件安 ...

  6. 软件开发风险策略,需要重点关注几点。

    1.提前规划开发风险的科学管理与控制流程 项目需建立自己的组织级别风险资产库,并在开发过程中,不断地更新和完善.并对项目风险进行科学地分析,对开发各环节可能遇到的诸多风险,提前进行科学地规划和部署,做 ...

  7. 防范勒索软件的防御策略

    所有公司都应该设有预防.检测并解决勒索软件攻击的策略,因为这些勒索软件会导致您无法访问您的数据,并会破坏您的业务,使其停滞不前.虽然可能并不存在能保护您的企业数据免受勒索软件攻击的万全之策,但各企业还 ...

  8. 4.测试基础(软件测试阶段的划分)

    软件测试按阶段可划分为以下4个阶段: 单元测试阶段 简称UT 集成测试阶段 简称IT 系统测试阶段 简称ST 验收测试阶段 简称UAT 单元测试阶段: 单元测试是针对软件的基本组成单元进行的测试活动. ...

  9. 测试工程师在软件测试阶段依据,北京软件测试工程师建立软件测试管理与评判体系...

    北京软件测试工程师聂会敬,软件测试过程模型或软件测试生命周期模型为我们提供了软件测试的流程和方法,为测试过程管理提供了依据.由于测试过程管理牵涉的范围非常广泛,包括过程定义.人力资源管理.风险管理等, ...

最新文章

  1. wxWidgets:wxHeaderColumnSimple类用法
  2. python 3.6.0新语法_详解Python3.6正式版新特性
  3. xargs 和 exec详解
  4. 开启服务器时启动线程
  5. [云计算]两层网络、三层网络的理解
  6. bmp格式图像的读写函数(对一个开源代码的封装)
  7. 深入理解React、Redux
  8. 海量数据插入数据库的快速方案
  9. Vulkan::0.0::开始于VulKanSDK(Getting Started with the Vulkan SDK)
  10. python传奇自动打怪脚本_GOM引擎内挂自动挂机打怪脚本实例
  11. java 调查问卷_java学习调查问卷
  12. womic网络错误_无线麦克风WO Mic
  13. 诺基亚x6 云服务器,手机上面怎么玩端游?诺基亚X6通过云电脑玩DNF教程
  14. Java学习笔记6——网络编程
  15. 基于matlab的汽车牌照识别系统
  16. Linux服务器下载日志到本地
  17. 北邮智能车仿真培训(八)—— 两轮摄像头平衡车
  18. SOA服务颗粒度(粗粒度、细粒度)与解耦
  19. VS2015 + QT 编译出现public: virtual struct QMetaObject const * __thiscall 错误
  20. 一般mysql的客户端用什么软件_mysql一般用什么管理工具?

热门文章

  1. java设计模式示例
  2. 积木报表—JimuReport v1.5.4版本发布,免费的可视化Web报表工具
  3. 安装群晖显示服务器忙,云服务器安装群晖
  4. 第5章 - 二阶多智能体系统的协同控制 --> 连续时间含时延系统一致性
  5. cpython_cpython使用
  6. 迪士尼乐园高清Mac动态壁纸
  7. F-One与毕马威共进华友钴业,全面预算加把柴
  8. 【算法】Java 中链表的基本操作
  9. python 录音vad_2020-02-25 python使用ffmpeg、speech-vad-demo、百度语音识别生成字幕
  10. android 提示样式,我怎样才能让android spinner提示样式