软件测试总结

  1. 软件生命周期(SDLC)的六个阶段

1、问题的定义及规划
      此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

2、需求分析
      在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。

3、软件设计
      此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。

4、程序编码
      此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。

5、软件测试
      在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6、运行维护
      软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

2、软件生命周期模型

从概念提出的那一刻开始,软件产品就进入了软件生命周期。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"(Life Cycle Model)。

典型的几种生命周期模型包括瀑布模型、快速原型模型、迭代模型。

瀑布模型的特点(文档是主体),很多的问题在最后才会暴露出来。迭代模型比瀑布模型问题暴露的要早;快速原型法比瀑布模型直观。

3.软件测试概念

广义概念:指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认

狭义概念:识别软件缺陷的过程,即实际结果与预期结果的不一致

4.软件测试目的

  • 测试的目的就是发现软件中的各种缺陷
  • 测试只能证明软件存在缺陷,不能证明软件不存在缺陷
  • 测试可以使软件中缺陷降低到一定程度,而不是彻底消灭
  • 以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量

5.软件测试原则

  • Good-enough: 一种权衡投入/产出比的原则
  • 保证测试的覆盖程度,但穷举测试是不可能的
  • 所有的测试都应追溯到用户需求
  • 越早测试越好,测试过程与开发过程应是相结合的
  • 测试的规模由小而大,从单元测试到系统测试
  • 为了尽可能地发现错误,应该由独立的第三方来测试
  • 不能为了便于测试擅自修改程序
  • 既应该测试软件该做什么也应该测试软件不该做什么

6.软件测试的的重点

  • 测试用例的设计
    • 测试用例的设计是整个软件测试工作的核心
    • 测试用例反映对被测对象的质量要求,决定对测试对象的质量评估
  • 测试工作的管理
    • 尤其是对包含多个子系统的大型软件系统,其测试工作涉及大量人力和物力,有效的测试工作管理是保证有效测试工作的必要前提
  • 测试环境的建立
    • 测试环境应该与实际测试环境一致

7.黑盒测试

  • 什么是黑盒测试
    • 又称功能测试或数据驱动测试,是针对软件的功能需求/实现进行测试,通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构
  • 黑盒测试方法
    • 功能划分
    • 等价类划分
    • 边界值分析
    • 因果图
    • 错误推测等

8.什么是白盒测试

    • 白盒测试也称结构测试或逻辑驱动测试,必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求、设计正常运行
  • 白盒测试的主要方法
    • 对应于程序的一些主要结构:语句、分支、逻辑路径、变量;白盒测试的主要方法是:
      • 语句覆盖方法
      • 分支覆盖方法
      • 逻辑覆盖方法
  1. 什么是动态测试

动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用测试用例去查找软件缺陷;动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等 

10.什么是静态测试

静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估.静态测试包括代码检查、程序结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行

11.手工测试和自动测试

a.手工测试缺点在于测试工作量大,重复多,回归测试难以实现

b.自动测试利用软件测试工具自动实现全部或部分测试工作:管理、设计、执行和报告;节省大量的测试开销,并能够完成一些手工测试无法实现的测试

  • 手工完成测试的全部过程无法保证测试的科学性与严密性:
    • 修改的缺陷越多,回归测试越困难
    • 没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率
    • 反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一
    • 测试花费的时间越长,测试的严格性也就越低
  • 自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析
  • 软件测试不可能完全自动化
  • 不能完成所有手工测试任务
  • 无创造性且灵活性差,不能改进测试的有效性
  • 过程中可能会遇到许多意想不到的问题,特别是当软件不稳定时
  • 测试脚本的维护高

12. 测试流程

  • 单元测试
  • 集成测试
  • 系统测试
  • 用户验收测试
  • 回归测试

 

