软件测试就业

文章目录

  • 2.6 初识
    • 一、软件测试理论
    • 二、软件的生产过程
    • 三、软件测试概述
    • 四、软件测试目的
    • 五、软件开发与软件测试的区别?
    • 六、学习内容
  • 2.7 理解
    • 一、软件测试的定义
    • 二、软件测试的生命周期
    • 三、软件测试的原则
    • 四、软件测试分类
    • 五、软件的开发与测试模型
      • 1.软件开发模型
      • 2.测试模型
        • 1>V模型
        • 2>W模型
    • 六、B/S与C/S架构
      • 1.测试考虑
      • 2.B/S与C/S架构的区别?
    • 七、软件质量模型
    • 面试问题
  • 2.8
    • 一、测试用例
    • 二、测试用例编写格式(要素)
    • 三、缺陷
      • 1.缺陷定义
      • 2.缺陷判定标准
      • 3.缺陷的跟踪流程(缺陷的生命周期)
      • 4.缺陷的核心内容
      • 5.缺陷的严重程度
      • 6.修复缺陷的优先级
      • 7.提交缺陷注意事项
      • 8.编写缺陷规范
      • 9.缺陷修改补充说明
      • 10.缺陷密度计算
    • 面试问题

2.6 初识

一、软件测试理论

二、软件的生产过程

客户(需求产生)—>产品经理(需求文档)---->UI设计师(设计效果图)—>研发工程师(研发产品)---->测试工程师(检测软件)—>部署上线

三、软件测试概述

什么是软件测试?

利用技术手段,验证软件的是否有问题

四、软件测试目的

降低企业风险,提高用户体验

提高软件的质量,保证软件的安全,降低软件开发成本;

降低因软件缺陷带来的商业风险;

树立用户对软件的信心。

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

软件开发:开发人员写代码

软件测试:使用测试软件进行测试

六、学习内容

功能测试:功能测试,接口测试,自动化测试,性能测试,车载测试

趋势:两会

学习建议:模仿+思考

主动学习:教会同桌

及时复习:

晚自习:1.自我(感谢+介绍+祝福)2.家乡美

2.7 理解

软件测试的工作流程

扩展:公司人员(小公司)

例如:xxx科技有限公司

老板【1】

产品经理(业务员)【3】

研发人员(开发软件的(ui,前端,后端))【20】

测试人员(检查软件)【3】

运维人员(维护软件的)【2】

研发/测试=1:8

前台,财务,人事

一、软件测试的定义

通过手工或者测试工具按照测试方案和流程对被测对象进行功能或性能的检测。从而验证实际结果与预期结果之间是否存在差异。

测试对象:软件的主体功能+使用说明书+配置数据

二、软件测试的生命周期

软件的生命周期:从无到有,再从有到无的过程

阶段:从小到大

需求分析—>测试计划—>测试设计—>测试执行—>测试评估

image-20250207112142940

三、软件测试的原则

  • 原则是每个人在行事中所遵循的准则

  • 测试只能证明软件存在问题,不能证明不存在问题

  • 测试工作要尽早的介入,降低修复成本

  • 不能进行穷尽测试,要进行分类测试

  • 缺陷存在集群现象,通常大部分BUG发生在一下小部分核心模块中;好测试的环境

  • 杀虫剂现象,尽量多的测试手段以便发生更多的BUG

  • 测试依赖环境,对软件开展测试前应先准备好测试的环境

  • 不存在缺陷是谬论

四、软件测试分类

软件产生的阶段划分:

单元测试,集成测试,系统测试,验收测试(α,β,γ,UAT)

单元测试:白盒(函数,类)黑盒(窗口,菜单,按钮)

集成测试:模块与模块之间的测试;

系统测试:对软件整体(功能,性能等)进行全面测试

验收测试:α.内测,β.公测,γ.候选版本,UAT用户测试

代码可见度划分:

黑盒测试(看不见内部),灰盒测试(可见内容有限),白盒测试(完全能看见)

image-20250207144623707

是否运行划分:

静态测试:指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误过程。

动态测试:指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

测试手段划分:

人工测试,自动化测试

其他测试

冒烟测试,回归测试,随机测试

冒烟测试:对核心功能按照全部正确的数据或者流程,对系统进行最基本功能的测试,保证软件最基本的功能和流程能走通。

回归测试:对已修复BUG,再次测试;软件版本更新/迭代后,对老版本的内容再次测试

随机测试:1.挑选之前发生严重BUG的地方 2.挑选之前漏测的地方 3.挑核心模块(主业务和关于钱的)

