软件测试笔记(基础篇)

Lora青蛙 Lora青蛙     2022-12-05     752

关键词:

什么是软件测试?
在规定条件下对程序进行操作,从而发现问题,对软件质量进行评估的过程。

软件测试的目的?
以最少的人力物力时间找出软件中的缺陷,并修改,从而回避商业风险。

软件测试的定义:
使用人工和自动手段来运行程序,目的在于检验是否满足了需求。

软件产品质量模型(ISO/IEC 9126)
功能性(Functionality): 与一组功能及其指定的性质的存在有关的一组属性,功能是指满足规定或隐含需求的那些功能。

可靠性(Reliability): 与在规定的一段时间内和规定的条件下软件维持在其性能水平有关的能力。

易使用性(Usability): 与为使用所需的努力和由一组规定或隐含的用户对这样使用所做的个别评价有关的一组属性。

效率(Efficiency): 在规定条件下,与软件的性能水平与所用资源量之间的关系有关的软件属性。

可维护性(Maintainability): 与进行规定的修改所需要的努力有关的一组属性。

可移植性(Portability): 与软件可从某一环境转移到另一环境的能力有关的一组属性。

软件质量模型保证(SQA)
目的:使软件制作的过程对于领导层是可见的
保证有计划地进行 遵循步骤和需求 及时通知给对应人员

qc和qa
qc:检验产品的质量
qa:审计过程的质量
工作关系:qc进行质量控制,qa是确保qc按照步骤执行。

软件测试基本流程
1、需求分析、需求评审。
2、编写测试计划。
3、编写测试用例、用例评审。
4、执行测试、提交bug、回归测试。
5、编写测试总结报告。

黑盒测试和白盒测试的区别
黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。

黑盒测试主要是为了发现以下几类错误:

  • 是否有不正确或遗漏的功能?
  • 在接口上,输入是否能正确的接受?能否输出正确的结果?
  • 是否有数据结构错误或外部信息(例如数据文件)访问错误?
  • 性能上是否能够满足要求?
  • 是否有初始化或终止性错误?

白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

白盒测试主要是想对程序模块进行如下检查:

  • 对程序模块的所有独立的执行路径至少测试一遍。
  • 对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
  • 在循环的边界和运行的界限内执行循环体。
  • 测试内部数据结构的有效性,等等。

给你一部电梯,写出它的测试策略:
需求测试:查看电梯使用说明书、安全说明书等

界面测试:查看电梯外观

功能测试:能否实现正常上升和下降、电梯的按钮是否都可用、电梯门的打开关闭是否正常、报警装置是否可用、通风状况如何、突然停电时的情况、是否有手机信号、上升途中的响应:电梯本来在1楼,如果有人按18楼,那么电梯在上升到5楼的时候,有人按了10楼,是否会在10楼先停下来;电梯下降到10层时显示满员,此时若8层有人等待电梯,是否在8层停。

可靠性:门关上的一刹那出现障碍物、同时按关门和开门按钮、按当前楼层号码、多次点击同一楼层的号码等等;同时按上键和下键会怎样。

易用性:电梯的按钮设计是否符合一般人使用的习惯吗?

用户文档:使用手册是否对电梯的用法、限制、使用条件等有详细描述

压力测试:电梯的最大承受重量、在负载过重时报警装置是否有提醒,在一定时间内不断让电梯上升、下降。最大负载下平稳运行的最长时间。

java基础笔记day01

JAVA开发之路---基础篇软件开发软件:一系列按照特定顺序组织的计算机数据和指令的集合常见的软件:      系统软件:windowsdosIOS      应用软件:扫雷等桌面软件什么是开发:制作软... 查看详情

软件测试笔记(基础篇)

什么是软件测试?在规定条件下对程序进行操作,从而发现问题,对软件质量进行评估的过程。软件测试的目的?以最少的人力物力时间找出软件中的缺陷,并修改,从而回避商业风险。软件测试的定义&#x... 查看详情

python成长笔记-基础篇

创建一个socketserver至少分以下几步:First,youmustcreatearequesthandlerclassbysubclassingthe BaseRequestHandlerclassandoverridingits handle() method;thismethodwillprocessincomingrequests.   Sec 查看详情

js基础笔记——基础篇

  在这篇主要记述数据类型、变量等。  一、注释  注释的作用是提高代码的可读性,注释的内容不会在网页中显示。可分为单行注释与多行注释两种。  单行注释:在注释内容前加“//”  多行注释:以“/... 查看详情

