电脑故障问答网

 找回密码
 立即注册
查看: 87|回复: 1

什么是软件测试?零基础入门知识总结篇,5分钟带你快速了解 ...

[复制链接]

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-11-30 12:35:12 | 显示全部楼层 |阅读模式
1、什么是软件测试?

软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。





通俗的来讲,“软件测试”就是软件测试人员验证软件是否满足用户的需求。最终交付的产品是否和用户本来的需求一致,如果不一致,需要找出不一样的点提交给开发进行修复改善,测试人员在测试过程中找出的问题统称为“Bug”

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

02、什么是Bug(软件错误)?
所谓“(Bug)”,是指电脑系统的硬件、系统软件(如操作系统)或应用软件(如文字处理软件)出错。硬件的出错有两个原因,一是设计错误,一是硬件部件老化失效等。

软件的Bug:狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等。仅就狭义概念而言,软件出现Bug的原因有:


  • 对各种流程分支考虑不全面;对边界情况的处理不到位;编码时的手误。

任何软件在发布时都不可能是绝对的零Bug。在软件过程管理中通行的CMM(能力成熟度模型)中规定的软件质量标准是(Bug个数/千行源码):


  • CMM1级 11.95、CMM2级 5.52、CMM3级 2.39、CMM4级 0.92、CMM5级 0.32

当且仅当,程序规格说明书(软件需求)存在并且合理,如果软件功能和软件规格说明书不相符合,我们就说是软件错误。当软件需求不存在,用户需求存在并且合理,软件功能和用户功能不相符合,就说明是软件错误;软件测试的阶段:整个软件开发的生命周期,需求阶段介入 验证需求的合理性和正确性。

03、软件测试与软件开发的区别?

①技能要求专业度:

软件研发:技能的要求专业度高,技能要求不广泛,需极强的代码基础


  • 编程语言:Java、C、JavaScript、C++、Go、R、HTML 以及 C# 和 SQL

软件测试:技能要求比较广泛,但是专业度不高,无硬性代码基础

  • 接口测试:soupUl, postman , jmeter
  • 性能测试:loadrunner jmeter
  • 自动化测试脚本:Python java unittest TestNg Charles fiddler appium

②软件测试和软件调试

目的:软件测试就是验证软件是否实现了它应该实现的功能(需求)软件调试的目的是软件开发人员验证软件是否实现了“开发”想让软件实现的功能。

角色:测试是由开发人员(白盒测试)和测试人员共同完成,调试是由开发人员完成。

阶段:测试现在贯穿了整个软件开发的生命周期:

  • 需求一>计划一> 设计一>编码一>测试一>运维调试是在开发阶段
04、开发与测试中的需求是什么?

用户的期望和满足合同(文档,规则,标准)的规定所需要的条件和权限。软件需求是用户需求转换而来的,它是用户需求的细化,是用户需求的具体实现细节和规范。




用户需求比较粗略,直接实现会有困难,因为没有细节,所以需要软件需求把用户需求细节实现和规范,把用户需求变成一个具体的可实现的过程文档。
055、需求是软件测试的依据

验证需求,保证需求正确可实现,细化需求,从需求中提炼出一个一个的测试项。以用户登陆为例,阐述下整个过程:




软件测试人员如何深入了解需求? 答:从用户需求分析阶段就开始介入了解需求,站在用户的角度。
06、如何编写完整的测试用例

测试用例就是向被测试系统发起的一组集合,包含测试环境,测试数据,测试步骤,预期结果,(重要性、优先级、操作方式、标题等)
测试点:用正确(已经注册)的账号和密码登陆知乎界面,登陆成功

测试用例:所测试的项目标题

测试环境:Chrome版本99.0.4844.51 PC端 Windows系统

测试数据:用户名:QingshengRuanjianCeshi 密码: *******

测试步骤:

  • 1.在浏览器打开网页URL:https://www.z*h*i**h**http://u.com/
  • 2.输入用户名和密码
  • 3.点击登陆
预期结果:(操作完测试步骤后的结果)登陆成功

测试用例告诉我们测什么,怎么测,该测哪些。
优点:衡量需求的覆盖率(测试用例和需求对比):复用性,借鉴意义; 可以用于回归测试; 防止遗漏测试需求。
07、软件开发的常见5个模型

软件开发的生命周期 : 需求分析一计划一 设计一 开发一 测试一 运行维护




(1)瀑布模型

瀑布模型在软件测试工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,因此是线性顺序的软件开发模式。




特点:阶段性强(强调开发的阶段性、强调早期计划及需求调查、强调产品测试),每一个阶段比较独立; 看重前期的需求分析和后期的测试

缺点:易串行有去无回,测试介入晚,导致项目前期的问题到后面才发现,失去了错误及时修正的机会、不支持项目频繁变动

(2)螺旋模型

适合于项目庞大,风险大,不是很明确项目,一个项目分多层小迭代。




特点:强调每一个迭代的测试质量和风险分析。适合风险比较大并且整个项目也比较庞大,每一个迭代做风险分析,讨论项目是否有价值继续。
缺点:风险管控人力物力投入很多,风险分析要求很高,需要投入专业人员,导致时间,项目支出成本费用比较高。风险对比对测试人员和开发人员要求比较高。
回复

使用道具 举报

0

主题

6

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2025-4-4 10:20:39 | 显示全部楼层
前排,哇咔咔
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

云顶设计嘉兴有限公司模板设计.

免责声明:本站上数据均为演示站数据,如购买模板可以上DISCUZ应用中心购买,欢迎惠顾.

云顶官方站点:云顶设计 模板原创设计:云顶模板   Powered by Discuz! X3.4© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表