专栏首页测试之路软件测试入门,原来这么简单
原创

软件测试入门,原来这么简单

人非圣贤,孰能无过。每个组织的最终目标都有其自己的一套期望。对于某些企业而言,成功的实际结果与预期结果相匹配的频率很高,这表明了成功。但是,在达到最终目标之前,每个公司都必须面对人为错误的后果。

任何企业都不能以人为错误为借口提供受损产品。为了确保高质量的产品,必须有一些地方可以找出错误。对于软件开发公司而言,软件测试是解决此问题的必不可少的解决方案。在本文中,我将介绍一些软件测试基础知识。

1.什么是软件测试?

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

简而言之,软件测试是指对被测应用程序的验证。在将产品投放市场之前,测试是倒数第二个步骤。它包括对产品不同方面的检查,分析,观察和评估。

2.软件测试的重要性

有人参与,就可能犯错。软件测试很重要,因为如果软件中存在任何错误或错误,则可以及早发现并可以在交付软件产品之前解决。经过正确测试的软件产品可确保可靠性,安全性和高性能,从而进一步节省时间,降低成本并提高客户满意度。

软件测试带来的好处主要有:

  • 经济高效:这是软件测试的重要优势之一。按时测试任何IT项目可帮助您长期节省资金。如果错误在软件测试的早期阶段被捕获,则修复成本会降低。
  • 安全性:这是软件测试的最脆弱和最敏感的好处。人们正在寻找值得信赖的产品。它有助于尽早消除风险和问题。
  • 产品质量:这是任何软件产品的基本要求。测试可确保将优质的产品交付给客户。
  • 客户满意度

3.软件测试的目的

这里有一个误区,软件测试的目的不是发现错误或使软件变得更好,而是通过主动发现并消除可能对该软件的客户造成最大影响的问题来降低风险。

测试的本质是 降低风险。

这个想法不是要找出所有可能出错的东西,也不是要按照某个规范来验证软件(就像某些人喜欢定义软件测试一样),因为两者都不可行。正如任何测试人员都会告诉你的那样,永远找不到一个软件中的所有错误或缺陷,bug 是一定会存在的。

4.软件测试的类型

根据应用程序的性质和范围,有不同类型的软件测试。网上也有从各种各样的角度进行分类,让人眼花缭乱。在这里,我简单介绍三种基本类型:功能测试、非功能测试和回归测试

4.1 功能测试

功能测试是测试领域中一个广泛的术语,用于指代测试活动,其中所测试的是系统的实际功能。你可能会想:“如果不测试系统功能,还会测试什么?”其实,你可以测试与功能无关的所有事物,例如性能,可用性,安全性等等。因此,功能测试是一种真正从功能角度执行系统功能时所进行的测试。

功能测试的不同类型包括:

  • 单元测试 在单元测试中,测试人员检查单个软件组件。目的是测试组件是否符合要求。
  • 集成测试 集成测试涉及将单个组件或模块组合在一起后对其进行测试。
  • 系统测试 在此,测试人员执行测试用例,以验证集成和完整软件以及规范的合规性。
  • 冒烟测试 冒烟测试简单和基本的功能,例如用户是否可以登录或注销。
  • 接口测试 这些测试检查两个软件系统之间的通信是否正确执行。

基本上,功能测试可以是白盒测试,也可以是黑盒测试,但通常它会是黑盒测试。黑盒和白盒测试只是指功能测试或其他测试的完成方式。这实际上只是一种功能测试。

4.2 非功能测试

非功能测试会考虑可靠性,可用性和性能等参数。非功能测试可能正在检查可以同时登录多少用户。

非功能测试类型包括:

  • 性能测试 应用程序的性能或速度在所需的工作负载下进行了测试。
  • 负载测试 这将在巨大的工作负载下测试应用程序的行为。因此,如果您要测试网站,则负载测试会在高流量下检查网站的功能和性能。
  • 压力测试 压力测试通过评估软件是否可以正常运行来确定软件的健壮性。
  • 安全测试 在这里,执行测试用例以检查系统是否受到保护,免受内部和外部来源的突然或故意攻击。
  • 兼容性测试 执行测试用例以检查应用程序是否与各种环境兼容。例如,如果您要测试Web应用程序,则兼容性测试将处理网站在不同浏览器或设备上的工作方式。
  • 可用性测试 可用性测试在学习,操作以及准备输入和输出方面探索了最终用户的易用性。
  • ......