13.单元测试

  • 完成对最小的软件设计单元—模块的验证工作
  • 目标是确保模块被正确地编码
  • 使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误
  • 通常情况下是面向白盒的
  • 对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早地发现和解决不易显现的错误
  • 单元测试的内容
    • 接口测试
    • 内部数据结构
    • 全局数据结构
    • 边界
    • 语句覆盖,错误路径

14.集成测试

  • 通过测试发现与模块接口有关的问题
  • 目标是把通过了单元测试的模块拿来,构造一个在设计中所描述的程序结构
  • 应当避免一次性的集成(除非软件规模很小),而采用增量集成

集成测试主要内容

  • API
  • API/参数组合

15.系统测试

  • 根据软件需求规范的要求进行系统测试,确认系统满足需求的要求
  • 系统测试人员相当于用户代言人
  • 在需求分析阶段要确定软件的可测性,保证有效完成系统测试工作
  • 系统测试主要内容
    • 所有功能需求得到满足
    • 所有性能需求得到满足
    • 其他需求(例如安全性、容错性、兼容性等)得到满足

16.用户验收/确认测试

  • Alpha测试
    • 是由用户在开发者的场所来进行的,Alpha测试是在一个受控的环境中进行的
  • Beta测试
    • 由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者

17.压力测试VS性能测试
  性能测试的目的不是去找bugs,而是排除系统的瓶颈,以及为以后的回归测试建立一个基准。而性能测试的操作,实际上就是一个非常小心受控的测量分析过程。在理想的情况下,被测软件在这个时候已经是足够稳定了

性能测试是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成操作等。
概括就是:在不同负载下(负载一定)时,通过一些系统参数(如反应时间等)检查系统的运行情况;

压力测试是为了发现系统能支持的最大负载,他的前提是要求系统性能处在可以接受的范围内,比如经常规定的叶面3秒钟内响应;概括就是:在性能可以接受的前提下,测试系统可以支持的最大负载。

举例说明:针对一个网站进行测试,模拟10到50个用户就是在进行常规性能测试,用户增加到1000乃至上万就变成了压力/负载测试。如果同时对系统进行大量的数据查询操作,就包含了强度测试。

18. 主流测试工具的测试流程

========winrunner
1 启动时选择要加载的插件
2 进行一些设置(如录制模式等)
3 识别应用程序的GUI,即创建map(就是学习被测试软件的界面)
4 建立测试脚本(录制及编写)
5 对脚本除错及调试(保证能够运行完)
6 插入各种检查点(图片,文字,控件等)
7 在新版应用程序中执行测试脚本
8 分析结果,回报缺陷
 
=========quicktestpro========
1 准备录制
打开你要对其进行测试的应用程序,并检查QuickTest中的各项设置是否适合当前的要求。
2 进行录制
打开QuickTest的录制功能,按测试用例中的描述,操作被测试应用程序。
3 编辑测试脚本
通过加入检测点、参数化测试,以及添加分支、循环等控制语句,来增强测试脚本的功能,使将来的回归测试真正能够自动化。
4 调试脚本
调试脚本,检查脚本是否存在错误。
5 在回归测试中运行测试
在对应用程序的回归测试中,通过QuickTest回放对应用程序的操作,检验软件正确性,实现测试的自动化进行。
6 分析结果,报告问题
查看QuickTest记录的运行结果,记录问题,报告测试结果。

====TestDirect============
安装好后,先进入站点管理
1 创建域及工程
2 添加用户
3 编辑licenses及本服务器
4 编辑数据库
--TD
1 选择新建的工程进行定制(列表,用户,组,版本等)
2 在require中增加需求
3 把需求转化为plan
4 在testlab中由计划新建测试具体用例与执行

5 发现bug,在defect中提交bug
(每一部分都可以相对独立地使用)

