当前位置: 首页 > 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 用户信息管理 …...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

C++--string的模拟实现

一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现&#xff0c;其目的是加强对string的底层了解&#xff0c;以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量&#xff0c;…...

Java中栈的多种实现类详解

Java中栈的多种实现类详解&#xff1a;Stack、LinkedList与ArrayDeque全方位对比 前言一、Stack类——Java最早的栈实现1.1 Stack类简介1.2 常用方法1.3 优缺点分析 二、LinkedList类——灵活的双端链表2.1 LinkedList类简介2.2 常用方法2.3 优缺点分析 三、ArrayDeque类——高…...

SQLSERVER-DB操作记录

在SQL Server中&#xff0c;将查询结果放入一张新表可以通过几种方法实现。 方法1&#xff1a;使用SELECT INTO语句 SELECT INTO 语句可以直接将查询结果作为一个新表创建出来。这个新表的结构&#xff08;包括列名和数据类型&#xff09;将与查询结果匹配。 SELECT * INTO 新…...