五、软件的开发与测试模型

1.软件开发模型

瀑布模型

image-20250207162642069

  • 需求分析—设计—编码—实现—软件测试—完成—维护
  • 瀑布模型特点:瀑布模型是一种线性的

瀑布模型的优缺点

  • 优点:开发的各个阶段比较清晰,当前阶段完成后,只需关注后续阶段;强调早期的计划与需求调研;适合需求稳定的产品。
  • 缺点:不适应需求的化,依赖早期的需求调研;风险延至后期才暴露,失去了及早纠正的机会。
  • 改良:在前期一些重要的阶段之间加入了迭代的思想,尽量避免把风险拖至后期。

2.测试模型

1>V模型

image-20250207162706352

需求分析—概要设计—详细设计—编码—单元测试—集成测试—系统测试—验收测试

  • 优点:开发的各个阶段比较清晰,当前阶段完成后,只需关注后续阶段;强调早期的计划与需求调研;适合需求稳定的产品。
  • 缺点:不适应需求的化,依赖早期的需求调研;风险延至后期才暴露,失去了及早纠正的机会。
  • 改良:在前期一些重要的阶段之间加入了迭代的思想,尽量避免把风险拖至后期。
2>W模型

开发模型与测试模型合在一起

image-20250207162741620

六、B/S与C/S架构

1.测试考虑

B/S架构(浏览器与服务器)

测试考虑:网站在各种了浏览器能打开

C/S架构(客户端与服务器)

测试考虑:软件在各种手机上都能安装使用

2.B/S与C/S架构的区别?

  • B/S比C/S架构成本低,升级便利
  • 但是C/S架构更安全,更效率

七、软件质量模型

ISO:国际标准

image-20250207172141755

例:如何验证某系统质量呢?以微信为例

  • 功能性:与需求数量一致,功能正确;
  • 性能:响应快、占用资源少;
  • 兼容性:不同设备平台正常使用;
  • 易用性:用户体验好;
  • 安全性:敏感信息无泄密存储有保障;
  • 可靠性:持久运行无异常;
  • 可移植性:升级迁移数据不丢失;
  • 可维护性:异常恢复简单、可扩展功能、升级更新便捷。

面试问题

  • 你们公司的测试流程能说一下吗?

  • 你们公司的验收测试是怎么做的?

  • 三选一:1.去甲方 2.甲方来 3.第三方

    你能说一下黑盒测试和白盒测试的区别吗?

  • 黑盒测试:重点关注软件的功能以及性能是否满足需求

  • 白盒测试:重点关注代码以及逻辑是否正确

    你们软件多久迭代一次?迭代后回归测试做多久?

  • 迭代:大版本:2、3个月迭代一次;小版本:1、2周迭代一次

  • 回归测试:大版本十几天;小版本几天。

2.8

一、测试用例

什么是测试用例?

测试用例(test case)是为测试项目而设计的执行文档

作用:防止漏测,重复测试,实施测试的标准,以便更好的开展测试工作。

二、测试用例编写格式(要素)

通常用Excel文档编写,要素由以下八个要素组成:

用例编号、用例标题、测试模块、优先级、前置条件、测试步骤、测试数据、预期结果。

用例编号:通常由项目_模块_编号组成;

用例标题:预期结果(测试点);

测试模块:所属项目或模块/子模块。

优先级:表示用例的重要程度或影响力,由高至低依次为1、2、3、4(也有称P0、P1、P2、P3);

前置条件:要执行此条用例,有哪些前置操作;

测试步骤:描述操作的步骤;

测试数据:操作软件需要的数据,没有可以不填;

预期结果:期望达到的结果(唯一性)。

image-20250208105036020

三、缺陷

1.缺陷定义

软件在使用过程中存在的任何问题都叫软件缺陷,简称Bug。

软件缺陷的存在会导致软件产品在某种程度上不能满足用户需求

2.缺陷判定标准

少功能:软件未实现需求说明书中明确要求的功能。

多功能:软件实现的功能超出了需求说明书指明的范围。

功能错误:软件出现了需求说明书中指明不应该出现的错误。

隐形功能错误:软件未实现需求说明书中虽未明确指明但应实现的要求。

不易使用:软件难以理解,不易使用,运行缓慢,用户体验不好。(隐形功能错误和不易使用,尽量不提)

3.缺陷的跟踪流程(缺陷的生命周期)

image-20250208152448058

口述