======loadrunner
1 制定负载测试计划
(分析应用程序, 确定测试目标,计划怎样执行LoadRunner)
2 开发测试脚本
(录制基本的用户脚本,完善测试脚本)
3 创建运行场景
(选择场景类型为Manual Scenario,选择场景类型,理解各种类型,场景的类型转化)
4 运行测试
5 监视场景
(MEMORY 相关,PROCESSOR相关,网络吞量以及带宽,磁盘相关,WEB应用程序 ,IIS5.0,SQL SERVER,NETWORK DELAY等)
6 分析测试结果
(分析实时监视图表,分析事务的响应时间,分解页面,确定WEBSERVER的问题,其他有用的功能)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/255955.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

pr片头、滚动与开放式字幕制作

pr字幕与滚动字幕制作: 片头字幕:点击文字工具(Ctrl鼠标左键 打点) 开放式字幕:新建序列-字幕 滚动字幕:旧版标题-滚动选项

ckeditor动态显示隐藏工具栏指定的按钮

客户说工具栏太复杂了,但是有时候又能用到,所以给了个需求,做一个按钮能实现显示或隐藏按钮 好吧,客户是上帝,开搞 思路:ckeditor添加一个自定义按钮,里面方法实现display:none样式…

金蝶服务器如何显示在任务栏,报表窗口看不见工具栏界面怎么办?

有的用户在打开金蝶KIS记账王会计报表后,竟然发现看不到保存、预览、打印等工具栏界面,这些工具与应用账簿报表数据息息相关,没有这些工具的话将大大想想使用效率。但是请放心,工具栏界面消失不是无法解决的棘手问题,下…

Linux(Ubuntu)菜单栏(工具栏)隐藏了,怎么显示出来

最近有捡起了LInux,换了新版本,有好多设置有点儿生疏 在使用的过程中,对一些比较典型的问题或者方法,进行一个总结,方便后面查看,也给各位道友一个参考。 其实这个问题也比较尴尬,如下图&…

计算机桌面工具栏,win7电脑计算机界面菜单工具栏不见了怎么办?

因为在咱们的windows系统中,具有很多的工具栏配置,咱们很多界面的窗口上方都有这样的一个工具栏,大家不妨随意的在自己的win7电脑中找到一个文件夹,之后咱们双击打开,在打开的文件夹窗口上方,咱们就可以看到…

word2007工具栏隐藏了怎样能一直显示?

1、首先在电脑中打开word文档,可以发现“功能区”被自动隐藏了,如下图所示。 2、这时需要点击左上角的开始选项卡,如下图所示。 3、然后在打开的开始菜单中,A下方的横杠,选择单击取消勾选“折叠功能区”。 4、这样“功…

easyUI dataGrid 隐藏分页工具栏 隐藏表头