js基础笔记——基础常识篇

...本人还是小白。若是我一直被玩单机,就只好把它当做云笔记了。本人的所有js知识来源于两本书:JavaScript与DOM编程艺术、JavaScript高级程序设计。当然本人也会提出自己的见解与看法,有些地方若是错了,请友善的指出,小女... 查看详情

c语言基础学习笔记+c语言进阶学习笔记总结篇(坚持才有收获!)

【C语言基础学习笔记系列】【C语言基础学习笔记】一、初始C语言(1)【C语言基础学习笔记】一、初始C语言(2)【C语言基础学习笔记】一、初始C语言(3)【C语言基础学习笔记】一、初始C语言(总... 查看详情

javascript笔记基础篇

...如何解决的,应为本人属于刚入行阶段技术并非大神如果笔记中有哪些错误,或者自己的一些想法希望大家多多交流互相学习.1.ToFixed()函数今天在做Birt报表时,要显示一列百分比的数据,但因一些特别的原因,不能使用使用百分比... 查看详情

vue开发实战学习笔记48篇(完结)

说明【Vue开发实战】学习笔记。学习笔记代码仓库:https://github.com/kaimo313/vue-development-practice目录【Vue开发实战】基础篇#1:第一个Vue程序【Vue开发实战】基础篇#2:组件基础及组件注册【Vue开发实战】基础篇#3:Vue... 查看详情

javascript笔记基础篇

针对前段JS获取当前时间或者对时间数据处理方法汇总:javascript字符串转化为日期 Java代码  var s="2010-5-18 12:30:20";  var t=new Date(s.replace(/-/g,"/"));   java代码 Java代码& 查看详情

javascript笔记基础篇

一.常用正则表达式汇总以及部分问题解决方案正则匹配:varstr="Thisismytest";vartest=newRegExp("test","g");//创建正则表达式对象varresult=s.match(test);alert(result);1.常用正则表达式:验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的... 查看详情

bp神经网络分类实战项目(深度学习笔记)原创!基础篇

查看详情

js基础笔记——语句篇

  今天就来复习整理一下语句吧。  下面有比较常用的几种:当然了并不全面。以后再做补充。  语句:  I.判断语句(if...else)  if(条件)  {  条件成立时执行的代码  }  else  {  条件不成立时执行的... 查看详情

跟月影学可视化学习笔记41篇(完结)

说明【跟月影学可视化】专栏学习笔记。个人学习笔记源码:https://github.com/kaimo313/visual-learning-demo一共做了162个学习示例以及41篇博客学习笔记,要深入学习该课程请支持正版,个人笔记仅供参考。笔记目录【图形基... 查看详情

跟月影学可视化学习笔记41篇(完结)

说明【跟月影学可视化】专栏学习笔记。个人学习笔记源码:https://github.com/kaimo313/visual-learning-demo一共做了162个学习示例以及41篇博客学习笔记,要深入学习该课程请支持正版,个人笔记仅供参考。笔记目录【图形基... 查看详情

读书笔记--java核心技术--基础篇

第三章 Java基本程序设计-----------------------------------------------------------------在JAVA中,/**/注释不能嵌套Java有8种基本类型4种整型:int,long,short,byte;长整型后缀加L,0x前缀表示十六进制,0前缀表示八进制,0b前缀表示二进制2种... 查看详情

python成长笔记-基础篇

本节内容进程、与线程区别pythonGIL全局解释器锁线程语法join线程锁之Lock\Rlock\信号量将线程变为守护进程Event事件 queue队列生产者消费者模型Queue队列开发一个线程池进程语法进程间通讯进程池     ssh ssh_sftp &nbs... 查看详情

《nodejs+gulp+webpack基础实战篇》课程笔记--webpack篇

webpack引入  前面我们简单学习了gulp,这时一个前端构建框架---webpack产生了(模块打包)它能帮我们把本来需要在服务端运行的JS代码,通过模块的引用和依赖打包成前端可用的静态文件。(这里有需要了解一下CommonJS规范,... 查看详情

flutter笔记_基础篇(代码片段)

这是之前在入手flutter时做的笔记,由于笔记是使用幕布来记录的,幕布不支持markdown格式,所以在幕布上的笔记基本都很少会去整理,这次用了pandoc工具将幕布的笔记转为markdown格式,无奈支持很不良好,... 查看详情