4.3 回归测试

单独将回归测试提出来,是因为这可能是最重要的测试阶段之一。日常工作中很大一部分时间都是在做回归,保障线上功能的稳定性。

回归测试是一种概念。它指的是,在实现了新功能之后,执行整个应用程序的旧测试用例。几乎所有的自动化测试都将是回归测试。

5.如何进行测试

关于如何进行测试以及应遵循什么过程,不同的团队会有不同的想法。就像我对测试所做的大量介绍一样,此处的内容不是最完整的,而是让你大致了解测试过程是什么样的。

步骤1 –制定测试计划

测试通常始于某种测试计划的制定。

  • 将如何测试?
  • 我们的测试策略是什么?
  • 我们要进行什么样的测试?
  • 我们要测试哪些功能?(哪些功能可能会产生最大的影响(即风险))

这些都是测试计划中通常回答的问题。

步骤2 –设计测试用例

接下来,通常根据系统的需求设计测试用例。

在此阶段,测试人员可能会给出将要运行的常规测试用例的列表,进行测试用例的评审。

步骤3 –测试执行

设计好之后,通常会创建并执行测试。有时,测试用例会记录在项目管理软件中,然后再执行。

步骤4 –记录结果

测试执行的结果需要被记录和评估,这也是大家常提到的 bug,通常会记录到缺陷管理工具中,方便后续跟踪。开发人员修复了之后,会重新测试,这也是一个循环,直到符合可交付代码的质量标准为止。

基本上就是这样:计划如何测试,设计测试用例,执行测试,记录问题,发布上线。

最后

其实,对这些概念有所了解就可以了,因为测试和 QA 的世界很大,就像软件开发领域一样,所以这绝不是一个详尽的内容清单。了解测试背后的真实目的(降低风险)才是至关重要的

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 8 种基本软件开发模型:选择哪一种?

    软件工程是一个非常复杂的过程。在软件开发阶段要遵循不同的软件开发生命周期模型来指定和设计。这些模型也称为软件开发生命周期(SDLC)模型/方法。每个过程模型都遵...

    Sharonyao
  • 什么是 Git、Github?

    Git 和 GitHub 是软件开发人员必不可少的工具,但是你知道它们是什么吗?为什么了解和使用 Git 和 GitHub 对于开发人员很重要?这个系列,我会从...

    Sharonyao
  • 5 分钟,带你了解MVP(最低可行性产品)

    如果你从事产品管理,产品开发或仅从事技术或软件方面的工作,不知道 MVP 这个词,可不行。很久之前就有看到过简单介绍,但一直没有去深入思考,我也没彻底搞懂它到底...

    Sharonyao
  • 【荐】Web Application Penetration Testing中文译作

    (英文原版地址:https://www.exploit-db.com/docs/english/44319-web-application-security-t...

    ChaMd5安全团队
  • 软件测试小白必读

    软件测试作为一个行业繁荣发展,也只是近四五年的事情,相关培训也是雨后春笋,自2011年入行,看过太多人转行,看过一些人带着未知想入行,真真是围城里的人想出去,围...

    互联网金融打杂
  • 测试思想-验收测试 关于验收测试

    个人理解,通常意义上的验收测试,在最终用户组织参与的情况下,确认软件能否按合同要求或软件需求说明书中的确认标准,执行软件既定功能和任务的测试。

    授客
  • 测试分析设计总结

    Tester_Jun
  • 全栈软件测试工程师宝典连载(1)

    《软件测试艺术》作者G.J.Myers对软件测试定义。软件测试是为了发现错误而执行程序的过程。它包括以下三个方面。

    小老鼠
  • 自动化测试与手动测试 必须知道的重要差异

    我们知道,每个项目都有三个重要方面,例如质量,成本和时间。任何项目的目标都是在控制完成项目所需的成本和时间的同时获得预期的输出。

    用户7466307
  • 软件测试的方法

    尽早和尽量多的发现被测对象中的缺陷,应该是测试人员测试过程中最常提起的一个测试目标,也是所谓测试价值的一个的重要体现。发现缺陷的目的是推动开发人员定位和修复问题...

    用户7880705

扫码关注云+社区

领取腾讯云代金券