我提交BUG,通知开发人员,开发人员会先判断这个BUG是否重复,如果重复则关闭这个缺陷,如果不重复,则判断这个缺陷是否是个BUG,确认这个是BUG后,与开发,项目经理等项目相关人员进行商讨是直接修复还是推迟处理,如果推迟处理,确认推迟处理的版本和日期,如果不能直接则立即修复,修复之后由我进行再次测试,如果测试通过则关闭这个BUG,如果测试没有通过则重新提交BUG,由开发人员再次判断。

4.缺陷的核心内容

缺陷标题,缺陷的预置条件,缺陷的复现步骤,缺陷的预期结果,缺陷的实际结果,缺陷的严重程度,修复缺陷的优先级,缺陷的附件。

image-20250208153956955

5.缺陷的严重程度

通常指缺陷对软件质量的破坏程度,即此缺陷的存在将对软件的功能和性能产生怎样的影响。

共分为4级,由高至低依次为1、2、3、4(P0、P1、P2、P3)。

  • 1级(P0)致命:死机,非法退出,死循环,数据库发生死锁。

    如:软件死机,意外退出,操作系统崩溃。

  • 2级(P1)严重:功能不符,严重计算错误,接口数据错误等。

    如:主要功能失效或未实现。

  • 3级(P2)一般:界面或内容错误,异常操作未给出提示等。

    如:非主要功能失效或未实现。

  • 4级(P3)轻微:格式不规范,提示窗口文字未采用行业术语等。

    如:某个控件没有对齐,某个标点符号丢失等。

  • 5级(P4)建议型(如果有)

6.修复缺陷的优先级

表示处理和修正软件缺陷的先后顺序。即哪些缺陷需要优先修正,哪些缺陷可以稍后修正。

共分为4级,由高至低依次为1、2、3、4(P0、P1、P2、P3)。

  • 1级(P0)紧急:立即修复。如:1天内修复。
  • 2级(P1)高级:几天内修复。如:一周内修复。
  • 3级(P2)中级:上线前修复。如:此版本上线前修复。
  • 4级(P3)低级:时间允许时再修复。如:在不影响软件主要功能使用的前提下,可考虑在后续版本修复。

一般而言,严重程度高的缺陷修复的优先级也高。但我们还需要注意,有些BUG严重程度低修复的优先级不一定低。

image-20250208160040915

7.提交缺陷注意事项

image-20250208163152676

8.编写缺陷规范

image-20250208163224000

9.缺陷修改补充说明

  • 并不是所有缺陷都要修复;考虑性价比和时间
  • 有时市场的压力使得产品最终发行有时间限制;
  • 或者测试人员错误理解或者不正确操作引出的缺陷;
  • 错误的修改影响的模块较多,带来的风险较大(遗留);
  • 修改性价比太低;
  • 缺陷报告中提出的问题很难重现等等,这些原因导致的缺陷会视情况而定。

为什么开发人员会拒绝修改缺陷?

程序员无法重现或者现象难以捕捉;

没有明确的报告以说明重现缺陷的步骤;

程序员无法读懂的缺陷报告;

用户很少使用或者不符合用户使用习惯的操作出错;

由不受信任的测试人员提出。

10.缺陷密度计算

进行缺陷密度计算,可有效的进行软件管理。目前行业标准是每一千行代码中存在5个以上Bug。

缺陷总数÷代码行数×1000‰ = 缺陷密度(/KLOC)

如:一个1万行的源程序代码里发现了68个缺陷

则缺陷密度为:6.8/KLOC

计算方式:68÷10000×1000‰=6.8‰

小结:

1、如何描述软件的生命周期?

2、如何描述软件测试的生命周期?

3、软件测试的工作流程是什么?

4、软件测试的定义是什么?

5、软件测试的对象是什么?

6、软件测试的目的是什么?

7、软件测试的原则是什么?

8、软件测试分为哪些类?

9、瀑布模型是什么?如何改良?

10、V模型与W模型是什么?V模型如何改良?

11、B/S架构与C/S架构有什么区别?

12、软件测试的质量标准(特性)是什么?

13、测试用例的要素有哪些?

14、测试用例的作用是什么?

15、什么是缺陷?

16、发现Bug后,你是怎么确认的?

17、缺陷的要素(Bug单)有哪些?

18、缺陷的严重程度以及修复缺陷的优先级怎么划分?

19、缺陷的处理流程(生命周期)?

20、你提交的缺陷开发不认可你怎么办?

21、如何提交一条高质量的Bug?

面试问题

1、你提交的BUG开发认为不是个BUG,你会怎么做?(你提交的缺陷开发不认可你怎么办?)

