当前位置: 首页 > news >正文

浅谈软件测试的基础知识(1)

文章目录

  • 一、什么是测试
    • 1.1、生活中的测试案例
    • 1.2、为什么需要进行软件测试
  • 二、测试和开发的区别
    • 2.1、调试和测试的区别
  • 四、测试人员需具备哪些素质
  • 五、软件的生命周期
  • 六、软件测试的生命周期
  • 七、设计测试用例的方法[!]
    • 7.1、什么是测试用例
    • 7.2、测试用例作用
  • 八、走测试岗位为什么还要学习开发知[!]
  • 九、为什么不走开发岗位而走测试岗位[!]
  • 十、测试和测试开发的区别?

都是面试题。

一、什么是测试

测试在生活中处处可见。

1.1、生活中的测试案例

(1)、过地铁口时、乘坐高铁、飞机等出行工具时必经的安检行为,也是一种测试
(2)、在商场购买衣服时,需要考虑衣服的外观是否合适、大小是否合适、材质是否合适、价格是否合适…即我们是在对衣服进行 外观测试、大小测试、材质测试、价格测试…若这些都满足我们的需求,我们才会交易成功。

生活中的测试处处可见,在软件上,也有软件测试。

1.2、为什么需要进行软件测试

对于企业来说,软件开发完毕之后直接推上线给用户使用,短时间就能获取到收益不就好了吗?为什么还要耗时耗力对软件进行测试呢?
在这里插入图片描述
因此用一句话总结,测试就是 : 验证软件产品特性是否满足用户的需求。

二、测试和开发的区别

(1)、开发主要书写的是业务代码,测试主要是对项目进行测试,查看当前项目的功能是否实现完整、性能是否好。
(2)、开发广度小、专业度高;测试广度大、专业度低。(都是相对的)
譬如不管是开发人员还是测试人员,都需要学习一些数据库知识、linux知识、计网知识…但是测试人员除了学习这些知识,还需了解测试知识、自动化测试、性能测试等。但是开发的专业度要求高。
(3)、工作环境基本大差不差。
(4)、工资也是大差不差。

2.1、调试和测试的区别

(1)、目的不同:调试主要是用于发现问题、解决问题。测试主要是发现问题、提出问题。
调试主要是开发人员写好业务代码后进行代码的测试,测试是测试人员进行的,如果测试人员发生开发书写的代码含有bug时,测试人员并不会上手修改代码,测试人员没有这个权力,而是会通知开发人员进行修改。
(2)、角色不同:调试是开发人员来执行。测试是测试人员进行,开发人员一般也要进行测试,如单元测试。
(3)、阶段不同:调试在编码阶段,测试贯穿项目的整个生命周期。
(4)、职责不同:测试的职责包括 需求分析、测试计划、设计测试用例、执行测试等。

四、测试人员需具备哪些素质

面试题:为什么你认为自己合适走测试? 你在测试方面有哪些优势?…
(1)、快速学习能力
进入公司后,有时候公司对应的业务其所使用的语言并不是你所学习的语言,此时为了完成业务,你必须学习其他的语言,因此需要具备快速的学习能力。
(2)、表达能力
其实在公司中,进行业务的实现时,会接触到不同团队、负责不同业务的人员,我们在进行业务洽谈、交接的时候,就需要我们拥有良好的语言表达能力,去促成业务的快速、顺利的实现。
(3)、沟通能力
在公司中,不仅需要做好自己手头的工作,还需要对接一些任务,这就要求我们拥有良好的沟通能力,比如测试人员在测试后发现了问题,就会给开发人员提出问题指出问题,此时在交流的过程就要求我们拥有良好的沟通能力。
(4)、开发能力
(5)、文字能力
(6)、优秀的设计用例测试能力
(7)、掌握了自动化测试
(8)、具备探索性思维(能够发散性思维,发现更多问题)
(9)、抗压能力
(10)、强烈的责任意识
(11)、对测试的兴趣

五、软件的生命周期

[稍后补充]

六、软件测试的生命周期

软件测试贯穿项目的整个生命周期

七、设计测试用例的方法[!]

一般找工作中的笔试、面试,基本上都会涉及到题目:让我们针对某个东西测试设计用例,因此掌握设计测试用例的方法,十分必要!

7.1、什么是测试用例

测试用例是测试人员进行项目测试的基本依据。即:测试人员若想要对项目进行测试,就必须已经设计好了测试用例。

7.2、测试用例作用

(1)、测试用例帮助我们测试人员解决 (1)、测什么? (2)、怎么测? 的问题。

八、走测试岗位为什么还要学习开发知[!]