一.方法1(不推荐) 适应以下需求: 1.当表格没有数据时,把datagrid隐藏;有数据的时候显示 2.表格不分页,无需显示分页栏 3.datagrid的高度由内容撑开(固定高度,无数据时显示空白也可&#xff…

PowerDesigner工具栏消失恢复

PowerDesigner一键导入数据库所有表并画数据模型图 五分钟学会PowerDesigner创建概念数据模型 PowerDesigner设计的pdm模型导出超清图片 PowerDesigner工具栏消失恢复 目录 一、工具栏 二、点击工具-自定义菜单和工具栏 三、选择Palette即可 一、工具栏 不小心点到工具栏右上角…

html隐藏safari地址栏,怎么隐藏 iOS Safari 打开网页时的地址栏和工具栏探索

先来看一张截图 红色框处就是用手机浏览器打开页面时,自动显示出来的头部地址栏和底部工具栏 如果现在有一个需求,用手机浏览器打开页面时,把地址栏和工具栏隐藏,该怎么办呢? 起初我在度娘找到了好几篇博客都推荐如下方法 注:但使用该方法没有效果(可能该属性只针对 iOS …

excel工具栏隐藏了怎么办_excel隐藏的5个超级技巧,只有少数老师知道,你知道是哪几个吗?...

对于办公人员来说,excel的制作一定是少不了的,但大多数的人都只知道一些皮毛,很难深入的“吃透”excel,今天和大家聊聊这几个excel中隐藏的超级技巧,大多数人都不知道,但却超级实用,和易查分一起来看看吧! 隐藏网格线 对于excel来说,大多数人的印象里,这个工具只适用于表格的制…

excel工具栏隐藏了怎么办_?Excel菜单栏中工具栏突然不见了,怎么办?

Excel菜单栏中工具栏突然不见了,怎么办? 问题现象如下图所示: 只有基本的文件,开如,插入,页面布局,公式,数据...等等。 没有工具栏。 点开始菜单,工具栏出现了。但是点文档编辑,工具栏又没了。是不是很生气呢?我什么也没操作呀。怎么样呢?那叫一个生气。到哥让你不…

excel工具栏隐藏了怎么办_excel中,原来除了单元格,其他地方都可以隐藏

在excel中,我们有时候会为了扩大编辑区域的视野或者美观,想要隐藏一些功能。本文就为大家介绍一下各部分的区域的显示和隐藏的操作方法。 下图是excel中可以选择隐藏或者显示的部分。 图一 ​ 一、显示/隐藏功能区。点击右上角向上的箭头,会有自动隐藏功能区、显示选项卡、显…

一图看懂 tqdm 模块:一个可在循环和命令行中使用的快速、可扩展的进度条,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 tqdm 模块:一个可在循环和命令行中使用的快速、可扩展的进度条,资料整理笔记(大全) 🧊摘要🧊模块图&…

相对活力指数指标(RVI)指标模拟量化交易(第二版)

经过一段时间的测试,在第一版代码的基础上做了不少修改 第一版代码: 相对活力指数指标(RVI)指标ETH模拟量化交易https://mp.csdn.net/mp_blog/creation/editor/120299311https://mp.csdn.net/mp_blog/creation/editor/120299311 …

RabbitMq学习笔记

RabbitMq学习笔记 1.消息队列1.1 MQ相关概念1.1.1 什么是MQ?1.1.2 为什么要用MQ?1.2.3 MQ的分类1.2.4 MQ的选择1.2.5 为什么选择RabbitMQ? 1.2.5 MQ对比分析图在这里插入图片描述1.2 RabbitMQ1.2.1. RabbitMQ 的概念1.2.2. 四大核心概念1.2.3…

rabbitMQ-学习笔记

RabbitMQ 一、MQ的相关概念1.1 什么是MQ1.2 为什么要用MQ1.3 MQ的分类1.3.1 ActiveMQ1.3.2 Kafka1.3.3 RocketMQ1.3.4 RabbitMQ 二、RabbitMQ2.1 RabbitMQ的概念2.2 四大核心概念2.3 RabbitMQ核心部分2.4 RabbitMQ工作原理安装java环境2.5 Hello World生产者代码消费者代码 2.6…

Rabbitmq学习笔记教程-尚硅谷

Rabbitmq学习笔记 (尚硅谷) 尚硅谷 rabbitmq 教程 1.MQ 的概念 1.1 什么是 MQ? 存放消息的队列,互联网架构中常见的一种服务与服务之间通信的方式。 1.2 为什么要用 MQ? 三大好处,削峰,解耦,异步。…

RabbitMQ入门指南:初学者也能读懂的教程

文章目录 1、消息队列1.1、MQ的相关概念1.1.1、什么是MQ1.1.2、为什么要使用MQ流量削峰应用解耦异步处理 1.1.3、MQ的分类ActiveMQKafKaRocketMQRabbitMQ 1.1.4、MQ的选择 1.2、RabbitMQ1.2.1、RabbitMQ 的概念1.2.2、四大核心概念1.2.3、RabbitMQ核心部分1.2.4、各个名词介绍1…

整理面试题

一、基础篇 Java 基础 1.面向对象的特征 可以说是三大特征,也可以说是四大特征 ①第一个是抽象:就是把有共同特征的一类事物,构造成类,只关注它的属性和行为,而不关注这些行为的细节 ②第二个是封装:就…