软件测试基础知识

本文介绍了软件测试的基础知识,包括软件的特性、分类、生命周期、开发模型和测试概念。详细讲解了瀑布模型、原型模型、螺旋模式和敏捷模型的特点。提到了软件开发文档的重要性,如需求分析、设计和测试文档。探讨了软件测试的方法,如白盒测试、黑盒测试,以及生命周期测试方法的对比。同时,解释了软件测试的一些常用术语和测试覆盖率的概念。最后,讨论了软件测试的团队架构和遵循的原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、软件的特性

软件包括程序、数据及文档

1、形态特性

2、智能特性

3、开发特性

4、质量特性

5、生产特性

6、管理特性

7、环境特性

8、维护特性

9、废弃特性

10、应用特性

二、软件的分类

1、系统软件:负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。

2、应用软件

三、软件的生命周期

问题定义---可行性研究---需求分析---概要设计---详细设计---编码和单元测试---综合测试---软件维护

四、软件开发模型

1、瀑布模型:计划--需求分析--设计--编码--测试--运行维护

特点:

线性方式

当前活动接收上一项活动的工作结果

当前阶段需要测试。

增加了风险

早期错误可能到后期阶段才发现

2、原型模型

客户与开发公司紧密联系

特点:实现客户与系统的交互

进一步细化待开发软件需求

开发人员可以确定客户真正的需求是什么

3、螺旋模式(瀑布、原型结合)

制定计划--风险分析--实施工程(需求确认、软件需求、软件产品设计、设计确认与认证、详细设计、开发、测试)--客户评估

特点:

瀑布、原型两者结合

强调风险分析

每一步都包含:制定计划--风险分析--实施工程--客户评估

过于强调风险

4、敏捷模型

以人为核心、迭代、循序渐进的开发方法

特点:

短周期开发

增量开发

程序员和测试人员编写自动化测试来监控开发进度

通过口头沟通、测试和源代码来交流系统的结构和意图

编写代码之前先写测试代码,也叫测试先行

人员素质要求比较高

要求掌握脚本语言编程

五、软件开发文档

需求分析文档

概要设计文档

详细设计文档

测试设计文档

测试用例

测试报告

六、软件测试概念

1、定义

经典定义:在规定的条件下对程序进行操作,以发现程序的错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程、

标准定义:是否满足规定的需求或弄清预期结果与实际结果的差异

测试目的:在于发现问题,检查系统是否满足要求

2、软件测试的方法和分类

按声明周期划分:

单元测试:编码过程中,用于自测

冒烟测试:一般测试最主要的功能

集成测试:模块与模块间的测试

系统测试:

验收测试:

 

按测试方法分类:

白盒测试:静态分析  动态分析

黑盒测试:功能测试  自动化测试  性能测试  安全测试

灰盒测试

 

其他·:

随机测试

探索式测试

阿尔法测试

贝塔测试

七、生命周期测试方法对比

 

 单元测试集成测试冒烟测试系统测试验收测试
测试阶段模块后单元测试完成后提测后冒烟测试通过后发布前
测试对象最小模块模块间的接口整个系统整个系统整个系统
测试人员白盒测试或开发白盒测试或开发黑盒测试黑盒测试最终用户或需求方
测试依据代码、注释、详细设计文档单元测试模块、概要设计文档冒烟测试用例需求说明文档、测试方案、测试用例用户需求、验收标准
测试方法白盒测试黑盒与白盒相间黑盒测试黑盒测试黑盒测试

 

八、软件测试常用术语

1、C/S

客户端/服务端

2、B/S

浏览器/服务器

3、缺陷bug

软件中不符合用户需求的问题

4、环境

测试环境=软件+硬件+网络环境

5、测试用例

在测试执行前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果

测试用例=输入+输出+测试环境

6、冒烟测试:

先验证一下软件的基本功能是否实现,是否具备可测性

7、阿尔法测试:

验收测试的一种:内部测试  用户、测试人员、开发人员共同参与

8、贝塔测试:

验收测试的一种:内侧后的公测、完全交给最终用户测试

 

九、软件测试的常见模型

1、V模型

计划、分析、设计、编码、测试和维护

早起错误可能等到后期才发现

2、W模型

强调迭代的开发模型或敏捷开发模型

特点:【活动串行】测试与开发同时进行,在V模型的基础上,增加了在开发阶段的同步测试

局限:仍然不支持迭代,减少了一定错误发生率,但是需按照流水线进行设计、编码和测试

3、H模型

特点:【活动并行】过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;软件测试可以进行尽早的进行;软件测试可以根据被测物的不同而分层次进行。

 

结论:软件测试应该尽早准备、尽早执行

4、X模型

十一、软件测试覆盖率

覆盖率是用来测试完整性的一个手段

特点:
可以检测测试是否充分

分析测试弱点在哪方面

指导我们设计增加覆盖率的测试用例

需求覆盖:被验证到的需求数量/总的需求总数

用例覆盖:验证过的用例数量/总的用例总数

十二、测试团队则指架构:

金字塔管理模式

矩阵式管理模式

十三、软件测试原则

1、所有测试都应追溯到用户需求

2、尽早启动测试工作

3、二八原则应用于软件测试

4、穷尽测试是不可能的

5、杀虫剂怪事  不断编写新的测试程序

6、前进两步、后退一步

每次修复之后,必须重新运行先前的所有测试用例,从而确保系统不会以隐蔽的方式被破坏

7、三心二意

细心、信心、耐心

沟通意识、预防意识

十四、软件测试规范

ISO9000

CMM

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值