(1)、测试人员也需要进行代码编写,如自动化测试、性能测试、开发效率工具辅助测试等等。
(2)、测试人员能够看懂代码,了解框架,代码中数据的走向能够更好的从代码层面去发现问题。
(3)、测试人员学好开发知识能够提高测试质量。
例子:假设双12有一个公益活动,在12月12号这一天,用户可以领卷购买商品,但是该公益活动于12月13号的 00:00:00 必须失效,否则就会造成资损。如果开发人员书写的代码是 12/12 00:00:00 < time < 12/13 00:00:00 或者 12/12 00:00:00 <= time < 12/13 23:59:59 ,这个时候就是遇上了边界值,没考虑到边界值的情况,这下子这样的代码就出大问题了。代码应该是 12/12 00:00:00 <= time < 12/13 00:00:00

九、为什么不走开发岗位而走测试岗位[!]

(1)、个人兴趣爱好
(2)、对测试的理解
(3)、为什么走测试还需学习开发知识

十、测试和测试开发的区别?

考察要点:测试开发中对测试和开发的理解。
(1)、不管是测试还是测试开发,都是测试人员,为了保障软件的质量。
(2)、测试开发还是以测试为主,在通过测试保障了软件的质量基础上,测试开发会去书写代码从而开发一些提升测试效率的工具。

相关文章:

浅谈软件测试的基础知识(1)

文章目录 一、什么是测试1.1、生活中的测试案例1.2、为什么需要进行软件测试 二、测试和开发的区别2.1、调试和测试的区别 四、测试人员需具备哪些素质五、软件的生命周期六、软件测试的生命周期七、设计测试用例的方法[!]7.1、什么是测试用例7.2、测试用例作用 八、走测试岗位…...

Mac 上哪个剪切板增强工具比较好用? 好用剪切板工具推荐

在日常文字编辑中&#xff0c;我们经常需要重复使用复制的内容。然而&#xff0c;新内容一旦复制&#xff0c;旧内容就会被覆盖。因此&#xff0c;选择一款易用高效的剪贴板工具成为了许多人的需求。本文整理了一些适用于 macOS 系统的优秀剪贴板增强工具&#xff0c;欢迎大家下…...

基于opencv的车牌检测和识别系统(代码+教程)

车牌检测与识别技术详解 车牌检测和识别&#xff08;License Plate Recognition, LPR&#xff09;是一项重要的计算机视觉任务&#xff0c;它在交通管理、安全监控以及智能门禁系统等多个领域都有着广泛的应用。随着深度学习技术的发展&#xff0c;LPR系统的准确性和鲁棒性得到…...

list(二) (list模拟实现)

首先进行大框架 先写基本的结点类 有data next prev template<class T>class ListNode//或者使用struct 就不用在写public声明公有{public://这里不仅仅是成员函数 成员变量也要公有化 ListNode<T>* _next;ListNode<T>* _prev;T _data;}之后是链表list类…...

[Linux]从零开始的泰山派系统安装与远程教程

一、前言 泰山派买回来也有一阵子了&#xff0c;最近慢慢开始研究。当然&#xff0c;学习这种Linux的开发板的第一步就是安装系统&#xff0c;对于RK系列的芯片系统安装有专门的软件&#xff0c;所有在系统安装方面比较简单。更多的还是我们应该怎么去编译系统&#xff0c;这一…...

Python国产新 ORM 框架 fastzdp_sqlmodel 快速入门教程

创建模型 from typing import Optional from sqlmodel import Field, SQLModel import fastzdp_sqlmodel as fasmclass Hero(SQLModel, tableTrue):id: Optional[int] Field(defaultNone, primary_keyTrue)name: strsecret_name: strage: Optional[int] None创建表 from ty…...

面试速通宝典——3

51. 野指针和内存泄漏是什么&#xff1f;如何避免&#xff1f; ‌‌‌‌  内存泄漏&#xff1a;是指程序中以动态分配的堆内存由于某种原因程序未释放或无法释放&#xff0c;造成系统内存的浪费&#xff0c;导致程序运行速度减慢甚至系统崩溃等严重后果。 ‌‌‌‌  避免&…...

每天一个数据分析题(四百七十三)- 元数据

下列哪些元素属于元数据内容&#xff1f; &#xff08;&#xff09; A. 名称 B. 长度 C. 类型 D. 取值范围 数据分析认证考试介绍&#xff1a;点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专项练习题库 内容涵盖Python&#xff0c;SQL&#xff0c;统计学…...

产品经理面试整理-练习常见面试问题

练习常见面试问题是准备产品经理面试的重要环节。掌握这些问题的回答思路,不仅能帮助你在面试中更加自信,还能展示你对产品管理的深入理解。以下是一些常见的产品经理面试问题,以及如何高效准备这些问题的指南。 1. 常见面试问题及回答思路 1.1 你如何定义产品成功? ●...

一步到位的智慧:BI可视化大屏在复杂环境中如何精准拾取目标

在可视化设计器中实现良好的组件拾取功能&#xff0c;是提升用户体验和设计效率的关键。它们不仅能够提升用户体验和操作效率&#xff0c;还能够增强设计的灵活性和精度&#xff0c;促进设计创新&#xff0c;并最终提升设计的质量和价值。因此&#xff0c;在可视化设计过程中&a…...

