软件测试的定义和分类

软件测试的定义和分类

作业见下方
1、什么是软件
软件是计算机程序、程序所用的数据以及文档资料的集合
软件分为系统软件和应用软件
系统软件:是生成、准备和执行其他程序所需要的一组 文件和程序,如操作系统Windows、数据库SQL-Server,驱动程序,java语音编译环境等
注:支持系统运行的软件
应用软件:计算机用户为了解决某些具体问题而购买、开发或研制 各种程序和软件包,如QQ,微信等。
注:以后测试过程中用到的软件一般都是应用软件(要理解,不要去背概念)
2、软件测试的定义
1983年,IEEE就提出软件工程的标准术语,将软件测试定义为:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果的差别
本书以及百度的定义:为了发现程序中的错误而执行程序的过程
不要背概念,需要理解即可:
1)软件测试为了发现程序存在的代码或逻辑错误
2)软件测试为了检验产品是否符合用户需求
3)软件测试为了提高用户的体验
为什么用户体验如此重要?
如游戏的卡顿、掉线,直接导致大量的玩家流失,本身的价值就不存在了
3、软件测试的原则
1)测试应该尽早介入(需求阶段)
需求规格说明书 静态测试和动态测试 缺陷越早发现成本越低
2)所有的测试应追溯到用户需求
3)程序员应该避免检查自己的程序。除了单元测试,因为程序员对于自己的作品,思维具有局限无法保证测试质量。交给第三方或者专业测试,运用各种测试技术,利用丰富的测试经验和对bug的敏感,去提高软件的质量
原因:认为自己的产品完美 思维局限
4 )设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态
5)二八原则,测试发现的错误中80%很可能起源于20%的模块中
6)对错误结果要进行一个确认过程
发现bug后,不要马上提交到bug管理系统里,可能会发现不是bug的bug;和别人去沟通确认;也是对自己的保护
7)制定严格的测试计划
8)完全测试是不可能的,测试需要终止
完全测试即穷举测试
9)妥善保存测试过程中的所有文档
4、软件测试的对象
程序、数据、文档
5、软件测试的分类
(对于分类了解一下,但是要理解分类下的测试类型)
按执行的阶段划分
单元测试、集成测试、系统测试、验收测试(正式验收测试、Alpha测试、Beta测试)
1)单元测试----开发人员做的,程序员每开发完一个模块
2)集成测试----接口测试 不同模块之间、不同功能之间能不能联通
3)系统测试----对每个功能点进行详细测试
4)验收测试----alpha测试(前期的用户测试,组织内部人员进行的内测,模拟生产环境的测试 ) beta测试(后期的测试,公测,真实环境,系统功能基本稳定,选择一个或多个生产环境来发布版本,只有部分地区的人才能使用最新版本 ,再发布到全网地区)

按测试技术划分
白盒测试、黑盒测试、灰盒测试
白盒测试(代码级别的测试,能够看到内部功能,懂代码+测试技术)、黑盒测试(功能测试,功能是否正常)、灰盒测试(介于两者之间,比较少的)

被测试对象是否运行划分
动态测试、静态测试(文档检查、代码走查、界面检查)
动态测试(运行程序来测试)、静态测试(文档检查、代码走查、界面检查)
界面检查(UI)

按不同的测试手段划分
手工测试、自动化测试

按测试包含的内容划分
功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试、恢复测试
安全测试:专家级别的 xss注入、sql注入等 如:密码不能以明码显示 敏感关键数据不能以明文展示、权限控制等
兼容性测试:浏览器的兼容、系统之间、手机不同型号、款式等,后面会学
易用性测试:比较依赖于用户的使用习惯,比较灵活,主观能动性比较强
性能测试:在一定的负载情况下,测试系统响应时间、吞吐量等,是否会满足特定的性能需求
压力和负载测试都是属于性能测试的一种
通过例子来理解:
负载测试:
运动员在不同负重下测试一个运动员的生理指标
1)基准测试:在没有负重的情况下,跑400米,检查生理指标
2)50公斤重,跑400米,检查生理指标
3)80公斤重,跑400米,检查生理指标,有一些异常
4)90公斤重,跑400米,检查生理指标,花的时间久一些,有一些异常
5)100公斤重,跑400米,检查生理指标,50%异常
80公斤是最大有效负重,90-100是性能瓶颈
压力测试:运动员在80公斤负重5公里,检查生理指标(选取最大的有效负载,长时间测试)
总结:
负载测试通过改变负载(增加负载)的方式来测试,是一个尝试性的测试过程(先做)
压力测试高负载下长时间运行(24小时以上),用来测试系统的稳定性
可以举电梯的例子类似(先做负载测试)

