欢迎来到培训无忧网!

全国切换

咨询热线 400-001-5729

位置:培训无忧网 > 新闻资讯 > 电脑/IT > 软件测试 >  软件测试学习前需要了解的基础知识内容概括

软件测试学习前需要了解的基础知识内容概括

来源:知乎 发布人:云朵

2022-01-10 14:31:12|已浏览:270次

软件测试学习前需要了解的基础知识内容概括

软件测试概念

A.1 经典定义

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

A.2 标准定义(IEEE)

      软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

A.3 测试目的

      软件测试的目的是发现问题,发现至今未发现的问题。检查系统是否满足需求。

Grenford J.Myers观点

      (1)测试是程序的执行过程,目的在于发现错误;

      (2)一个好的测试用例在于能发现至今未发现的错误;

      (3)一个成功的测试是发现了至今未发现的错误的测试;

A.4 测试的对象

      程序、数据、文档。

A.5 软件错误占比

      据业界著名的统计公司的统计表明,属于需求分析和软件设计错误的约占64%,属于程序编写错误的仅占36%。

软件测试分类

B.1 wikipedia

      测试级别:单元测试、集成测试、接口测试、系统测试、验收测试

      测试方法:动态测试、静态测试;黑盒测试、白盒测试、灰盒测试。

B.2 综合整理分类

B.2.1 按阶段划分 //重要

√ 单元测试(Unit Testing)
      单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。Findyou又称为模块测试

      测试阶段:编码后

      测试对象:最小模块

      测试人员:白盒测试工程师或开发工程师

      测试依据:代码和注释+详细设计文档

      测试方法:白盒测试

      测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

√ 集成测试(Integration Testing)
      集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。阿旺主要目的是检查软件单位之间的接口是否正确。

      测试阶段:一般单元测试之后进行

      测试对象:模块间的接口

      测试人员:白盒测试工程师或开发工程师

      测试依据:单元测试的模块+概要设计文档

      测试方法:黑盒测试与白盒测试相结合

      测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

√ 系统测试(System Testing)
      将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段。

      测试阶段:集成测试通过之后

      测试对象:整个系统(软、硬件)

      测试人员:黑盒测试工程师

      测试依据:需求规格说明文档

      测试方法:黑盒测试

      测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

√ 验收测试(Acceptance Testing)
      验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。阿旺总结验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。

      测试阶段:系统测试通过之后

      测试对象:整个系统(包括软硬件)。

      测试人员:主要是最终用户或者需求方。

      测试依据:用户需求、验收标准

      测试方法:黑盒测试

      测试内容:同系统测试(功能...各类文档等)

B.2.2、按是否查看代码划分 //重要

∑ 黑盒测试(Black-box Testing)
      黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。

∑ 白盒测试(White-box Testing)
      白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒指的打开盒子,去研究里面的源代码和程序结果。

∑ 灰盒测试(Gray-Box Testing)
      灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

B.2.3、按是否执行程序划分

£ 静态测试(Static testing)
      静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。阿旺分析如下

      检查项:代码风格和规则审核;程序设计和结构的审核;业务逻辑的审核;走查、审查与技术复审手册。

      静态质量:度量所依据的标准是ISO9126。在该标准中,软件的质量用以下几个方面来衡量,即功能性(Functionality)、可靠性(Reliability)、可用性(Usability)、有效性(Efficiency)、可维护性(Maintainability)、可移植性(Portability)。

£ 动态测试(Dynamic testing)
      动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
B.2.4、按是否查看代码划分 //重要

∂ 手工测试(Manual testing)
      手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。阿旺总结优缺点:

      优点:自动化无法替代探索性测试、发散思维类无既定结果的测试。

      缺点:执行效率慢,量大易错。

∂ 自动化测试(Automation Testing)
      就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
      自动化测试比如功能测试自动化、性能测试自动化、安全测试自动化。
      通常所说的自动化是指功能测试自动化。
      Findyou看AI技术的兴起发展,类似可预见工作都有可能会被伪AI代替。
B.2.5、其他汇总

      注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-14260.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注软件测试频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050

留下你的信息,课程顾问老师会一对一帮助你规划更适合你的专业课程!
  • 姓名:

  • 手机:

  • 地区:

  • 想学什么:

  • 培训无忧网
免 费 申 请 试 听
提交申请,《培训无忧网》课程顾问老师会一对一帮助你规划更适合你的专业课程!