软件测试笔记(基础篇)

Posted Lora青蛙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试笔记(基础篇)相关的知识,希望对你有一定的参考价值。

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

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

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

软件产品质量模型(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层停。

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

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

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

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

以上是关于软件测试笔记(基础篇)的主要内容,如果未能解决你的问题,请参考以下文章

软件测试笔记(基础篇)

Python成长笔记 - 基础篇 (十四)--堡垒机

JS基础笔记——语句篇

一篇关于django,tornado性能测试的非专业性报告

GO1.6语言学习笔记1-基础篇

python学习笔记六之模块下(基础篇)