-
测试 主要以质量为中心
查看全部 -
基础了解。。。
查看全部 -
软件测试的定义
查看全部 -
软件测试回顾总结
查看全部 -
软件测试的五大要素和两个目标
查看全部 -
单元测试--由代码开发人员实施--1.可以尽早发现缺陷,降低成本--2.有利于重构
查看全部 -
缺陷具备群集特性--发现错误越多的模块,可能隐藏的问题也越多--重点关注对象
查看全部 -
测试手段分为:
[根据测试对象可见度来说]: 黑盒测试 白盒测试
[根据测试状态来说]:静态测试 动态测试
[根据测试测试方式来说]:手工测试 自动化测试
查看全部 -
软件测试的分类:单元测试、集成测试、系统测试、验收测试
一、单元测试(基本功能测试)
什么是单元测试:对软件中的最小可测试单元进行检查和验证。(java中的每一个类,界面的功能软件中菜单的某一个子功能)
单元测试的原则:
1、尽可能保证各个测试用例是相互独立的。
2、一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。
单元测试的益处
1、能尽早的发现缺陷(TDD先编写单元测试(对需求的二次确认保障开发的方向正确)->编写代码)
2、有利于重构(重构代码时保障功能)
3、简化集成(保障最小单元的稳定性/正确性)
4、文档(好的单元测试可以代替文档)
5、用于设计(单元测试可以验证设计是否满足要求)
单元测试的限制
1、不可能覆盖所有的执行路径,所以不可能保证捕捉到所有的路径的错误。
2、每一行代码,一般需要3~5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。
二、集成测试(接口测试)
定义:是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格的要求组装成模块、子模块或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动
集成测试的主要实施方案
1、Big Bang(一次性测试/大爆炸测试,把所有的功能集合在一起进行一次完整的系统测试)
2、自顶向下(从主程序开始->控制层->服务层的顺序进行组装功能)
3、自低向上(从底层一步步向上组装功能)
4、核心系统集成(先组装核心->非核心)
5、高频集成(每隔一段时间对代码进行一次集成测试,典型的案例是持续集成)
集成测试&单元测试
1、测试的对象不同(单元测试是最小单元,集成测试是模块、子系统进行测试,测试的是接口与接口之间的调用关系)
2、测试的依据不同(单元测试为详细设计,集成测试为概要测试)
3、测试方法不同(单元测试只关心代码内部功能实现,集成测试关注的是接口之间的集成)
三、系统测试
定义:是将经过集成测试的软件,作为计算机系统的一部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有限的测试,以发现软件潜在的问题,保证系统的正常运行。
关注点:
关注系统本身的使用
关注系统与其他相关系统间的连通
关注系统在不同使用压力下的表现
关注系统在真实使用环境下的表现
系统测试&集成测试
测试对象:
集成测试:由通过了单元测试的各个模块所集成起来的构建
系统测试:除了软件之外,还包括计算机硬件及相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统。
测试时间:
集成测试介于单元测试和系统测试之间测试
系统测试在集成测试之后
测试内容:
集成测试:各个单元模块之间的接口
系统测试:整个系统的功能和性能
测试角度
集成测试:偏于技术角度的验证
系统测试:偏于业务角度的验证
四、验收测试
定义:也称交付测试。针对用户需求、业务流程的正式测试,确定系统是否满足验收标准、由用户、客户或其他授权机构决定是否接受系统。
细分:
用户验收测试(开发方交付产品前对产品进行验证)
运行验收测试(运维层面验证、正常运行)
合同和规范验收测试
alpha测试(开发者提供的环境,用户验收测试)
Beta测试(用户提供的环境进行验收测试)
查看全部 -
什么是软件测试?
早期定义:软件测试是对程序能按预期运行建立起一种信心
经典定义:测试是为发现错误而执行程序的过程
IEEE定义 (ISO/IEC/IEEE 29119):使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。
软件测试的测试对象
1、软件需求
2、软件概要设计
3、软件详细设计
4、软件运行环境
5、可运行程序
6、软件源代码
五大要素和两个目标
五大要素:质量、人员、资源、流程、技术
两个目标:测试覆盖率、测试效率
软件测试所遵循的原则
1、测试显示缺陷的存在,但不能证明系统不存在缺陷
2、穷尽测试是不可能的,应设定及时终止的条件
3、测试应尽早进行(越到后面修复bug的成本越大)
4、缺陷具备群集特性(某个模块中bug也多,隐含的bug越多)
5、测试的杀虫剂悖论(测试用例/方法不断更新/修改)
6、测试二八原则(80%的时间用在20%的重要模块中)
7、测试活动依赖于测试背景(如银行要求安全性比较高)
查看全部 -
软件测试的历史
1972年 Bill Hetzel 在NORTH Carolina 大学举行第一次以软件测试为主题的正式会议
1979年 Glenford Myers 《The art of software testing》给出测试的经典定义
1996年 测试能力成熟度模型TMM被提出
1996年 Kent Beck在极限编程Xp方法论中提出TDD
2009年 James A.Whittaker提出探索式测试理论
查看全部 -
老师辛苦了 瞬间感觉自己对软件测试的知识特别欠缺查看全部
-
软件测试概要查看全部
-
单元测试原则,查看全部
-
软件测试的概念
查看全部
举报