软件开发流程中的测试及测试方法简介
1. 什么是单元测试?
单元测试是指对软件中最小可测试单元进行检查和验证。单元测试通常是由白盒测试工程师或者开发人员开展。
单元测试中可以引入工具,例如java单元测试工具Junit
单元测试方法:使用代码静态分析技术分析代码是否符合规范;使用各种覆盖技术动态运行代码检查代码是否存在缺陷。
2. 什么是集成测试 ?
集成测试通常是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或者子系统,在进行测试,重点测试不同模块的接口部分。集成测试通常由白盒测试工程师或者开发人员来完成。
3. 什么是冒烟测试 ?
冒烟测试有时也称为版本准入测试,指的是开发部门完成了系统集成后,将版本提交给测试部门。测试部门在展开系统全面的测试之前,先进行最关键业务点的测试。通常软件测试部门会维护一份冒烟测试用例集,以便快速运行冒烟测试。冒烟测试使用的方法与系统测试使用的方法类似。
在项目测试当中,测试小组正式测试一个新版本之前,先指派一两个人员测试一下软件的主要功能,如果没有实现或存在严重的问题导致后续测试无法开展,则打回版本给开发组。这样做可以节省大量的时间成本和人力成本。
4. 什么是系统测试 ?
系统测试指的是将整个软件系统看做一个整体进行全面系统化的测试,站在用户的角度验证系统各个相关指标是否符合用户需求。包括对功能,性能,安全,易用性,可靠性等软件质量特性的测试。
系统测试由测试工程师在整个系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统的非功能特性(性能,安全等) 是否满足需求,以及系统在不同的软硬件环境的兼容性等。
5. 什么是确认测试 ?
确认测试通常指的是开发人员修复了缺陷并且提交了新的版本给测试人员,测试人员验证这些缺陷是否得到修复的过程。这里的确认指的是确认缺陷是否真正得到解决。对于解决了的缺陷,测试人员关闭该缺陷,对于没有解决的缺陷,测试人员通常会重新打开该缺陷以便开发人员再次修复。
6. 什么是回归测试 ?
回归设计到至少两个版本,比如上个1.0版本测试完成了,开发 发布了一个新的版本1.1版本。在1.1版本里面开发包1.0版本里面出现的问题解决了。对于1.1版本的测试,我们需要开展如下测试:
- 确认1.0版本提交的缺陷是否在1.1 版本得到解决,即确认测试。
- 1.1版本新需求的测试
- 未来修复问题或引入新功能,有可能导致1.0版本中的一些功能(非功能)被修改了,这样就可能引入新的缺陷。所以我们需要对1.1版本开展测试,确保之前1.0版本原先的功能都是好的,这个过程,就叫做回归测试。
7. 什么是验收测试,验收测试通常分为那些类型 ?
验收测试是把软件测试作为一个整体进行测试,测试内容与系统测试基本类似。不同的地方是,它是在用户积极参与下进行的,且可能主要用时间数据(系统将来要处理的信息)进行测试。验收测试通常分为α测试与β测试。
α测试是由用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试,这是在受控制的环境下进行的测试。
β测试是多个用户的实际使用环境下进行的测试。
8. 从测试方法上划分,软件测试可以分为那些方法?
软件测试所使用的的方法,从大的方面可以分为静态测试方法和动态测试方法两类。
静态测试是指不实际运行被测试软件,而只是对软件工作产品(代码和文档等)开展检查与分析的过程。静态测试技术分为静态分析技术与评审技术,其中静态分析技术常用语代码的分析;评审技术常用于各类文档的评审。
动态测试是指实际运行被测程序,输入响应的测试数据,检查实际输出结果和预期结果是否相符的过程。动态测试技术分为黑盒测试技术与白盒测试技术。
测试方法
静态测试方法:静态分析 评审
动态测试方法:
黑盒:等价类划分、边界值、因果图、错误推测(基于经验的猜测)、基于检查表,探索式、场景法
白盒:语句覆盖、判定提交件覆盖,路径覆盖
9. 什么是等价类划分?
等价类划分主要用于测试数据的选择
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定 测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。
等价类分为有效等价类和无效等价类。
10.如何划分等价类 ?
在输入条件规定了取值范围或值得个数的情况下,则可以确立一个有效等价类和两个无效等价类。
在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。
在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。
在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。
在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
在确定已划分的等价类中各元素在程序处理的方式不同的情况下,则印在将等价类进一步的划分为更小的等价类。
11. 什么是边界值分析法?
边界值分析方法是对等价类划分方法的补充,测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
等价类划分法; 把无线的划分成等价类,取少量的有代表性的数据进行测试。
边界值分析法;列出单元功能、输入、状态及控制的合法边界值 (主要考虑上点、内点和离点) 边界点:边界点分为上点,内点和离点。
上点:边界上的点 『50——100』有效
内点:区间内的点
离点:离边界值最近且与上点不属于同一等价类的点
- 对于无限小数,没有离点,不用取。
11.什么是错误推测法?
基于经验和直觉推测程序中可能存在的各种错误,从而有针对性的设计测试用例的方法。错误推测方法的基本思想是列举出程序或需求中可能的错误和容易发生错误的特殊情况,根据他们选择测试用例。
12.什么是因果图分析法 ?
- 分析需求规格说明中的描述中那些是原因,那些是结果。
- 原因是输入条件,结果是输出结果。
- 因果图最终生成判定表,它适合于程序输入条件的各种组合情况。
因果图法的适用范围
如果在测试时考虑输入条件的各种组合,可使用一种合适于描述多种条件的组合,相应产生多个动作的形式来设计测试用例。
软件开发流程中的测试及测试方法简介相关推荐
- 软件开发流程中各版本名称(alpha/bera/RC/Release)
RC=Release Candidate,含义 是"发布候选版",它不是最终的版本,而是最终版(RTM=Release To Manufacture)之前的最后一个版本.广义上对测 ...
- 用MSBuild.... DailyBuild和软件开发流程的东东
看到CoolBug在研究有关NAnt的东东,感觉非常的有趣,也来聊聊这个问题,聊聊我喜欢的MSBuild,关于MSBuild 我想JJX比我更有发言权,很早的时候他的WebLog就有记载MSBuild ...
- zz:用MSBuild.... DailyBuild和软件开发流程的东东
看到CoolBug在研究有关NAnt的东东,感觉非常的有趣,也来聊聊这个问题,聊聊我喜欢的MSBuild,关于MSBuild 我想JJX比我更有发言权,很早的时候他的WebLog就有记载MSBuild ...
- 软件开发--从设计到测试整体流程
目录 范围 总体要求 2.1 总体功能要求 2.2 软件开发平台要求 2.3 软件项目的开发实施过程管理要求 2.3.1 软件项目实施过程总体要求 2.3.2 软件项目实施变更要求 2.3.3 软件项 ...
- 技术分享 | 想测试入门就必须要懂的软件开发流程
从事软件测试行业,每天面对的被测对象都是软件.如果想要更好的去完成测试工作,首先需要对被测对象,也就是对软件要有基本的了解. 软件 与计算机系统操作有关的计算机程序.可能有的文件.文档及数据. 程序好 ...
- 在开发流程中嵌入安全测试
ContinuumSecurity创始人Stephen de Vries,在Velocity Europe 2014大会上提出了持续且可视化的安全测试的观点.Stephen表示,那些在敏捷开发过程中用 ...
- FM信号测试软件,手机中FM调频性能测试方法简介
原标题:手机中FM调频性能测试方法简介 手机已经成为人们非常重要的通讯工具,相应手机整合的功能也愈来愈多.目前市面上的手机基本上都支持FM收音机功能,而FM收音机性能则主要是通过 .接收频带宽度.解调 ...
- 电子烟的软件开发架构及欧美测试标准+中国标准+多国标准
电子烟的软件开发架构及欧美测试标准+中国标准+多国标准 1. 什么是电子烟 2. 电子烟软件架构 2.1. 平台 2.2. 模块划分 2.3. 模块内设计框架 3. 为什么需要制定电子烟标准 4. 电 ...
- 软件测试常见概念(软件生命周期、软件开发模型、软件质量模型、软件缺陷管理、软件测试概述、软件测试分类、软件测试与软件开发、软件测试原则、黑盒测试方法、白盒测试方法、性能测试)
文章目录 1. 软件概述 1.1 软件生命周期 1.2 软件开发模型 1.2.1 瀑布模型 1.2.2 快速原型模型 1.2.3 迭代模型(增量模型或演化模型) 1.2.4 螺旋模型 1.2.5 敏捷 ...
- 软件开发流程包含哪些内容
2019独角兽企业重金招聘Python工程师标准>>> 能否开发出一个好的软件,关键是看软件开发前期所做的工作,重点是这个软件有没有一个好的 软件开发流程,因为一个好的软件开发流程关 ...
最新文章
- python 实现卷积操作
- tcp/ip详解--分层
- C# access update 出错总结,注意事项
- CTFshow 命令执行 web56
- Android中实现应用的静默安装
- boost::core模块实现np地址
- 2.5 矩阵乘法规则
- JS URL Parser
- cookie无法读取bdstoken_第二章(第12节):cookie操作
- uoj#38. 【清华集训2014】奇数国(线段树+数论)
- 停机断网也能充话费了!微信和三大运营商打造绿色通道:太方便了!
- 关于安装PHP补装PDO与PDO_MYSQL操作
- ANDROID定义自己的看法——onMeasure,MeasureSpec源代码 过程 思考具体解释
- Effective Java 第三版 中文翻译
- linux优化ssd磁盘,Ubuntu下针对ssd硬盘优化
- Layout state should be one of 100 but it is 10
- React学习之进阶WEB组件(二十)
- Html隐藏占空间与隐藏不占空间
- STM32移植USB驱动总结
- 重磅!上海985教授当选!全球仅4人!
热门文章
- 印度BIS申请资料流程时间文章
- 怎样查看苹果服务器验证关闭,iPhone小技巧:如何查询 iOS 系统是否已经关闭验证?...
- ctcpejmu单词_高分子英语单词
- ElementUI 中 栅格布局 混乱问题
- plsql的注册激活
- java 消息提醒_JAVA怎么样实现即时消息提醒
- 信息融合发展沿革与技术动态
- 班级主页效果图html,DW制作网页|html静态页面|班级网页素材|蝶恋花班级主页网站...
- 最好用的开源免费笔记软件IdeaNote
- 二、Win10如何解决svchost一直占用网速和内存?