软件测试的基础和复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试的基础和复习
1、软件开发过程的几个主要阶段:
(1)定义。
明确开发的目标,软件的需求
(2)计划。
制订软件开发所涉及到的计划
(3)设计。
设计、编码、编写文档等,完成要求的软件特性
(4)稳定化。
主要是测试和缺陷修复,确保软件的质量
(5)安装。
安装、提交完成的软件,为客户提供运行环境。
2、几种常用的软件生命周期模型:
(1)瀑布模型
(2)原型模型
(3)增量模型
(4)螺旋模型
从软件测试人员的角度来看软件开发过程,需要注意的是:测试贯穿在整个开发过程中,而不是在某个阶段集中地做一下测试而其它阶段不用理会测试工作。
一个软件之所以被认为质量优秀,是它内在具备了这样一些特性:
满足用户需求;
合理进度、成本、功能关系;
具备扩展性和灵活性,能够适应一定程度的需求变化;
能够有效地处理例外的情况;
保持成本和性能的平衡。
软件质量保证(Software Quality Assurance-------SQA)是为了确保软件开发过程和结果符合预期的要求而建立的系列规程,以及依照规程和计划采取的一系列活动及其结果评审。
软件质量保证的活动主机包括:
技术方法的就用;
正式技术评审的实施;
软件测试;
标准的执行;
修改的控制;
度量;
记录和记录保存。
软件错误的定义:软件错误是软件产品中存在的导致期望的运行结果和实际结果间出现差异的一系列问题,这此问题包括故障、失效、缺陷。
软件测试:
软件测试就是为了发现软件中存在的错误而分析或执行程序的过程。
具体地说,软件测试是分析程序或根据软件开发各阶段的规格说明和各程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。
软件测试有两个基本的功能:验证(Verification)和确认(V alidation)。
验证指保证软件正确地实现了特定功能的一系列活动。
确认指保证最终的产品满足系统需求。
通俗的说:验证保证产品的正确性;确认保证生产了正确的产品。
软件测试人员应该至少具备以下两个关键领域方面的知识;
(1)软件测试技术;
(2)被测试应用程序及其相关应用领域知识。
理解以下的描述:
测试能提高软件质量,但是提高质量不能依赖测试;
测试只能证明错误存在,不能证明错误不存在;
测试的主要困难是不知道该如何进行有效地测试,也不知道什么时候能够放心的结束测试;每个程序员都应当测试自己的程序(份内事),但不能作为程序已通过测试的依据(所以项目需要独立的测试人员);
80-20原则:80%的错误聚焦在20%的模块中,经常出错的模块改错后还是会经常出错;
测试当循序渐进,不要企图一次性做完。
“欲速则不达”。
测试人员的目标和主要工作:
目标:(1)基本目标是发现软件错误;
(2)要尽可能早的找出软件错误;
(3)必需确保找出的软件错误得以关闭。
主要工作:(1)规划测试任务
(2)设计测试(包括编写测试用例等等)
(3)建立一个合适的测试环境
(4)评估、获取、安装和配置自动测试工具
(5)执行测试
(6)撰写适当的测试文档
软件测试的分类
1、从是否需要执行被测试软件的角度分:有静态测试和动态测试。
2、从测试是否针对软件结构和算法的角度分类分:白盒测试和黑盒测试。
3、从测试的不同阶段分:单元测试、集成测试、系统测试和验收测试四个阶段。
其中系统测试有:功能测试、健壮性测试、性能测试、用户界面测试、安全测试、压力测试、可靠性测试、安装/反安装测试等等。
针对某些功能作用的测试:
回归测试:指错误被修正后或软件功能、环境发生变化后进行的重新测试。
功能测试:测试软件的功能是否符合功能性需求,通常采用黑盒测试方法。
负载测试:测试软件系统的最大负载,超出此负载有可能会失常。
压力测试:与负载测试差不多,叫法不同。
易用性测试:测试软件是否易用,主观性比较强。
一般要根据用户的反馈信息来评价。
安装与反安装测试:测试软件在“全部、部分、升级”等情况下的安装/反安装过程。
恢复测试:测试系统从故障中恢复的能力。
安全性测试:测试系统防止非法侵入的能力。
兼容性测试:测试系统与其它软件、硬件兼容的能力。
内在泄漏测试:测试软件在运行过程中是否会造成内存泄漏。
比较测试:通过与同类产品比较,考察该产品的优点、缺点。
Alpha测试:一种选项的用户测试,此时系统刚刚开发完成。
Beta测试:一种后期的用户测试,上时系统已经通过内测试,大部分错误已经改正,即将
正式发行。
同alpha测试一样都由用户进行,场地不同,alpha测试一般是把用户请到开发方的场地来测试。
Beta测试是指在一个或多个用户的场所进行测试。
测试工作主要步骤:
(1)测试计划:测试人员要首先对需求进行分析,最终定义一个测试集合。
(2)测试设计与开发:根据软件需求、说明书完成测试用例设计并编写必要的测试驱动程序。
(3)执行测试:需要做的工作是,建立测试环境;根据前面编写的测试计划和测试用例运行测试;记录测试结果;报告软件缺陷;跟踪软件缺陷直至其被处理;分析测试结果
PS 测试工程师职业素质
(1)责任心
(2)学习能力
(3)怀疑精神
(4)沟通能力
(5)专注力
(6)洞察力
(7)团队精神
(8)注重积累
测试生命周期
测试计划、测试设计、测试开发、测试执行、测试评估、测试维护
(1)测试计划
测试计划就是定义一个测试项目的过程,以便能够正确的度量和控制测试。
完整测试计划应包含的内容:对测试范围的界定、风险的确定、资源的规划、时间表的制定
(2)测试设计
测试用命的选择
书写测试设计,其步骤如下:
生成测试需求
指定测试过程
指定测试用例(可选)
回顾测试覆盖率
(3)测试开发
输入:被测软件、基于测试需求的测试设计
输出:测试过程和测试用例
目标:
A 创建可以重用的测试过程和测试用例
B 维护测试过程、测试用命与相关测试需求的一一对应。
测试开发的步骤:
A 设立开发环境
B 录制和回放原型过程
C 录制测试过程和测试用例
D测试和高度测试过程
E修改测试过程(可选)
F 建立外部数据集合
如果测试过程是用来循环一套输入和输出数据,就需要建立数据集合。
G 重复测试和调试测试过程,回到D
(4)测试执行
具体步骤:
A 建立测试系统
B 准备测试过程
C 运行初始化过程
D 执行测试
E 从终止的测试恢复
F 验证预期结果
G 调查突发结果
H 记录缺陷日记
(5)测试评估
测试评估的目标
A 量化测试进程
B 生成缺陷和测试覆盖率的总结报告
具体步骤:
A 回顾测试日记
B 评估测试需求的覆盖率
C 分析缺陷
D 决定是否达到完成测试的标准,看是否可以发布。
(6)测试维护
对测试用例库,测试脚本,bug库等进行维护,保证延续性等。
TCP/IP的4层模型
TCP/IP
协议OSI分层
分层
应用层FTP SMTP Telnet DNS SMMP 7
传输层TCP UDP 4
网络层IP,ICMP,(RIP,OSPF) 3 ARP,RARP
链路层Ether net Token Bus Token Ring FDDI WLAN 1,2
IP地址
1、IP地址的组成
IP地址是与物理地址相对应的一咱逻辑地址,由两个部分组成:网络标识(net id)和主机标识(host id)。
网络标识用于区分不同的网络,主机标识用于在一个网络中区分主机。
网络标识是什么?
答:网络标识是指机器在网络中的标志信息,对一台具体的机器而言,机器的IP地址就是在网络中唯一的主机标识就是主机名称。
在网络中,主机的名称+地址成为唯一的标识。
主机标识是什么?
答:就是你主机箱后面有个牌子上面写着S/N的那一串数字,代表你这个主机,每个品牌电脑出场时都会有唯一的一个主机标识
2、IP地址的表示
IP地址有两种表示法:二进制和十进制。
二进制的IP地址有32位,由4个8位的二进制数组成,每8位之间用圆点隔开。
由于二进制数不利于记忆,通常转换成十进制数表示,其聚会范围为0~255.
十进制166. 111. 4. 80
二进制10100110
01101111
00000100
01010000
3、ICP/IP对IP地址的一些规定
网络号主机号源地址目的地址代表的意义
0 0 可以不可以在本网络上的本主机
0 主机号可以不可以在本网络上的某个主机
全1 全1 不可以可以只在本网络上进行广播(有限广播地址)
网络号全1 不可以可以对在网络号的网络上所有主机进行广播(广播地址)127 任何数可以可以用作本地软件环回测试用(回送地址)
由以上规定可以看出,主机号全“0”全“1”的地址在TCP/IP协议中有特殊含义,一般不能用作一台主机的IP地址。
另外:地址段127.0.0.0~127.255.255.255,也属于保留使用的,用于本机环路测试类IP 地址。
4、保留地址
有一些IP地址保留用于一般用途,它们的使用无需得到TCANN批准。
尽管这些地址可以被任何组织任何使用,但他们不允许用于Internet通信。
因这些地址不会分配给某个组织,所以只能在局域网内部使用。
称为私有IP地址或保留IP地址。
保留地址范围见下表。
起始地址结束地址
10.0.0.0 10.255.255.255
172.16.0.0 172.31.255.255
192.168.0.0 192.168.255.255
5、子网
由于Internet规模的急剧增长,促使对IP地址的需求激增。
由此带来的问题是:第一,巨大的网络地址管理开销,使IP地址资源严重不足;第二,网关寻径要求急剧膨胀,“路由表”规模急速增长。
其中第二点尤为突出,路由表的膨胀不仅会降低网关寻找路径的效率(甚至可能使路由表溢出,从而造成寻径故障),更重要的是将增加内外部路径刷新时的开销,从而加重网络负担。
因此,迫切需要寻求新的技术,以应付网络规模增长带来的问题。
对这个问题的一种解决办法是划分子网,即把一个网络再分为更小的一些网络,称为子网。
子网是一个逻辑概念,子网中的各主机的网络地址部分是相同的。
6、子网编址
增加子网在IP地址系统中就是:从主机号部分拿出几位作为子网号。
这种在原来IP地址结构的基础上增加一级地址结构的方法称为子网编址(subnet addressing)技术或子网划分。
如下图所示。
网络号部分主机号部分
网络号部分子网号主机号
划分子网有如下好处:
(1)混合使用多种技术,如以太网和令牌网;
(2)克服已有技术的缺陷,如超过每网段中最大主机数目;
(3)通过对交通重定向和减少广播来减少网络阻塞;
(4)便于网络的管理,划分子网以后,每个子网看起来像一个独立的网络。
7、子网掩码
一个网络被划分成子网后就存在一个子网的识别的问题,使用子网掩码(subnet mask)可以找出IP地址中的子网部分。
IP协议标准规定:每一个使用子网的节点都选择一个32位的位的位模式,若位模式中的某位置为1,则对应IP地址中的某位就为网络地址(包括网络部分和子网号)中的一位;若位模式中的某位置0,则对应IP地址中的某位就为主机地址中的一位。
例如,位模式11111111 111111111 11111111 00000000中,前三个字节全1,代表对应IP 地址中最高的三个字节为网络地址:后一个字节全0,代表对应IP地址中最后的一个字节为主机地址。
这种位模式叫做子网模(subnet mask)或子网掩码。
子网掩码常常使用“点分数表示法”来表示一个IP地址和子网掩码例如C类地址子网掩码(11111111.111111111.11111111.00000000)为255.255.255.0。
子网掩码可以获取主机IP地址的网络地址信息,用于区分通信的两台主机是否在同一子网,由此选择不同的路径。
路由器就是利用此技术得到网络或子网地址信息的。
若一个网络不设置子网,则按子网掩码制定规则得到的掩码称为缺少子网掩码。
各类地址的缺少子网掩码表示:A类地址255.0.0.0;B类地址255.255.0.0;C类地址255.255.255.0。
8、。