文章目录

  • 1.什么是软件
  • 2.软件的分类
    • 系统软件
  • 3.软件的应用架构
    • cs架构
    • bs架构
  • 4、软件测试是什么
    • 软件测试的定义:
    • 我们为什么要做软件测试,它的目的什么?
  • 5、软件测试的分类--按照不同的角度维度
    • 按测试技术划分
      • 黑盒测试详解
      • 白盒测试
      • 灰盒测试
    • 被测试对象是否运行划分
      • 动态测试
      • 静态测试
    • 按不同的测试于段划分
      • 手工测试(点工)
      • 自动化测试(工具+代码)
    • 按测试包含的内容划分
      • 功能测试
      • 界面测试
      • 安全测试
      • 兼容性测试
      • 易用性测试
      • 性能测试
    • 按测试阶段划分
      • 单元测试
      • 集成测试
      • 系统测试
      • 验收测试
      • a测试
      • β测试
    • 其他测试
      • 回归测试
      • 冒烟测试
      • 探索性测试/自由测试(测试思维)
  • 6、笔试面试题整理
    • 为什么需要软件测试?
    • 为什么选择软件测试行业?
    • 为什么不让开发自己做测试?
    • 什么是软件测试?软件测试的目的是什么?
    • 软件测试分类都有哪些?
    • 什么是黑盒测试?白盒测试?区别是什么?

1.什么是软件

​ 软件是计算机程序程序所用的数据 以及有关文档资料的集合,软件是入门开发出来的,开发者是程序员。大部分软件的产生就是为了方便我们而产生的。

2.软件的分类

​ 软件分为2大类系统软件与应用软件。

系统软件

​ 在我的理解就是一个系统中的各个软件就是系统软件,系统软件相互合作构成系统。系统软件也是生成,准备和执行其他程序所需要的一姐文件和程序。如操作系统Windows,数据库SQL-Server,驱动程序(网卡,声卡)。java语言系统编译环境等。

软件测试的对象是什么?

软件的3要素

3.软件的应用架构

C/S与B/S架构

cs架构

C/S: client- server:这种就是我们一定要安装一一个客户端才 能够用的软件,就叫C/S
缺点:每次更新,都需要更新服务端与客户端,比如说超市收银系统每次更新每台电脑都必须重
装客户端

bs架构

B/S: browser-server: 只需要一个浏览器, 就可以访问服务的,就是B/S.
优点:只需要更新服务器就OK,不需要去更新浏览器。用户主动性比较高。比如说天猫、淘宝。

提问: APP是什么架构的呢? --移动端CS === M/S-- mobile-server

4、软件测试是什么

软件测试的定义:

​ 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

问题:淘宝购买东西的过程,是软件测试么?

不是,因为我们不是可以去找问题而去使用

我们为什么要做软件测试,它的目的什么?

1)软件测试为了发现程序(软件)存在的代码或业务逻辑错误

判断软件测试能否可以实现正常的功能,比如登录注册功能,注册而不能等录那不是很尴尬。在不如是银行转账的功能,那出现问题就很严重了

2)软件测试为了提高用户的体验,检验产品是否符合用户需求

测试就是为了提交用户体验

3)软件测试为了为公司减少损失


5、软件测试的分类–按照不同的角度维度

按测试技术划分
黑盒测试,白盒测试、灰盒测试
被测试对象是否运行划分
动态测试、静态测试(文档检查、代码走查)
按不同的测试于段划分
手工测试(点工) .自动化测试(工具+代码) --高级
按测试包含的内容划分
功能测试,界面测试。安全测试,兼容性测试,易用性测试,性能测试
按测试阶段划分-阶段–流程
单元测试、集成测试、系统测试、验收测试,a测试,β测试
其他测试
回归测试、冒烟测试。探索性测试/自由测试(测试思维)

ps 以上测试,测试内容上有可能会从叠,只是叫法不同

按测试技术划分

黑盒测试详解

 黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。 一般会有一个输入值,一个输入值,和期望值做比较。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。可以得到软件的实际使用效果报告。如电视遥控器,就是一个标准的黑盒测试

白盒测试

 主要是对代码级的测试,针对程序内部逻辑构,测试手段有语句覆盖,判定覆盖,条件覆盖,路径覆盖,条件,组合覆盖,对我们测试人员要求高需要看懂代码并且会写测试脚本

灰盒测试

 灰盒测试是介于白盒测试和黑盒测试之间的测试,灰盒测试既保证了黑盒的关注点,又掌控了白盒的内部结构,但不会对内部程序和运作做详细的了解,灰盒测试结合了白盒测试和黑盒测试的要素。接口测试算是灰盒测试

被测试对象是否运行划分

动态测试

 动态测试(dynamic testing),是指实际的运行被测软件,输入相应的测试数据,检查输出结果是否符合预期的过程 比如登录qq

静态测试

 静态测试(static testing),指的是不实际的执行被测软件,只是静态的检查程序代码、界面、或者文档中可能存在的错误。比如测试界面根本不需要执行直接看就行