首先我会看下开发是在什么情况下认为它不是个BUG,其次我会跟开发核对下需求文档,看是否理解有异(角度不同);

若开发还是不认可,我会再次把BUG的重现步骤以及相关的截图以及运行日志一并发给开发验证;

实在解决不了我会向经理报风险,通常会在周五下午的周总结会上提出,并解决;若比较紧急,会立即开会解决。

2、测试用例的要素有哪些?

用例编号、用例标题、测试模块、优先级、前置条件、测试步骤、测试数据、预期结果。

3、发现Bug后,你是怎么确认的?

发现异常情况后,初步判断是否可能是Bug。我会检查是否是由于测试环境、数据等外部因素导致的异常。

  • 复现问题:尝试按照相同的步骤重现问题,确保问题的可复现性。如果问题无法复现,我会记录下来并继续观察,看是否能在其他条件下复现。
  • 排除干扰因素:检查是否是由于测试环境、数据等外部因素导致的异常。例如,检查网络连接是否正常、数据库是否正确初始化等。
  • 确认问题:如果能够稳定复现且排除了外部因素干扰,基本可以确认为Bug。我会详细记录问题的重现步骤、截图、日志等信息,以便开发人员快速定位问题。

发现BUG我会先检查是不是环境的问题,然后复现BUG

4、缺陷的要素(Bug单)有哪些?

缺陷编号、缺陷标题、缺陷描述、缺陷级别、优先级、所属模块、与缺陷相关的具体需求或功能点、状态:缺陷的当前状态(如新建、已确认、已修复、已关闭等)。

5、缺陷的严重程度以及修复缺陷的优先级怎么划分?

6、缺陷的处理流程(生命周期)?

7、如何提交一条高质量的Bug?

确认,复现,附件(截图,视频等)

自己先确认这是BUG ,然后复现这个BUG,把这个BUG的复现过程写清楚

注意事项:1.一个BUG一个单 2.填写BUG单,要简明,提要

8、你一天能写多少条用例?

9、你一天能执行多少条用例?

10、如果时间紧急,没时间写用例,你怎么开展工作?

11、你一天能找几个BUG?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/966398.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java基础】序列化、反序列化和不可变类

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:Java基础面经 📚本系列文章为个…

upx压缩工具使用说明

UPX(Ultimate Packer for Executables)是一款开源的可执行文件打包工具,能够将可执行文件(如Windows的.exe文件或Linux的ELF文件)进行压缩,以减少文件大小,并增加反逆向工程的难度。 下载相关安…

DeepSeek-R1 32B Windows+docker本地部署

最近国产大模型DeepSeek兴起,本地部署了一套deepseek同时集成Open WebUI界面,给大家出一期教程。 软件:Ollama、docker、Open WebUI 一、用Ollama下载模型 首先我们需要安装Ollama,它可以在本地运行和管理大模型。 到Ollama官网 https://ol…

活动预告 |【Part 2】Microsoft 安全在线技术公开课:通过扩展检测和响应抵御威胁

课程介绍 通过 Microsoft Learn 免费参加 Microsoft 安全在线技术公开课,掌握创造新机遇所需的技能,加快对 Microsoft Cloud 技术的了解。参加我们举办的“通过扩展检测和响应抵御威胁”技术公开课活动,了解如何更好地在 Microsoft 365 Defen…

(2024|CVPR,MLLM 幻觉)OPERA:通过过度信任惩罚和回顾分配缓解多模态大型语言模型中的幻觉

OPERA: Alleviating Hallucination in Multi-Modal Large Language Models via Over-Trust Penalty and Retrospection-Allocation 目录 1. 引言 2. 相关研究 2.1 多模态大语言模型 2.2 LLM 的幻觉与解决方案 2.3. 语言模型中的解码策略 3. 方法 3.1 MLLM 生成过程 3.2…

激活函数篇 03 —— ReLU、LeakyReLU、ELU

本篇文章收录于专栏【机器学习】 以下是激活函数系列的相关的所有内容: 一文搞懂激活函数在神经网络中的关键作用 逻辑回归:Sigmoid函数在分类问题中的应用 整流线性单位函数(Rectified Linear Unit, ReLU),又称修正线性单元&a…

C++20新特性

作者:billy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 C20 是 C 标准中的一个重要版本,引入了许多新特性和改进,包括模块(Modules)、协程…

新增md、html压缩文档上传,开放接口访问密钥改为多个,zyplayer-doc 2.4.7 发布啦!

