什么是软件测试+软件测试的分类【软件测试】

软件测试

什么是软件?

软件 = 程序 + 数据 + 文档

软件测试的对象有哪些?程序 + 数据 + 文档

C/S与B/S架构

C/S:客户端服务器,这种就是我们一定要安装一个客户端才能够用的软件,就叫C/S。比如:微信、qq

B/S:浏览器服务器,只需要一个浏览器,就可以访问服务的,就是B/S。比如:淘宝、京东

软件测试是什么?

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

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

  • 软件测试为了发现程序存在的代码或业务逻辑错误
  • 软件测试为了检验产品是否复合用户需求
  • 软件测试为了提高用户体验

软件测试的分类

按测试的阶段划分

  • 单元测试:主要是测试程序代码,为的是确保各单元模块被正确的编译,比如有具体到模块的测试,也有具体到类,函数,方法的测试等。 -----一般是开发来完成
  • 集成测试:单元测试后,将各单元组合成完整的体系,测试软件单位之间的接口是否正确、数据能否正常传递。----比如说注册和充值这两个共是否能够连通(执行者:开发人员)
  • 系统测试:把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等。(计算机程序结合外设+网络等其他元素进行的测试)----根据测试用例,进行完整的系统测试(执行者:测试人员)
  • 验收测试:主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。----用户对软件进行验收
    • Alpha测试:把用户请到开发方对软件进行测试,测试环境受开发方控制,测试人不多,测试时间比较集中(执行者:测试人员、用户、公司内部人员)
    • beta测试:测试环境不受开发方控制,测试人比较多,测试时间不集中

两者的最大区别

  1. 测试场所不一样
  2. 一般先做Alpha测试,再做beta测试

按测试技术划分(是否查看代码划分)

  • 黑盒测试:只需要关注外部的输入与输出,不需要关注程序内部的逻辑
  • 白盒测试:需要关注内部逻辑具体实现,而不需要关注外部的输入与输出
  • 灰盒测试:既需要关注外部的输入与输出,也需要关注内部逻辑具体实现

按测试对象是否运行划分

  • 动态测试:运行被测系统,而进行的测试
  • 静态测试:不需要运行被测系统,而进行的测试(界面检查 文档检查 代码走查)

按不同测试手段划分

  • 手动测试(点点点)
  • 自动化测试(替代手工 工具/写代码)

按测试包含的内容划分

  • 功能测试:验证软件的业务功能是否符合需求
  • 界面测试:被测系统的界面与原型图是否一致
  • 安全测试:对被测系统的安全进行测试(对账号多次进行输入用户名密码,是否允许输入 sql注入)
  • 兼容性测试:被测系统在不同的测试环境下是否正常(淘宝(b/s))浏览器:ie/chrome/firefox
  • 易用性测试:被测系统的各个功能是否操作方便、是否容易理解、是否容易上手
  • 性能测试(负载测试、压力测试):某个特定的时间,用户数量剧增,软件是否正常。b站崩溃

其他测试

  • 冒烟测试:在进行正式测试前对主要功能进行的测试,冒烟测试一般可能开发或者测试主管来负责
  • 回归测试:开发对存在问题的功能进行修改后,再一次进行的测试
  • 探索性测试/自由测试:根据自己项目经验而进行的随意测试
相关推荐
明明跟你说过1 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
惜.己13 小时前
Jmeter中的断言(二)
测试工具·jmeter·1024程序员节
互联网杂货铺18 小时前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
go_to_hacker1 天前
容器安全检测和渗透测试工具
测试工具·安全
惜.己1 天前
Jmeter中的断言(四)
测试工具·jmeter·1024程序员节
半桶水专家1 天前
tcpdump抓取流量包详解
网络·测试工具·tcpdump
小流年 °1 天前
抓包工具Wireshark
网络·测试工具·wireshark
LucianaiB2 天前
丹摩|丹摩助力selenium实现大麦网抢票
selenium·测试工具
码上一元2 天前
Wireshark 分析SQL 批量插入慢的问题
sql·测试工具·wireshark