前端开发迎来新机会,全栈转型就靠这个!

在如今的开发世界&#xff0c;全栈开发者已成为许多前端开发者的新目标。随着技术的不断演进&#xff0c;前端不再局限于写页面和样式&#xff0c;而是逐渐向后端延伸&#xff0c;甚至触及数据库和云服务。如果你想在职业道路上更进一步&#xff0c;向全栈开发者靠拢&#xff0…...

关于less的基本使用

1、介绍及概述 1.1、解释 less 是方便开发人员书写CSS的一门预处理语言。浏览器只认识html /css /js格式的文件&#xff0c;所以直接引入.less文件&#xff0c;没有任何的效果&#xff0c;需要把less文件转换成css文件 1.2、概述 CSS弊端&#xff1a; 没有逻辑性、变量、函…...

python 将 aac 转为 mp3,保持原有目录结构

需要提前安装 FFmpeg import os import subprocess import time from concurrent.futures import ThreadPoolExecutor, as_completeddef convert_file(input_path, output_path):command [ffmpeg,-y, # 自动覆盖现有文件-i, input_path,-acodec, libmp3lame,-b:a, 192k,outpu…...

考研数据结构——C语言实现折半查找

首先定义了一个有序数组a&#xff0c;然后计算出数组的长度n。接着定义了一个要查找的元素x&#xff0c;值为79。binarySearch函数实现了二分查找算法&#xff0c;它接受数组、左右边界和目标值作为参数&#xff0c;通过不断缩小搜索范围来查找目标值。如果找到了目标值&#x…...

【游戏引擎】C++自制游戏引擎 Lunar Game Engine

Lunar-Game Engine 仓库位置 Lunar Game Engine Lunar GameEngie是几个渣渣业余写的基于C的游戏引擎。 相比于比较成熟的引擎&#xff0c;该引擎的特点如下 结构,标准混乱bug众多根本不能用&#xff01; 最后的最后 To The Moon and Beyond! 简介 Luna Engine基于 C 和…...

使用【Sa-Token】实现Http Basic 认证

使用Sa-Token开源架构快速实现Http Basic 认证&#xff0c;如上图 1、springboot环境下直接添加starter即可 <!-- Sa-Token 权限认证&#xff0c;在线文档&#xff1a;https://sa-token.cc --> <dependency><groupId>cn.dev33</groupId><artifactI…...

layui table中的checkbox禁用问题

在项目开发中遇到table框已经选择过的数据不支持二次选择从而要禁用复选框不许选中&#xff0c;但会导致复选框全选时layui的table组件源码中赋值时是根据全部复选框的下标顺序来赋值到数组中返回给你&#xff0c;这样已被禁用复选框的数据也会被push到数组中导致数据错乱&…...

102.SAPUI5 sap.ndc.BarcodeScannerButton调用摄像头时,localhost访问正常,使用IP访问失败

目录 原因 解决办法 1.修改谷歌浏览器的setting 2.在tomcat中配置https访问 参考 使用SAPUI5的sap.ndc.BarcodeScannerButton调用摄像头时&#xff0c;localhost访问正常&#xff0c;使用IP访问时&#xff0c;一直打不开摄像头&#xff0c;提示getUserMedia()问题。 原因…...

20240923软考架构-------软考186-190答案解析

每日打卡题186-190答案 186、Mesh 化架构是把&#xff08; &#xff09;从业务进程中分离&#xff0c;分离后在业务进程中只保留很“薄”的Client部分&#xff0c;Client 通常很少变化&#xff0c;只负责与 Mesh进程通信&#xff0c;原来需要在SDK中处理的流量控制、安全等逻辑…...

基于Spring Boot的宠物咖啡馆平台【附源码】

基于Spring Boot的宠物咖啡馆平台&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1 系统概述 4.2系统结构 4.3.数据库设计 4.3.1数据库实体 4.3.2数据库设计表 5系统详细实现 5.1 管理员模块的实现 5.1.1 用户信息管理 …...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

Python实现简单音频数据压缩与解压算法

Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中&#xff0c;压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言&#xff0c;提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)

本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢&#xff0c;连接红外测温传感器&#xff0c;可实时精准捕捉宠物体温变化&#xff0c;以便及时发现健康异常&#xff1b;水位检测传感器时刻监测饮用水余量&#xff0c;防止宠物…...

CppCon 2015 学习:REFLECTION TECHNIQUES IN C++

关于 Reflection&#xff08;反射&#xff09; 这个概念&#xff0c;总结一下&#xff1a; Reflection&#xff08;反射&#xff09;是什么&#xff1f; 反射是对类型的自我检查能力&#xff08;Introspection&#xff09; 可以查看类的成员变量、成员函数等信息。反射允许枚…...