其他测试
冒烟测试、回归测试、探索性测试/自由测试(测试思维)
回归测试:验证修改后的地方没有造成影响
表格总结---软件测试分类的说明
名称说明
白盒测试基于软件内部设计和程序实现的测试方法(代码层面)。不仅仅关注输入与输出的结果
是否正确,同时还关注程序是如何处理的
黑盒测试字面上理解,就是把所有功能盒逻辑接口都放在一个盒子里面,你是看不到里面的逻辑与走向
的,你只能通过盒子的外表进行测试。黑盒测试是指在测试过程中只关注输入和输出,如果输入
一个测试数据,输出的结果是正确的,我们就认为这个功能是正确的。也叫数据驱动测试
冒烟测试冒烟测试的对象是每一个新编译的需求正式测试的软件版本,目的就是确认软件基本功能正常
可以进行后续的正式测试工作
功能测试测试软件的功能是否符合用户需求,通常采用黑盒测试方法,一般由测试人员独立执行
界面测试简称UI测试,测试用户界面布局是否合理,整体风格是否一致,界面文字是否正确,命名是否
统一,页面是否美观,文字、图片组合是否完美等等
安全性测试测试该系统防止非法侵入的能力
兼容性测试测试系统与其他软件硬件兼容的能力(app与cs架构软件、bs架构软件)
7、软件测试常见误区
1)测试和调试是一样的
测试是发现问题,调试是定位问题并解决问题
2)测试组应当为保证质量负全责
一个项目组是一个团队,是互相配合的,需要产品(整理需求)、技术(根据需求开发程序,代码要有一定的质量)、测试(尽可能地提高软件质量,产品要有一定的转测标准才可以提交测试)共同负责
测试只能证明错误的存在,而不能证明错误的不存在
3)把开发人员安排做测试
4)过分地依赖Beta测试(验收测试)
在这之前把所有的功能测试完全
5)测试是可以穷尽的
不能进行穷举测试,利用测试方法来提取更多的测试点
6)测试是枯燥乏味,缺乏创造力的工作
作为专业的测试人员,你需要利用各种各样的工具和方法,制造各种各样的场景去折磨软件,最终提高软件的质量。所以测试是一份需要有创造力的工作。
8、常识普及
C/S架构与B/S架构
C/S:client-server:这种就是我们一定要安装一个客户端才能够用的软件,就叫C/S
缺点:每次更新,都需要更新服务端和客户端,比如超市收银系统每次更新每台电脑都必须重新装客户端特别是有分店的情况,人力物力财力都很大
B/S:browser-server:只需要一个浏览器,就可以访问服务的,就是B/S
优点:只需要更新服务器就ok,不需要去更新浏览器。用户主动性比较高。比如天猫、淘宝
举例:
QQ、火车票出票系统、企业官网、QA系统、爱奇艺、爱奇艺在线直播、QQ空间

本节重点
1)什么是软件测试分类 重点理解 Alpha测试和Beta测试
2)压力测试和负载测试
3)软件测试定义(3点)

笔试面试题整理
1、什么是软件测试?软件测试的目的是什么?
2、软件测试分类都有哪些?
3、什么是黑盒测试?

4、Alpha和Beta测试区别?(作业)
答:
Alpha测试是前期的用户测试,一般由客户及公司内部人员模拟生产环境来进行测试,属于内测阶段
Beta测试是后期的用户测试,系统功能基本稳定后,选择一个或多个生产环境来发布版本来进行测试,只有部分地区的人才能使用最新版本,属于公测阶段,Alpha测试要先于Beta测试





  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值