软件测试学习(完)

软件测试学习

编辑时间:2024/5/17

0.理论学习

第一单元

Q开发工程师和测试工程师的关系理解

Q软件测试的目的和原则,识记、理解

为什么要进行软件测试
软件产品最终具备哪些功能由客户需求决定,客户需求如何转化为最终的软件产品要经过一系列的开发过程。在软件开发过程中,软件设计方案与需求说明书一样,可能会存在片面、多变、理解与沟通不足的情况,导致软件出现问题。
软件测试的目的
就是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,避免软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险
软件测试
就是在规定的条件下对程序进行操作,以发现错误及对软件质量
进行评估

软件测试的原则

1.所有的软件测试都应追溯到用户需求2.尽早开展测试3.测试需要终止准则4.充分注意测试中的群集现象5.程序员应避免检查自己的程序

软件缺陷

  • 软件缺陷(software defect):软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。其结果是软件运行于某一特
    定条件时出现软件故障。
  • 软件错误(software error):软件错误是指在软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生,这种错误也称Bug。
  • 软件故障(software fault):软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态。
  • 软件失效(software failure):软件失效是指软件运行时产生的一种不希望或不可接受的外部行为结果。

Q软件缺陷报告包括内容,识记、理解

缺陷报告
在这里插入图片描述
缺陷报告的重要组成
1.缺陷的严重性和优先级2…缺陷的严重性和优先级3.缺陷的类型和来源
在这里插入图片描述
在这里插入图片描述
缺陷的管理

Q软件缺陷生命周期的主要几个状态理解

缺陷的生命周期可以简单地描述为“打开(open)→ 修正(fixed或solved)→ 关闭(close)”。在这里插入图片描述

第二单元

常见应用系统的基本特征
1.功能:增加,修改,删除,查询,导入/导出,计算2.业务流程

拓展:在这里插入图片描述
在这里插入图片描述
软件测试的基本思路
1.增加功能的测试思路2. 修改功能的测试思路. 3.删除功能的测试思路4.查询功能的测试思路5. 导入/导出功能的测试思路6. 计算功能的测试思路7. 业务流程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Q测试用例的概念识记、理解

为什么需要测试用例

设计测试用例是为了更有效、更快地发现软件缺陷;测试用例具有很高的有效性和可重复性,依据测试用例进行测试可以节约测试时间,提升测试效率;测试用例具有良好的组织性和可跟踪性,有利于测试的管理
什么是测试用例

测试用例就是为特定目标而开发的一组测试输入、执行条件和预期结果,其目标可以是测试某个程序路径或核实是否满足某个特定的需求。
在这里插入图片描述

第三单元

软件测试类型
1.功能测试:功能测试一般是在整个软件产品开发完成后,通过直接运行软件的方式,对前端(用户界面)的输入与输出功能进行测试,来检验软件能否正常使用各项功能、业务逻辑是否清楚、是否满足用户需求。功能测试所涉及的软件产品可能是Web程序、手机APP,也可能是微信小程序。
2.接口测试:接口测试最重要的一个意义就是可以使得测试提前切入。测试人员可以在界面没有开发完成之前就可以开始测试,以便提早发现问题。一般来说,软件后台接口开发基本完毕之后,就需要开始接口测试。接口其实就是前端与后端做沟通交互的桥梁。接口测试除了可以将测试工作前置外,还可以解决下面的一些问题。比如在用户注册功能中,需求规定用户名为6~18个字符,可以包含字母(区分大小写)、数字和下划线。
3.性能测试:性能测试是指通过模拟生产运行的业务压力或用户使用场景来测试系统的性能是否满足生产性能的要求,其目的时为软件产品的使用者提高高质量、高效率的软件产品。

Q单元测试概念的理解

单元测试:单元测试是对已实现的软件的最小单元进行测试,以保证构成软件的各个单元的质量。

Q集成测试的两种集成策略,识记、理解

  • 集成测试:
    1.集成测试的模式
    •非渐增式测试模式:先分别测试每个模块,再把所有模式按设计要求放在一起结合成所要的程序,也常被称为大棒模式。
    •渐增式模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。
    业界普遍采用渐增式测试模式,也就是持续集成的策略。使用持续集成,绝大多数模块之间的接口缺陷,在其引入的第一天可能就会被发现。软件开发中各个模块可能不是同时完成的,测试人员可以尽可能早地集成已完成的模块,有利于尽早发现缺陷,避免像大棒模式那样一下子涌现大量的缺陷。
    2.自顶向下集成测试
    自顶向下集成法是从主控模块开始,沿着软件的控制层次向下移动,逐渐把各个模块结合起来。在自顶向下组装过程中,可以使用深度(先子后兄弟)优先策略或宽度(先兄弟后子)优先策略。
    3.自底向上集成测试
    自底向上集成测试是指从底层模块(即软件模块结构图中最低层的模块)开始,逐步向上不断集成模块进行测试的方法。
    4.混合策略
    在实际测试过程中,一般会将自顶向下集成测试和自底向上集成测试有机地结合起来,形成混合测试策略来完成软件系统的集成测试,这种混合测试策略可以发挥自顶向下集成测试和自底向上集成测试的优点,避免其缺点,从而有效地提高测试效率。

  • 系统测试
    系统测试是验证软件产品是否符合这些质量特性要求的测试。系统测试包括性能测试、安全测试和兼容性测试等。在这里插入图片描述

  • 验收测试
    验收测试是在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段,也称为交付测试。
    验收测试按照项目任务书或合同、供需双方约定的验收依据文档对整个系统进行测试与评审,验收测试决定用户是否接收系统。验收测试结束后,根据验收通过准则分析验收测试结果,做出测试评价及是否通过验收。

