软件测试基础知识

1.测试基础

1.0 软件的生命周期

1.0.1 计划

项目经理完成

1.0.2 需求分析

加法功能:十进制加法,有两个输入参数(参数1、参数2),有1个结果输出(结果); 点击加法按钮能获取参数1和参数2的和,和在结果输出中显示。

需要包含错误处理

界面:

1.0.3 设计

考虑加法按钮如何实现:结果中显示两个参数的和

即:主要对加法按钮的处理,点击按钮后,结果文本框的取值=参数1文本框的取值+参数2文本框的取值

1.0.4 编码

python实现

1.0.5 测试

1.0.5.1 动态测试:

检查实际结果和期望值结果是否一致

加法功能不正确:通过正向测试用例发现

输入参数不正确,无错误提示:通过反向测试用例发现

1.0.5.2 静态测试

检查需求或者设计是否有遗漏

1.0.6 维护

1.0.6.1 升级

1.0.6.2 新的需求

新增减法,乘法,除法等额外功能

1.1 软件开发过程模型(了解)

1.1.1 瀑布模型

1.1.1.1 定义

线性模型的一种,在所有的模型中占有重要地位,是其他模型的一个基础

每个阶段执行一次,按照线性模型的顺序进行软件开发

测试的切入点:

测试阶段处于软件实现后,必须在代码完成后留出足够多的时间给测试活动,否则导致测试不充分,很多问题在项目后期才暴露、

1.1.1.2 有缺点

瀑布模型
地位:这是一种经典模型,提供了软件开发的基本框架。
优点:
1)各阶段划分清晰
2)强调计划与需求分析
3)适合需求稳定的产品开发
缺点:
1)单一流程,不可逆
2)风险显露得晚,纠正机会少
3)测试只是其中一个阶段,缺乏全过程测试思想
4)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
5)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险。
6)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
​

1.1.1.3 改良

沿用瀑布模型的线性思想,细化了各个阶段,在某些重要关注的阶段之间掺入迭代思想

1.1.1.4 应用场景

银行

保险

建筑

传统行业

1.1.2 快速原型模型

1.1.2.1 原型阶段

快速分析
需求说明
构造原型
原型
运行原型
评价原型
修改意见

1.1.2.2 步骤

step1

建造一个快速原型,实现用户和系统的交互,用户对原型进行评价,进一步细化待开发软件的需求,通过逐步调整原型使其满足用户的要求,开发人员可以确定用户真正的需求

step 2

在第一步的基础上开发出用户满意的软件产品

1.1.2.3 优缺点

优点

克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的项目开发风险。适合预先不能确切定义需求的软件系统的开发。

缺点:

不适合大型系统的开发(适合开发小型的、灵活性高的系统)前提要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。

1.1.2.4 应用场景

微信

抖音

互联网行业

1.1.3 螺旋模型

1.1.3.1 模型

本质上,将线性模型实现多遍

比较浪费时间,在实际的开发中,使用比较少

1.1.3.2 优缺点

优点
螺旋模型很大程度上是一-种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评
估。
​
缺点
采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必
造成重大损失。过多的迭代次数会增加开发成本,延迟提交时间。
​

1.1.3.3 应用场景

大型复杂项目

1.1.4 三种开发模型的区别

需求 项目规模 模型
清晰 瀑布模型
不清晰 中小型 快速原型
不清晰 螺旋模型

1.2 测试模型

1.2.1 V模型

1.2.1.1 模型(背会)

1.2.1.2 单元测试

模块测试,针对软件设计中的最小单位--程序模块

又称模块测诚,针对软件设计中的最小单位—程序模块,进行正确性检查的测试工作。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。 单元定义:C中指一个函数,Java中指一个类,在图形化的软件中,单元一般指1个窗口,1个菜单。

1.2.1.3 集成测试

组装测试,在单元测试的基础上,将所有程序模块进行有序的,递增的测试,重点测试不同模块的接口部分

1.2.1.4 系统测试(system testing):

指的是将整个软件系统看为一个整体进行测试,包括对功能、性能、以及软件所运行的软硬件环境进行测试。 系统测试在系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,以及系统在不同的软硬件环境中的兼容性等。

1.2.1.5 验收测试

α测试:Alpha是内测版本,即现在所说的C8,比版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的bug较多,普通用户最好不要安装。

β测试:Beta是公测版本,是对所有用户开放的测试版本。该版本相对于a颜已有了很大的改进,消除了严重的错误,但还是存在着一些陷需要经过大规模的发布试来进一步消除。这一版本通常由软件公司免费发布,用户可从相关的站点下载。通过一些专业爱好者的测试,将结果反馈给开发者,开发者们再进行有针对性的修改。该版本也不适合一般用户安装。

λ测试:Camma版本,指的是软件版本正式发行的候选版。该版本已经相当成熟了,与即将发行的正式版相差无几,成为正式反布的候选版本。

软件正式版本推出之前的几个版本,需要有人测试一下,看看是不是有问题。在开发该软件的公司内部的由该公司内部人员式的称为:Alpha测试,Alpha 测式主要看有没有功能缺失或系统错误,Alpha 测试完后一般不会有大问题了。然后巴软件拿给用户测试称为:beta 测试,主要是看用户对软件外观、使用方便等的反应。这么多的式版一方面为了最终产品尽可能地满足用户的需要,另一方面也尽量成少了软件中的bug。然后做过一些修改,成为正式发布的候选版本时,叫做gamma(现在叫做RC-ReleaseCandidate)。 简单来说,阿尔法测试主要是测试人员在开发环境下的测试,贝塔测试是在实际环境中的测试,或者公司内部人员在模拟真实环境中的测试。

1.2.1.6 优缺点

优点:相对于瀑布模型,V模型测试能够尽早的进入到开发阶段。
缺点&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当谈到软件测试基础知识时,以下是一些重要的内容: 1. 测试概念和目标:了解软件测试的定义、目标和重要性。测试的目标包括发现缺陷、验证功能、评估质量以及提供可靠的软件。 2. 测试过程:熟悉测试过程中的不同阶段,如测试计划、测试设计、测试执行和测试评估。 3. 测试类型:掌握各种测试类型,如单元测试、集成测试、系统测试、验收测试和回归测试等。每种类型都有其特定的目标和策略。 4. 测试设计技术:了解常用的测试设计技术,如等价类划分、边界值分析、决策表和状态转换等。这些技术可帮助生成有效的测试用例。 5. 缺陷管理:了解如何识别、报告和跟踪缺陷。这包括使用缺陷跟踪工具和编写良好的缺陷报告。 6. 自动化测试:理解自动化测试的概念和优势。熟悉自动化测试工具和框架,如Selenium和JUnit等。 7. 质量保证:了解质量保证的概念和实践。这包括持续集成、代码检查、静态分析和持续测试等。 8. 常见测试文档:熟悉一些常见的测试文档,如测试计划、测试用例测试报告和缺陷报告等。 9. 软件开发生命周期:了解软件开发生命周期中测试的角色和活动。这包括瀑布模型、迭代模型和敏捷开发等。 10. 与开发团队的协作:了解测试团队与开发团队的合作方式。这包括及早参与、交流沟通和共同解决问题等。 这些是软件测试基础知识的一些重要方面,掌握它们将有助于您理解软件测试的核心概念和实践。当然,这只是一个简要的概述,还有很多其他内容可以进一步学习和了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值