按不同的测试于段划分

手工测试(点工)

 执行测试的是人,根据自己主观意识测试,优点是可以灵活的改变测试操作及环境。

自动化测试(工具+代码)

 自动化测试是测试人员通过脚本驱动测试工具,自动的完成测试,还需人为的配合。另外还可以通过第三方的工具,对比被测对象进行测试。自动化测试的优点是可以高效的实现人工无法实现的操作(比如测试网站的并发量)

按测试包含的内容划分

功能测试

点点点咯,看输入和输出

界面测试

眼睛看对文档看看和文档有没差别

安全测试

一般有专业的人去做比如渗透工程师
fd抓包就是严重的安全问题

兼容性测试

软件兼容性测试就是看看创造的软件是不是可以在其他环境可以完美运行,比如人常说的ie游览器兼容问题,为什么要进行软件兼容性测试用户使用的环境是不同的所以我们尽量去做,避免给用户带来不好的体验,比如玩着游戏忽然闪退换谁也不开心对吧
什么时候开始软件兼容性测试当build已经相对稳定的时候就进行兼容性测试

易用性测试

易用性测试是指用户使用软件时是否感觉方便,比如是否最多点击鼠标三次就可以达到用户的目的。易用性和可用性存在一定的区别,可用性是指是否可以使用,而易用性是指是否方便使用。比如密码错误的提示框

性能测试

性能测试主要分类
负载测试、压力测试、并发测试、基准测试、稳定性测试、可恢复性测试。
后面详细讲解 对测试人员要求高

按测试阶段划分

单元测试

对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。当然,在具体的测试实现中,也可能对应的是多个程序文件中的一组函数。----------就是看某一个功能实现代码 对测试人员要求高

集成测试

集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。 [1]
实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。一些局部反映不出来的问题,在全局上很可能暴露出来。实际举例待定

系统测试

系统测试,英文是System Testing。是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。如安全测试是测试安全措施是否完善,能不能保证系统不受非法侵入。再例如,压力测试是测试系统在正常数据量以及超负荷量(如多个用户同时存取) 等情况下是否还能正常地工作。以上是百度百科的说法
在我的理解就是测试人员多方面进行测试不单单就看功能 ,还有看界面。压力安全

验收测试

在我的印象中就是我们开发完成,他们在测试环境联调好了,他们说没问题 于是我们测试就进行全面回归验收测试避免在上线后出现bug产生不好的体验。

a测试

 α测试(内测):Alpha测试模拟实际操作环境下验收测试,如删档内测试,软件只是初步完成的产品,bug可能较多,不会进行上线提供用户访问。比如小米系统内测版,王者荣耀内测

β测试

β测试(公测):Beta测试系统已经通过内部测试,大部分错误已经修复,即将正式发布,在多个真实环境下发布,如不删档公测。
对比α版本已经有了较大改进,但仍可能存在一些bug,需要大规模测试,例如DNF公司更新一个地图,提供公测免费下载,由专业游戏玩家进行游戏结果反馈,开发者再进行修复。

其他测试

回归测试

在现在的生产环境,软件迭代更新加快,所以bug出现了几率大大增加,每次开发修完一个bug我们都要对主要功能在进行测试一遍,毕竟开发修一个bug出现多个bug也不是不可能出现。特别注意的是验证当前bug的时候我们不要用相同的测试数据避免杀虫剂效应,在最后上线的时候我们要全部用例在回归测试一遍,尽量避免给用户带来不好的用户体验,所以软件发版的时候是我们最忙的时候

冒烟测试

最初由硬件测试那里来的,在我们这就是主要功能都挂了就不需要继续下去了。

探索性测试/自由测试(测试思维)

随机测试也称为探索测试。一般都是由有经验的测试人员自由发辉

6、笔试面试题整理

为什么需要软件测试?

 为公司节约钱,测试和运维都是为了保证公司不受到损失,比如拼多多优惠价事件。这就是做为测试最大的作用,所以需要软件测试

为什么选择软件测试行业?

·简单,有钱途,国内越来越重视测试人员

为什么不让开发自己做测试?

 开发虽然可以简单自己测试,但是专业度绝对没我们高。而且测试很费时间。综合考虑公司是需要专业的测试人员的。

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

 软件测试就是测试软件所有功能能否实现,软件文档是不是有问题,软件数据稳定性这些,只要和用户有关的我们都要测试

软件测试分类都有哪些?

同上,不同分类叫法不同

什么是黑盒测试?白盒测试?区别是什么?

黑盒 功能测试
白黑 代码级别
区别 需要测试人员掌握的技术程度不一样

