软件测试理论 -- 初学必看
软件工程
软件的定义:程序、数据及其结构、文档
1、在运行中能提供所希望的功能与性能的程序
2、使程序能够正确运行的数据及其结构
3、描述软件研制过程的方法所用的文档(过程文档,发布文档)
软件的特点:
1、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性
2、软件的生产与硬件不同,在它的开发过程中没有明显的制造过程
3、在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题
4、软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性
5、软件开发至今,尚未完全摆脱手工艺的开发方式
6、软件本身是复杂的 、实际问题的复杂性、程序逻辑结构的复杂性
7、软件成本相当昂贵
软件工程定义
软件工程是指导软件开发和维护的一门工程学科。他采用工程的概念、原理、技术和方法,把经过检验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,用于开发和维护。
【工程方法+管理技术+技术方法】
中心思想:
把软件当作一种工业产品,要求采用工程化的原理与方法对软件进行计划、开发和维护
目的
实现按预期的进度和经费完成软件生产计划,提高软件的生产率和可靠性
软件工程包括三要素:方法、工具和过程 【工程方法+管理技术+技术方法】
软件工程解决什么问题?
解决软件危机
表现:
1、不能满足客户需求
2、维护越来越高
3、开发成本高
4、软件越来越复杂,软件跟不上硬件的更新的速度
软件生命周期?
软件生命周期由软件定义、软件开发和软件维护三个时期组成
软件定义:问题定义,可行性研究
软件开发:需求分析、总体设计(概要设计)、详细设计(具体到类)、编码、测试
软件维护:软件运行
目的:使软件在整个生命周期内保证满足用户的需求和延长软件的使用寿命
软件开发模型
1、瀑布模型:软件计划>需求分析定义>软件设计>软件实现>软件测试>软件运行和维护(对应测试V模型)
特点:1、软件生存周期的顺序性 2、尽可能推迟软件的编码 3、强调文档
主要问题:
(1)、各个阶段的划分完全固定,阶段之间产生大量的文档,极大的增加了工作量
(2)、由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发结果,从而增加了开发的风险
(3)、早期的错误可能要等到开发后期的测试后期才能发现
2、快速原型模型:(对应测试W模型)
开发过程:在开发真实系统之前构造一个原型,在该院性的基础上逐渐完成整个系统的开发工作
不足之处:快速建立起来的系统结构上连续的修改可能会导致产品质量低下
3、螺旋模型(对应测试H模型)
制定计划:确定软件目标,选定实施方案,明确项目开发的限制条件
风险分析:
实施开发
客户评估
软件开发方法:
1、结构化开发方法
2、面向过程
3、面向对象
软件测试的定义
1、 通过手工或者工具对“被测对象”进行测试的操作,从而验证实际与预期结果之间是否存在差异
2、软件测试是一个寻找BUG的过程
3、软件测试是衡量软件品质,验证实际结果和软件需求规格书之间的差异,确认缺陷得以修复。
软件测试的作用
1、通过测试工作可以发现 并修复软件当中存在的缺陷,从而提高用户对产品的使用信心 (验证和确认(回归测试:1、保证当前的缺陷得以修复 2、与此板块相关的模块没有出现问题))
2、测试可以记录软件运行过程中产生的一些数据,从而为决策提供数据的支持
3、测试可以降低同类型产品开发遇到问题的风险
软件测试的原则
1、测试证明软件存在缺陷 :无论执行什么样的测试操作都能证明当前软件是有缺陷的
2、不能执行穷尽测试:有些功能是没有办法将所有的测试情况都罗列出来,所以任何的测试操作都有结束的时间
3、缺陷存在集群现象(80%的bug来自于20%的模块):对于软件功能说,核心功能占20%,非核心是80%。在实际工作中我们会集中测试20%的核心功能,所以这个部分发现缺陷的几率就会高于80%。因此我们就会遇到缺陷都集中在20%功能模块里的现象。
4、某些测试需要依赖特殊环境
5、测试应尽早介入(应当尽早的不断地进行软件测试):为了更多的发现和更好的解决软件中的缺陷,我们追求测试工作尽早的开展
6、杀虫剂现象:同样一个测试用例不能重的执行多次,因为软件会对他产生免疫。
7、不存在缺陷谬论:任何软件不可能是完美的
8、测试人员应该妥善保存测试过程当中所产生的文档
9、测试人员应该根据测试计划、测试用例进行测试,杜绝测试的随意性。
测试对象
程序+数据及结构+文档
每个阶段相应的测试对象
1、需求分析阶段:各种需求规格说明书。
2、软件架构设计:API接口文档(接口测试)
3、编码实现阶段:源代码(白盒测试、单元测试)
4、系统功能使用:软件功能主体(当前行业做的最多的一种测试)
测试级别
1、单元测试(白盒测试):对类、函数、组件进行测试(参考文档:详细设计说明书)
2、集成测试(接口测试)(灰盒测试):将多个单元模块组合、然后验证他们之间的连通性。(参考文档:概要设计文档)
3、系统测试(黑盒测试):在集成测试基础上对软件及周边作主体测试(功能,性能,安全等等特性测试),这是当前行业最多的一种测试。由测试人员充当用户,然后对软件功能主体进行测试
4、验收测试:(黑盒测试)
(1)Alpha (a)测试 -内测
(2) bata (B)测试 - 公测
(3)UAT( user acceptance test )测试---- 由客户派出对于业务非常精通的人员来使用该软件,从而对功能进行测试。
系统测试分类 (测试项)
1、功能测试
2、兼容性测试
3、安全测试
4、性能测试:稳定性测试、负载测试、可靠性测试
5、界面测试
6、一致性测试
7、可移植性测试
8、容灾性测试
9、可配置性测试
10、可交互性
11、可用性
12、绿色健康
按测试方法分类
白盒测试:(结构性测试) (逻辑驱动测试)
黑盒测试:(数据驱动测试)(系统测试)
灰盒测试:介于两者之间 (接口测试)
按测试对象是否执行分类
1、静态测试:指的就是测试不执行
2、动态测试:将软件运行在真实的使用环境中进行测试
按测试手段进行分类
1、手工测试
2、自动化测试
软件质量的六大特性
1、功能性
2、易用性
3、可靠性
4、效率性
5、可维护性
6、可移植性
软件测试流程
1、需求分析
2、测试计划
3、测试设计:测试方案、测试用例、评审记录
4、配置环境(搭建测试环境)
环境=软件+硬件+网络
软件测试环境包含哪些?
软件:操作系统,应用软件,数据库软件
硬件:系统配套硬件
网络:
5、执行测试用例:执行结果、bug清单
冒烟测试(预测试、通电测试、接收测试)
6、回归测试及缺陷跟踪
7、输出测试报告
8、测试结束
软件架构
BS架构 | CS架构 | |
---|---|---|
名称 | 浏览器服务器 | 客户端服务器 |
安全 | 低 | 高 |
开发成本 | 低 | 高 |
升级 | 快 | 慢 |
效率 | 低 | 高 |
B/S C/S
B—browser 浏览器 C—clent 客户端 S—server 服务端
五大浏览器生产厂商
1.MS-edge( 微软 前身是IE 2020年1月15正式发布)
2.Chrome ( 谷歌 )
3.Firefox( 火狐)
4.Safari( 苹果 )
5.Opera( 欧朋 )–【 现在已经放弃自已东西完全向 chrome 】
测试专用缩略语
Abbreviations 缩略语 | Full spelling 英文全名 | Chinese explanation 中文解释 |
---|---|---|
SOW | Statement of Work | 工作任务书 |
AR | Allocated Requirement | 分配需求 |
WBS | Work Breakdown Structure | 工作任务分解结构 |
PHB | Process Handbook | 过程手册 |
PPL | Project Plan | 项目计划 |
CMP | Configuration Management Plan | 配置管理计划 |
RMP | Risk Management Plan | 风险管理计划 |
QAP | Quality Assurance Plan | 质量保证计划 |
TSP | Test Strategy Plan | 测试策略计划 |
SRS | Software Requirement Specification | 软件需求规格说明书 |
RTM | Requirement Tracebility Matrix | 需求跟踪矩阵 |
HLD | High Level Design | 概要设计 |
LLD | Low Level Design | 详细设计 |
ST | System Test | 系统测试 |
STP | System Test Plan | 系统测试计划 |
STC | System Test Case | 系统测试用例 |
STR | System Test Report | 系统测试报告 |
Abbreviations 缩略语 | Full spelling 英文全名 | Chinese explanation 中文解释 |
---|---|---|
IT | Integrated Test | 集成测试 |
ITP | Integrated Test Plan | 集成测试计划 |
ITC | Integrated Test Case | 集成测试用例 |
ITR | Integrated Test Report | 集成测试报告 |
UT | Unit Test | 单元测试 |
UTP | Unit Test Plan | 单元测试计划 |
UTC | Unit Test Case | 单元测试用例 |
UTR | Unit Test Report | 单元测试报告 |
MTS | Metrics Sheet | 项目度量表 |
VDD | Version Description Document | 版本描述文档 |
测试的生命周期(流程)
项目启动>测试分析与计划>测试设计>测试执行>测试评估>验收测试>项目关闭
- 点赞
- 收藏
- 关注作者
评论(0)