软件测试基础知识整理
软件测试基本概念
1、软件=程序+⽂档,软件测试=程序测试+⽂档测试。
“程序”是指能够实现某种功能的指令的集合,“⽂档”是指软件在开发、使⽤和维护过程中产⽣的图⽂集合。;
2、软件的分类
按功能分:系统软件、应⽤软件
按技术架构分:单机版软件、C/S结构软件(C是指客户端, S指服务器端)、B/S结构软件(B是指浏览器)
按照⽤户划分:产品软件、项⽬软件
按开发规模划分:⼩型、中型、⼤型
3、BUG的定义:软件的BUG指的是软件中(包括程序和⽂档)不符合⽤户需求的问题。常见的软件BUG
分三种类型:完全没有实现的功能;基本实现了⽤户需求的功能;实现了⽤户不需要的功能。
4、测试环境=软件+⽹络+硬件。搭建环境:真实、⼲净、⽆毒、独⽴
5、软件环境的分类:软件开发环境\软件⽣产运⾏环境
软件测试项目流程6、测试⽤例:指在测试执⾏之前设计的⼀套详细的测试⽅案,包括测试环境、测试步骤、测试数据和与其结果!测试⽤例=输⼊+输出+测试环境。测试⽤例有两个模板,word和excel,前者适合性能测试,后者适合功能测试。
软件测试分类
1、⿊盒测试:指的是把被测的软件看作是⼀个⿊盒⼦,我们不去关⼼盒⼦⾥⾯的结构是什么样⼦的,只关⼼软件的输⼊数据和输出结果
⽩盒测试:指的是把盒⼦盖打开,去研究⾥⾯的源代码和程序结构。
2、静态测试:是指不实际运⾏被测软件,⽽只是静态的检查程序代码、界⾯或⽂档中可能存在的错误的过程。
动态测试:是指实际运⾏被测程序,输⼊相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断⼀个测试属于动态测试还是静态测试,唯⼀的标准就是看是否运⾏程序。
注:同⼀个测试,既有可能属于⿊盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于⽩盒测试。他们之间也有可能交叉。
3、单元测试:编译运⾏程序——静态测试——动态测试
集成测试:是单元测试的下⼀个阶段,是指将通过测试的单元模块组装成系统或⼦系统,再进⾏测试,重点测试不同模块的接⼝部分。
系统测试:指的是将整个软件系统看作1个整体进⾏测试,包括对功能、性能,以及软件所运⾏的软硬件环境进⾏测试。
验收测试:指的是在系统测试的后期,以⽤户测试为主,或有测试⼈员等质量保障⼈员共同参与的测试,它也是软件正式交给⽤户使⽤的最后⼀道⼯序.
验收测试⼜分为α测试和β测试,其实α测试指的是由⽤户、测试⼈员、开发⼈员等共同参与的内部测试,⽽β测试指的是内侧后的公测,即完全交给最终⽤户测试。
4、功能测试:是⿊盒测试的⼀⽅⾯,它检查实际软件的功能是否符合⽤户的需求。功能测试⼜可以细分为很多种:逻辑功能测试、界⾯测试、易⽤性测试、安装测试、兼容性测试等。
性能测试:软件的性能包括很多⽅⾯,主要有时间性能和空间性能两种。时间性能:主要指软件的⼀个具体事务的响应时间。空间性能:主要指软件运⾏时所消耗的系统资源。
软件性能测试分为⼀般性能测试、稳定性测试、负载测试和压⼒测试。⼀般性能测试指的是让被测系统在正常的软硬件环境下运⾏,不向其施加任何压⼒的性能测试。稳定性测试,也叫可靠性测试,是指连续运⾏内测系统,检查系统运⾏时的稳定程度。我们通常⽤MTBF(错误发⽣的平均时间间隔)来衡量系统的稳定性,越⼤稳定性越强。负载测试是性能测试的⼀种,通常是指让被测系统在其能忍受的极限范围之内连续运⾏,来测试系统的稳定性。压⼒测试是性能测试的⼀种,通常是指连续不断地给被测系统增加压⼒,直到将被测系统压垮为⽌,⽤来测试系统所能承受的最⼤压⼒。
假设⼀个⼈很轻松的就能背⼀袋⽶,背两袋⽶很吃⼒,最多就能背三袋⽶,那么:
⼀般性能测试:我就让他背⼀袋⽶
稳定性测试:我让他背⼀袋⽶,但是让他去操场上跑圈,看多久累倒。
负载测试:我让他背两袋⽶去操场上跑圈,看多久累倒。
压⼒测试:我让他背两袋⽶,三袋⽶,四袋⽶......发现他最多就能背三袋⽶。
5、回归测试:是指对软件的新的版本测试时,重复执⾏上⼀个版本测试时的⽤例
冒烟测试:是指在对⼀个新版本进⾏西戎⼤规模的测试之前,先验证⼀下软件的基本功能是否可以实现,是否具备可测性
随机测试:是指测试中所有的输⼊数据都是都是随机⽣成的,其⽬的是模拟⽤户的真是操作,并发现⼀些边缘的错误。
6、关系
测试⼯程师
1、测试⼯程应该具备的基本职业素质:三⼼⼆意⼀能⼒。三⼼:细⼼、耐⼼、信⼼。⼆意:服务意识、团队意识。⼀能⼒:沟通能⼒。
2、如何成为⼀名优秀的测试⼯程师:内功(基础知识:计算机硬件、⽹络、操作系统、数据库等)、测试技术(⿊盒测试中等价类、边界值、因果图等,⽩盒测试中的语句覆盖、分⽀覆盖、路径覆盖等)
1)、不断学习充电
2)、阅读原版书籍
3)、阅读缺陷管理系统中的缺陷报告
4)、阅读⾼⼿写的测试⽤例
5)、学习产品相关的业务知识
3、SQA——软件质量保障,CMM是SQA⽤来监督项⽬的⼀个标准质量模型,SQA按照CMM上⾯各种规则来检验各种各样的项⽬。CMM ——能⼒成熟度模型
4、软件测试的原则:
1)、Zero bug——指的是软件没有任何bug,没有bug是不可能的,我们只能想⽅设法把软件的bug数控制在可以忍受的范围之内。Good enough——指的是只要软件达到⼀定的质量要求,就可以停⽌测试了。
2)、不要试图穷举测试
3)、开发⼈员不能既是运动员⼜是裁判员
4)、软件测试要尽早执⾏
5)、软件测试应该追溯需求
6)、缺陷的⼆⼋定理——缺陷的集现象或是⾍⼦窝现象
7)、缺陷具有免疫性
⿊盒测试技术
等价类技术、边界值技术、因果图法、流程图法
缺陷管理
1、BUG的分类
Bug严重级别(Severity,Bug级别):是指因缺陷引起的故障对软件产品的影响程度。由测试⼈员指定。
A
错误导致了死机、产品失败(“崩溃”)、系统悬挂⽆法操作;
B
功能未实现或导致⼀个特性不能运⾏并且不可能有替代⽅案(包括计算错误);
C
错误导致了⼀个特性不能运⾏但可有⼀个替代⽅案;
D
错误是表⾯化或微⼩的(提⽰信息不太准确友好、错别字、UI布局或罕见故障等),对功能⼏乎没有影响,产品及属性仍可使⽤;
E
建设性的意见或建议。
Bug优先级(Priority):指缺陷必须被修复的紧急程度。由Bug分配者(开发组长/经理)指定。5
阻⽌相关开发⼈员的进⼀步开发活动,⽴即进⾏修复⼯作;阻⽌与此密切相关功能的进⼀步测试
4
必须修改,发版前必须修正
3
必须修改,不⼀定马上修改,但需确定在某个特定⾥程碑结束前须修正
2
如果时间允许应该修改
1
允许不修改
缺陷类型(Type):是根据缺陷的⾃然属性划分的缺陷种类。
Build
由于配置库、变更管理或版本控制引起的错误。
Data
数据、数据库、计算错误等。
Function
影响了重要的特性、产品接⼝、硬件结构接⼝和全局数据结构。如逻辑,指针,循环,递归,功能等缺陷。
Interface
与其他组件、模块或设备驱动程序、调⽤参数、控制块或参数列表相互影响的接⼝缺陷。
Performance
不满⾜系统可测量的属性值,如:执⾏时间,事务处理速率等。
Requirement
需求⽅⾯缺陷如(不明确、错误、考虑不全⾯等等)。
User Interface(简写UI)
⼈机交互特性:屏幕格式,页⾯排版、控件位置等⽅⾯的缺陷。
其它
未知错误
Bug状态(Status):指缺陷通过⼀个跟踪修复过程的进展情况。包括Open、Fixed、Closed及Postponed等Open
为测试⼈员新问题提交所标志的状态。为任务分配⼈(开发组长/经理)对该问题准备进⾏修改并对该问题分配修改⼈员所标志的状态。Bug 解决中的状态,由任务分配⼈改变。对没有进⼊此状态的Bug,程序员不⽤管。
Fixed
为开发⼈员修改问题后所标志的状态,修改后还未测试。
Closed
为测试⼈员对修改问题进⾏验证后通过所标志的状态。由测试⼈员改变。
Postponed
1、由于开发时间、进度、重要程度或者技术/设计/需求等⽅⾯的原因,认为不能解决、须延期解决、或者本版不做留待到后续版本解决的Bug;
2、因设计结构问题⽆法修改。测试⼈员认为是Bug,不符合逻辑,也不符合⽤户的要求,但开发⼈员则认为是按照设计做的、只能如此处理,否则修改代价太⼤,这种问题可以拖后处理
duplicated
bug重复提交
Not error
测试员理解错,不是bug,测试员提错了
2、提交BUG注意事项:确保重现、要⽤最少且必要的步骤描述BUG、简洁准确完整、⼀个BUG⼀个报告
3、常见的BUG管理⼯具:TD、Track Record、Clearquest、Bugzilla、Mantis、JIRA
测试管理
测试周期:计划——测试设计——测试执⾏——测试评估
软件测试⼯具简介
1、⼀般软件测试⼯具分为⿊盒测试⼯具、⽩盒测试⼯具、测试管理⼯具
2、MI loadrunner——性能测试,MI winrunner——功能测试,MI testdirector——测试管理⼯具,MI QTP——功能测试⼯具......

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。