柠檬班软件测试002软件测试的定义相关推荐

  1. 柠檬班培训1软件测试

    1.什么是软件测试以及软件测试的目的? 百科:为了发现程序中的错误而执行程序的过程 实际工作中: 1)为了发现程序员在开发中存在代码以及逻辑错误 2)为了审核产品的完成是否符合用户的需求 3)为了提高 ...

  2. 柠檬班Python高级软件测试开发2022年

    数组(1174536086)←v是有序的元素序列.用于差异数组的各个元素的数字编号称为下标.若将有限个类型相同的变量的集结命名,那么这个名称为数组名.数组是一个固定长度的存储相同数据类型的数据结构,数 ...

  3. 柠檬班软件测试靠谱吗 全程班毕业后7天就拿到了offer

    你如果要问柠檬班的软件测试课程靠不靠谱,那我给你答案是肯定的,因为我自己就是柠檬班的一员,由宝妈转行学测试,毕业后7天就拿到了offer,如今月薪15K,所以身有体会. 接下我就给大家来说说我报考柠檬 ...

  4. 柠檬班的课程怎么样,来自一个金融行业转行到软件测试行业的故事

    大家好,我是来自武汉的女伢,今天来跟大家聊聊,我和柠檬班的故事,在跟大家谈一谈柠檬班的课程怎么样! 我一直是一个很平凡的人,不管是家庭也好还是学习也好都是一样,甚至出来公司了我的学历和我的专业也没有任 ...

  5. MeterSphere开源持续测试平台携手柠檬班,为提升软件测试行业整体效率添砖加瓦

    2021年12月21日,杭州飞致云信息科技有限公司(即FIT2CLOUD飞致云)与湖南零檬信息技术有限公司(即柠檬班)达成战略合作,柠檬班正式成为FIT2CLOUD飞致云战略合作伙伴及官方教育认证机构 ...

  6. 数据结构软件测试,资讯详情-java常见数据结构-柠檬班-自动化测试-软件测试培训-自学官网...

    Java中常见数据结构 1.LinkedList 双向链表 特点: 1. 物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现 每个元素包含三个节点,一个是存储元素的数据 ...

  7. 软件测试才是系统级别错误,软件测试部BUG级别定义

    <软件测试部BUG级别定义>由会员分享,可在线阅读,更多相关<软件测试部BUG级别定义(2页珍藏版)>请在人人文库网上搜索. 1.大类选选项定义帮助和示例项名称一级 BUG1. ...

  8. 软件测试中软件质量的定义,软件测试(Software Testing)和软件质量的定义

    软件测试(Software Testing)和软件质量的定义 1.软件测试(Software Testing)的定义 官方释义: a.用来增进判定软件的正确性.完整性.安全性和品质的进程: b.是一种 ...

  9. 线上软测培训机构柠檬班与iTEST.AI平台赋能测试行业共同发展、共绽异彩

    2022年6月30日,湖南零檬信息技术有限公司(以下简称为"柠檬班")与苏州跬步信息技术有限公司(以下简称"苏州跬步")达成战略合作,软件测试培训机构柠檬班将正 ...

  10. 软件测试系列---软件测试基础

    软件测试系列--软件测试基础 1.什么是软件测试? **软件测试是一个过程,包含了若干活动,运行软件进行测试只是活动之一**进行软件测试可以人工方式也可以借助于工具**进行软件测试可以运行软件也可以不 ...

最新文章

  1. 聚类分析在用户行为中的实例_聚类分析在用户分类中的应用
  2. 7.QML Qt Quick——基于Qt Quick Controls 2实现图片浏览器
  3. 解决System.Data.SqlClient.SqlException (0x80131904): Timeout 时间已到的问题
  4. OpenCV主成分分析(PCA)简介
  5. SAP Spartacus PagelayoutComponent里的section和slot
  6. MySQL UPDATE 语句一个“经典”的坑
  7. linux 内存规划,生产场景怎么对linux系统进行合理规划分区?
  8. JavaScript 面向对象编程(二) —— 构造函数 / 原型 / 继承 / ES5 新增方法
  9. PyQt5笔记(07) -- 变换控件颜色
  10. 从像素坐标到相机坐标_多视图几何基础——深入理解相机内外参数
  11. maven的依赖和聚合
  12. ThinkPHP实现文章上一篇和下一篇
  13. Java的API帮助文档
  14. 超市管理系统(JavaWeb版)
  15. 本地搭建mysql数据库
  16. 嵌入式课程 之 超声波传感器实验
  17. java pdf添加图片_Java编辑PDF写入文字 插入图片
  18. 王者战力查询接口,四大战区(文字版)
  19. 小程序(原生) 跳转页面的几种方法
  20. Windows返回桌面快捷键

热门文章

  1. 数字电子技术基础-阎石老师版本-学习记录
  2. 7.2.5 dps 测试软件,《魔兽世界》7.2.5兽王猎DPS改动测试
  3. 尚硅谷大数据技术之Hadoop(入门)
  4. ubuntu20.04+vtd环境搭建
  5. linux fastboot工具,Linux下使用Fastboot给手机刷机
  6. 即时语音提示软件php,即时语音提示校对工具
  7. 数据库 ER图 EER图(鸭蹼图) freedgo绘图工具
  8. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(一):网络基础
  9. web项目测试方法总结
  10. bp神经网络可以预测什么,BP神经网络预测原理