首页 > 其他分享 >软件测试/测试开发|软件测试基础概念

软件测试/测试开发|软件测试基础概念

时间:2023-12-26 18:01:35浏览次数:31  
标签:是否 系统 概念 测试 软件 运行 软件测试

软件测试/测试开发|软件测试基础概念_软件测试

前言

在我们使用各种App访问各个网站时,偶尔会出现软件崩溃,加载缓慢,或者出现报错的情况,而这两年,我们也见过了很多大厂的App出现问题,比如美团外卖,比如阿里云和微信都出现过问题,而要避免出现上述这些大的问题,就需要我们在软件上线之前尽可能的发现软件的问题,这就是我们所说的测试,即对软件进行测试,发现问题找到原因就是我们软件测试的目的。

软件缺陷

在了解什么是软件测试之前,我们先要了解一下软件缺陷,因为软件测试的目的就是找到软件缺陷,找到原因,并协助解决。

软件缺陷:就是我们熟知的“Bug”。即计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。

缺陷的表现形式:

  • 软件没有实现产品规格说明书所要求的功能模块;
  • 软件中出现了产品规格说明指明不应该出现的错误;
  • 软件实现了产品规格说明中没有提到的功能需求;
  • 软件没有实现虽然产品规格说明没有明确提及但应该实现的目标;
  • 软件难以理解、不易使用、运行缓慢、用户体验不友好。

产生软件缺陷的原因:

  • 需求不清晰;
  • 系统结构较为复杂;
  • 对程序逻辑路径或者数据范围考虑不全面;
  • 确保设计时间的精准同步;
  • 存在系统性、可靠性的隐患问题;
  • 系统运行环境的复杂;
  • 通信端口较多时影响系统的安全性、适用性;
  • 设计技术系统兼容的问题。

软件测试

定义:软件测试是为了发现错误而执行程序或系统的过程。

软件测试应该遵循以下原则:

  • 全面性:覆盖所有可能情况和用例,包括正常和异常情况。
  • 独立性:测试应该独立于开发,由专门的测试团队或者专业测试人员进行。
  • 早期开始:测试应该从软件开发的早期阶段就开始,早发现缺陷,成本更低。
  • 缺陷集中:当发现缺陷时,应集中在问题的根源而不是表面修复,以避免同类问题再次出现。
  • 尽可能自动化:使用自动化测试工具提高效率、减少人为错误。
  • 持续改进:测试流程和策略应不断改进,以适应不断变化的软件和需求。

软件测试策略

软件测试策略是软件工程过程的一个软件测试的模板,也就是把特定的测试用例方法放置进去的一系列步骤:

软件测试包含的特征:

  • 测试从模块层开始,然后扩大延伸到整个基于计算机的系统集合中;
  • 不同的测试技术适用于不同的时间点;
  • 测试由开发人员及独立的测试组来管理的;
  • 测试和调试是不同的活动,但是调试必须能够适应任何测试策略。

软件测试的分类

软件测试有多种分类方法,我们这里介绍几种常用的分类法:

软件开发阶段划分

  1. 单元测试

指对软件中的最小可测试单元进行检查和验证,单元测试需要从软件的内部结构出发设计测试用例。多个模块可以独立地进行测试。

  1. 集成测试

组装测试/联合测试:将所有模块按照设计要求组装成子系统或者系统进行集成测试。

  1. 系统测试

将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试 和确认测试,系统测试是针对整个产品的测试。

  1. 验收测试

交付测试:确保软件准备就绪。

按测试技术划分

  1. 白盒测试:结构性测试/透明盒测试/逻辑驱动测试/基于代码的测试。
  2. 黑盒测试:功能测试:通过测试每个功能是否都能正常使用。
  3. 灰盒测试:介于白盒测试和黑盒测试之间的一种测试方法:不仅关注输出、输入的正确性,同时也关注程序内部的情况。

被测试软件是否实际运行划分

  1. 静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
  • 对于代码测试:主要测试代码是否符合相应的标准和规范;
  • 对于界面测试:主要测试软件的实际界面与需求中的说明是否相符;
  • 对于文档测试:主要测试用户和需求说明是否符合用户的实际需求。
  1. 动态测试:指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性、健壮性等性能。

测试类型划分

  1. 功能测试,主要针对产品需求说明书对软件进行测试,验证软件功能是否符合需求,包括对原定功能的检验以及测试软件是否存在冗余功能、遗漏功能。
  2. 界面测试,主要对系统的界面进行测试,测试用户界面是否友好,软件是否方便易用、系统设计是否合理、界面位置是否正确等问题。
  3. 性能测试,主要测试系统的性能是否满足用户需求,即在特定的运行条件下验证系统的能力状态。性能测试主要是通过自动化的测试工具模拟正常、峰值、异常负载状况、对系统的各项性能指标进行测试。
  4. 强度测试,迫使系统在异常的资源配置下运行。目的是找出因资源不足或者资源争用而导致的错误。
  5. 压力测试,主要是在超负荷环境中,检验系统是否能够正常运行。
  6. 安全测试,测试系统防止非法入侵的能力。
  7. 兼容性测试,测试软件产品在不同的平台、不同的工具软件或者相同工具软件不同的版本下的兼容性。
  8. 安装测试,主要校验软件是否可以正确安装、安装文件的各项设置是否有效、安装后是否影响整个计算机系统、卸载软件时是否可以卸载干净、卸载软件之后是否影响整个计算机系统。
  9. 文档测试,主要检查内部或外部文档的清晰性和准确性。

