软件测试_读书笔记1
软件测试必备
一、软件测试基本概念和方法
o 三个重要的测试原则:
1. 软件测试是为发现错误而执行程序的过程;
2. 一个好的测试用例具有较高的发现某个尚未发现的错误的可能性;
3. 一个成功的测试用例能够发现某个尚未发现的错误。
1.测试的过程具有一定的破坏性
2.测试用例包括:输入数据的详细描述和正确输出结果的精确描述
3.检查程序是否‘没有做它应该做的’仅仅是测试一半,另一半是检查‘是否做了它不
应该做的’
4.全面测试目标:验证是否做了应该做的事情,确保可靠性
验证程序是否做了不应该做的事情,确保安全性
5.任何多余的功能都应视为安全隐患
6.Boehm给出的度量中的头10个表示软件现象遵守Pareto分布:
20%的模块消耗80%的资源(人力、经费等);
20%的模块包含80%的错误;
20%的错误消耗80%的修改成本;
20%的改进包含了80%的适应性为主的成本;
20%的模块占用了80%的执行时间;
20%的软件工具使用占80%的整个工具使用时间。
补充:20%的软件缺陷造成80%的软件故障
20%的软件开发和管理人员(骨干),决定了80%软件开发质量
:Pareto原理强调了精力集中在少数重要的事情上(vital few),而不是多数琐碎的事
情上(trivial many)。
6.软件测试是一种作为主体的人通过各种手段对客体软件的某种固有属性进行的一种以
7.软件质量的控制核心是过程控制
8.审查的终极目标——确认缺陷
9.人工审查包括:文档审查
代码审查
10.软件缺陷的类型:可追溯性、逻辑、赋值顺序、控制、数据、接口、文档、注释、例外情况处理、内存等。
11.只要简单地使用静态代码分析来增强输入验证的正确性就能够避免OWASP(业界领袖的
安全性协会)所列出的约70%的安全性问题。
12.圈度复杂度(独立路径的最大数量=程序控制流图中的区域数)=控制流图边数—控制流图的节点数+2
二、测试框架的表述
13.测试框架(Test Framework):一组相互协作的组件的集合,能够实现一个或多个测试域中的一系列问题的解决方案。
14.框架最大的好处就是重用。还能重用分析。必须具有易用性(简洁易懂),具有良好的可扩展性。
21.原则层在测试框架中抽象级别最高,由一组基本原则构成,是建立框架的基础。
22.结构层:是原则层中基本原则的结构化实现,也是对测试解决方案的具体表述。 是框架进行复用和扩展的核心。
细节层:定义了结构层中组件的属性以及属性取值的范围和规律。
是对结构层组件的附加说明,每个组件都需要通过一些属性来进行详细描述。 组件的属性是进行框架实例化(根据具体的被测软件以及测试的目标对测试框架中组件属性的直接操作)的基础。
测试框架的优势:
1) 利用面向对象技术
2) 更大的应用领域
3) 测试组件的复用
4) 提高了测试的有效性
5) 良好的可扩展性和易用性
23.测试框架功能性体现在以下2个方面:
1) 测试框架所表述的测试解决方案的测试能力。
2)
24.测试框架可维护性体现在:
1) 测试框架的组件化和模块化(基础)
2) 测试框架体系结构的合理性(良好的可修改和可扩展性,准确表述解决方案)
25.基于测试框架的软件测试过程:
1)
① 确定测试目标
② 选择框架
2) ① 测试框架学习
② 测试框架扩展(根据测试对象和目标考察框架与测试需求之间的符合程度,决定是否来扩展)
③ 框架实例化
④ 进行软件测试
26.测试框架适配
1) ① 识别可扩展点
② 进行更改
2)
27.应用框架可分为
冷点 Frozen Spot(实例化过程中始终保持不变的部分)
热点 Hot Spot (=可扩展点 extension point,描述了应用框架中那些具体应用需求而不同的部分)
28.测试框架的设计原则
1) 提供准确而完整的功能
2) 主要考虑2方面:普适性【能够在多大范围内得到复用】和可操作性【是否能够有效地针对具体的测试领域进行具有专门性的测试】)
3) 尽量采用组件化和模块化设计
测试框架的设计过程
是否还有具体的概念可以进一步泛化,测试方法是否可以进一步进行抽象以及测试解决方案和测试域之间的符合程度)
2) 测试框架的设计(重点解决的问题:测试框架中哪些部分是可以改变的?组件的属性设置是否合适,测试解决方案的抽象程度是否适度)
二、软件测试过程
29.瀑布模型(将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动
规定了各个软件过程自上而下,相互衔接的固定次序,如同瀑布逐级下落)
缺点:缺乏灵活性,特别是软件开发初期,在软件需求开发尚不明确或不准确地情况下
30. V模型
将瀑布模型中的测试部分做了细化,其最大特点(可能也是最大的缺点)就是“线性执行”,测试的工作在编码完成后才开始进行,显然不符合软件测试的“3早”原则.
缺点:V模型失败的原因是它把系统开发过程划分为具有固定边界的不同阶段,
这使得人们很难跨过这些边界来采集测试所需要的信息。
有些测试应该执行得更早些,有些测试则需要延后进行。而且,它也阻碍了你从
系统描述的不同阶段中取得信息进行综合。例如,某些组织有时执行这样的做法,即对完成的工作进行签署。这样的规定也扩展到系统测试的设计。签署表示已经过评估,该测试设计工作已经完成,除非对应的设计文档改变,否则就不会被修订。如果同这些测试相关的信息后来被重新挖掘和认识,例如,架构设计表明有些测试是多余的,或者,详细设计表明有一个内部的边界可以和已存在的系统测试组合在一起进行测试的话,那么实际上还需要继续调整原来的系统测试设计。
31.螺旋模型
(将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。
螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:
(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。
螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
优点
1)设计上的灵活性,可以在项目的各个阶段进行变更。
2)以小的分段来构建大型系统,使成本计算变得简单容易。
3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
缺点
很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完 …… 此处隐藏:4840字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [外语考试]管理学 第13章 沟通
- [外语考试]07、中高端客户销售流程--分类、筛选讲
- [外语考试]2015-2020年中国高筋饺子粉市场发展现
- [外语考试]“十三五”重点项目-汽车燃油表生产建
- [外语考试]雅培奶粉培乐系列适用年龄及特点
- [外语考试]九三学社入社申请人调查问卷
- [外语考试]等级薪酬体系职等职级表
- [外语考试]货物买卖合同纠纷起诉状(范本一)
- [外语考试]青海省实施消防法办法
- [外语考试]公交车语音自动报站系统的设计第3稿11
- [外语考试]logistic回归模型在ROC分析中的应用
- [外语考试]2017-2021年中国隔膜泵行业发展研究与
- [外语考试]神经内科下半年专科考试及答案
- [外语考试]园林景观设计规范标准
- [外语考试]2018八年级语文下册第一单元4合欢树习
- [外语考试]分布式发电及微网运行控制技术应用
- [外语考试]三人行历史学笔记:中世纪人文主义思想
- [外语考试]2010届高考复习5年高考3年联考精品历史
- [外语考试]挖掘机驾驶员安全生产责任书
- [外语考试]某211高校MBA硕士毕业论文开题报告(范
- 用三层交换机实现大中型企业VLAN方案
- 斯格配套系种猪饲养管理
- 涂层测厚仪厂家直销
- 研究生学校排行榜
- 鄱阳湖湿地景观格局变化及其驱动力分析
- 医学基础知识试题库
- 2010山西省高考历年语文试卷精选考试技
- 脉冲宽度法测量电容
- 谈高职院校ESP教师的角色调整问题
- 低压配电网电力线载波通信相关技术研究
- 余额宝和城市商业银行的转型研究
- 篮球行进间运球教案
- 气候突变的定义和检测方法
- 财经大学基坑开挖应急预案
- 高大支模架培训演示
- 一种改进的稳健自适应波束形成算法
- 2-3-鼎视通核心人员薪酬股权激励管理手
- 我国电阻焊设备和工艺的应用现状与发展
- MTK手机基本功能覆盖测试案例
- 七年级地理教学课件上册第四章第一节