Q测试方法中的技术角度分类

测试方法

  • 黑盒测试:黑盒测试通过软件的外部表现来发现缺陷和错误。黑盒测试方法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程,仅针对程序是否能适当地接收输入数据、是否能产生正确的输出信息等进行测试。
  • 白盒测试:通过对程序内部结构的分析与检测来寻找软件问题的方法称为白盒测试,又称结构测试。白盒测试可以把程序看成是一个装在透明的白盒子里的代码,测试人员清楚地了解程序的内部结构和处理过程,通过检查程序的内部结构及逻辑路径是否正确、检查软件内部动作是否符合软件设计说明书的规定来发现程序中的缺陷
  • 灰盒测试:灰盒测试是介于白盒测试与黑盒测试之间的测试。灰盒测试关注输出对于输入的正确性,同时也关注程序内部表现,但这种关注不像白盒测试那样详细和完整,只是通过一些表面的现象、事件和标志来判断程序内部的运行状态。因此,可以这样定义灰盒测试,灰盒测试是基于程序运行时的外部表现同时又结合程序内部逻辑结构来设计用例、执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。

测试手段
1.手工测试
手工测试有其不可替代的地方,因为人具有很强的判断能力,而工具没有。
手工测试不可替代的地方至少包括以下几点:
◆测试用例的设计:测试人员的经验和对错误的判断能力是工具不可替代的。
◆界面和用户体验测试:人类的审美观和心理体验是工具不可模拟的。
◆正确性检查:人们对是非的判断、逻辑推理能力是工具不具备的。
2.自动化测试
自动化测试通过编写测试代码来代替手工的重复性测试工作,对经常需要多次回归的测试用例进行代码化,可以提高测试效率、解放人力。为了使线上环境更加稳定,可以将软件的核心功能与业务脚本化,进行线上巡检,使线上生产环境更加稳定。

Q常见测试工具Postman、JMeter、Selenium、LoadRunner、Microsoft Project、MantisBT的应用场景

在这里插入图片描述

第四单元

Q软件测试的一般流程、整体流程

软件测试的整体流程

在这里插入图片描述

Q不同开发阶段的测试目的,测试活动的软件测试级别

软件测试各阶段的工作任务

  • 测试计划:为了规范软件测试的内容、方法和过程,在对软件进行测试之前,必须创建测试计划。
    在这里插入图片描述
  • 测试需求分析:测试需求分析需要做两方面的事情,一是详细了解并深挖需求,二是进行测试范围分析,确定测试范围。一般可依据软件产品需求说明书或产品原型确定功能测试范围。软件产品需求说明书清楚地描述了产品的功能特性。
    在这里插入图片描述
  • 测试建模:测试建模是将测试思路或测试内容形成条理清晰、系统全面的模型的过程。一般地,可以针对系统中复杂的业务逻辑和功能进行建模,通过业务建模的方式来梳理这些复杂的业务逻辑和功能。
  • 用例设计:复杂的功能与业务在完成业务建模后,可以通过覆盖基本业务路径进行测试用例的编写。采用路径覆盖法设计测试用例,可以降低测试用例设计的难度,只要搞清了各种业务流程,就可以设计出高质量的测试用例来,而不需要测试人员有太多的测试方面的经验。

Q冒烟测试、修正条件判定覆盖、回归测试、功能测试、自动化测试的理解

  • 测试执行:代码提交测试之后,测试工程师就可以在测试环境中开始测试,这时往往先会执行冒烟测试。

  • 1.冒烟测试:在一个编译版本发布后,先运行其最基本的功能,例如启动、登录、退出等。如果这些简单的功能运行都错误的话,测试人员没有必要进行下一步的深入测试,直接把编译版本退回给开发人员进行修改。
    冒烟测试通过后,测试人员就可以针对自己所负责的模块,根据测试用例进行详细测试。如果发现缺陷,则将缺陷提交至缺陷管理系统,当缺陷被开发人员修改后,测试人员再进行回归测试,以确认旧代码在修改后没有引入新的错误或导致其他代码产生错误。
    2.回归测试:测试执行过程中,回归测试往往要重复进行多次,在不断修复缺陷的过程中,测试工程师经常需要对主要流程及功能进行再次测试。为了提高测试人员的工作效率,可以将回归测试进行自动化处理,这也是自动化测试应用很重要的一个方面。

  • 测试总结

  • 在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奶茶精Gaaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值