软件测试过程模型

  1. V模型

软件测试/测试开发|软件测试基础概念_软件测试_02

  1. W模型

软件测试/测试开发|软件测试基础概念_软件测试_03

  1. H模型

软件测试/测试开发|软件测试基础概念_规格说明_04

  1. X模型

软件测试/测试开发|软件测试基础概念_规格说明_05

总结

软件测试是确保软件质量的重要环节,它不仅关乎产品的稳定性和用户体验,也直接影响到企业的声誉和利益。了解基本的软件测试原则、对象和作用,以及缺陷的种类和影响,对于我们学习软件测试非常重要。


标签:是否,系统,概念,测试,软件,运行,软件测试
From: https://blog.51cto.com/u_15640304/8986134

相关文章

  • 软件测试/测试开发|一文告诉你什么是测试用例
    前言对于一个测试工程师来说,测试用例的编写是一项必须掌握的能力,但有效的设计和熟练的编写确实一项十分复杂的技术。不仅需要掌握软件测试技术和流程,而且还要对整个软件不管从业务,还是对软件的设计,程序模块的结构,功能规格等说明都要有透彻的理解。测试的设计方法不是单独存在的,具体......
  • 软件测试/测试开发|测试用例设计和评审应该怎么做,一篇文章告诉你?
    测试用例简介测试用例(TestCase)是为项目需求而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序是否满足客户需求,可以总结为:每一个测试点的数据设计和步骤设计对需求分析找出来的每一个功能点,进行数据的设计、步骤的设计、预期的结果。测试用例的目的(为什么使用测试用例?)1......
  • 软件测试面试——项目相关的几个问题
    ......
  • 微信小程序自动化测试方案调研和对比
    方案优点缺点​微信开发工具-手动录制简单方便,点击即可回放会因为网络延迟等回放失败,可定制化弱​官网sdk miniprogram-automator配合jest,较为方便,只需写一些js代码需要有js代码功底,以及遇到shodaw-root时定位元素较为困难​官网测试框架 Minium功能全面,......
  • 微信小程序测试框架minium 报错MiniCommandError: timeout问题排查和解决
    系统:win10python版本:3.11.7minium版本:1.4.6微信开发工具版本:1.06.2310080运行minitest官网的一个简单例子,内容如下#!/usr/bin/envpython3importminiumclassFirstTest(minium.MiniTest):deftest_get_system_info(self):sys_info=self.mini.get_sys......
  • java接口自动化系列(01):自动化测试框架设计(入门版)
     前言想必很多测试小伙伴自动化都是用的python吧?从当前测试招聘要求可以看到,测试开发就是全栈要求,要想在职场有竞争力,就得多个技术方向逐个提升;而和自动化、测开、性能、白盒等都相关的语言就是java,当然,这是基于很多公司项目是java来说的,毕竟Java已经发展了近20年,丰富的周边框架打......
  • HarmonyOS应用性能与功耗云测试
     性能测试性能测试主要验证HarmonyOS应用在华为真机设备上运行的性能问题,包括启动时长、界面显示、CPU占用和内存占用。具体性能测试项的详细说明请参考性能测试标准。性能测试支持Phone和TV设备,包格式包括Hap/App。前提条件● 已注册华为开发者帐号,并完成实名认证,具体......
  • java接口自动化系列(02):测试数据文件设计
    说明本次分享的是测试数据存excel中,后续分享测试数据存yaml中常用数据用例数据频繁使用到的值,我们可以放到一个变量中,这样避免修改值的时候大面积修改示例sheet名称:variables解释:标题行每个单词首字母大写,因为代码里面反射会用到解释:字段数据Name:变量名,#{xxx}整体表示变量名Value:变......
  • 【干货】Windows测试拉流工具及操作步骤大汇总
    关于技术的文章小编给大家分享过很多,今天再给大家分享一点干货:Windows系统中可以测试拉流的工具汇总,感兴趣的朋友可以进行深入了解哦。1、EasyStreamClientTool工具该工具在easynvr目录下,进入下图该目录下:随后在路径窗口输入cmd,回车,进入命令行;输入拉流命令,例:EasyStrea......
  • Taurus .Net Core 微服务开源框架:Admin 插件【4-6】 - 配置管理-Mvc【Plugin-Doc 接口
    前言:继上篇:Taurus.NetCore微服务开源框架:Admin插件【4-5】-配置管理-Mvc【Plugin-Admin后台】本篇继续介绍下一个内容:系统配置节点:Mvc- Plugin- Doc 接口测试及文档:配置界面如下:  配置说明如下:1、Doc.IsEnable:配置当前接口测试文档插件是否可用这是一个......