zyplayer-doc是一款适合企业和个人使用的WIKI知识库管理工具,支持在线编辑富文本、Markdown、表格、Office文档、API接口、思维导图、Drawio以及任意的文本文件,专为私有化部署而设计,最大程度上保证企业或个人的数据安全,支持以内…

ES管理器焕新升级:紫色银狼主题来袭!

ES管理器(安卓版)迎来了一次令人眼前一亮的改头换面!此次更新最直观的变化集中在UI界面设计上。开发团队大胆突破,摒弃了以往稍显平庸的风格,引入了极具个性的全新主题——以热门游戏《崩坏:星穹铁道》中的…

SwiftUI 学习 Toggle 遇到的问题

最近学习SwifyUI,心中存疑,于是记录这些问题 List {Toggle(isOn: $showFavoriteOnly) {Text("Favorite only")}ForEach(filterLandmarks) { landmark in// 在 NavigationLink 中,label 是用于指定导航链接显示内容的部分Navigati…

HarmonyOS:电话号码格式化

一、使用场景 不同国家和地区的电话号码在号码位数、组合方式、呈现方式等都存在差异。同时,在不同环境和条件下,电话号码可能存在不同的拨打方式和号码格式。例如,在中国境内跨地区打电话,通常需要先输入“0”,再拨打…

网络分析工具—WireShark的安装及使用

Wireshark 是一个广泛使用的网络协议分析工具,常被网络管理员、开发人员和安全专家用来捕获和分析网络数据包。它支持多种网络协议,能够帮助用户深入理解网络流量、诊断网络问题以及进行安全分析。 Wireshark 的主要功能 数据包捕获与分析: …

优惠券平台(十七):实现用户查询/取消优惠券预约提醒功能

业务背景 当用户预约了一个或多个优惠券抢购提醒后,如果不再需要提醒,可以取消预约通知。不过,虽然用户可以取消提醒,但已经发送到 MQ 的消息不会被撤回,消费者在时间点到达时依然会收到消息。此时,我们不…

10vue3实战-----实现登录的基本功能

10vue3实战-----实现登录的基本功能 1.基本页面的搭建2.账号登录的验证规则配置3.点击登录按钮4.表单的校验5.账号的登录逻辑和登录状态保存6.定义IAccount对象类型 1.基本页面的搭建 大概需要搭建成这样子的页面: 具体的搭建界面就不多讲。各个项目都有自己的登录界面&#…

盘姬工具箱:完全免费的电脑工具箱

今天给大家介绍一个非常好用的系统工具箱,里面内含100多个工具,完全免费使用,而且没有广告,非常的棒。 盘姬工具箱:完全免费的电脑工具箱 盘姬工具箱是一款完全免费的电脑工具箱,功能丰富且实用。软件下载并…

国产编辑器EverEdit - 编辑辅助功能介绍

1 编辑辅助功能 1.1 各编辑辅助选项说明 1.1.1 行号 打开该选项时,在编辑器主窗口左侧显示行号,如下图所示: 1.1.2 文档地图 打开该选项时,在编辑器主窗口右侧靠近垂直滚动条的地方显示代码的缩略图,如下图所示&…

【Golang学习之旅】Go + MySQL 数据库操作详解

文章目录 前言1. GORM简介2. 安装GORM并连接MySQL2.1 安装GORM和MySQL驱动2.2 连接MySQL 3. GORM数据模型(Model)3.1 定义User结构体3.2 自动迁移(AutoMigrate) 4. GORM CRUD 操作4.1 插入数据(Create)4.2 …

DeepSeek Janus Pro 论文解析

目录 介绍 统一的多模态理解与生成 图像理解任务 图像生成任务 统一模型的好处 Janus 和 Janus Pro 架构 Janus Pro主要设计原理 Janus Pro 图像编码器 LLM 处理和输出 Rectified Flow Janus Pro 训练流程 第一阶段——适应 第二阶段——统一预训练 第三阶段——监…

《Java核心技术 卷II》本地化的数字格式

数字格式 数字和货币的格式高度依赖locale。 格式化对象的集合,可以对java.text包中的数字进行格式化和解析。 格式化数字值 对特定locale的数字进行格式化的步骤: 得到Locale对象使用工厂方法得到一个格式器对象。使用这个格式器对象来完成格式化解析工…

四模型消融实验!DCS-CNN-BiLSTM-Attention系列四模型多变量时序预测

四模型消融实验!DCS-CNN-BiLSTM-Attention系列四模型多变量时序预测 目录 四模型消融实验!DCS-CNN-BiLSTM-Attention系列四模型多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于DCS-CNN-BiLSTM-Attention、CNN-BiLSTM-Attention…