软件测试学习笔记----------------------------------一

这周末去朋友家玩,一个周末都没有学习,再加上最近准备学习Django框架,安装有点问题,也一直在查资料,就没有再更新Python学习的模块,决定给自己其他的时间做点别的,所以在看软件测试的书籍,记下书上的的笔记。


软件开发生命周期模式:

  • 大爆炸模式:简单,几乎什么前期文档资料都没有,重点在于开发软件和编程上
  • 边写边改模式:前期只有简单地想法,来回修改测试
  • 瀑布模式:构思、分析、设计、开发、测试、最终产品,它对于产品说明定义很在意,当完成一个阶段进入下一个阶段时,不能回溯。
  • 螺旋模式:一开始不必详细定义产品细节,只需要定义重要的功能,然后实现后再接受客户的反馈,再进入下一个阶段,步骤:确定目标,可选方案和限定条件,明确并化解风险,当前阶段开发和测试,计划下一阶段,确定进入下一阶段的方法。
  1. 软件测试的实质:
    测试原则:
  • 完全测试程序是不可能的;
  • 软件测试是有风险的行为;
  • 测试无法显示潜伏的软件缺陷;
  • 找到的软件缺陷越多,就说明软件缺陷越多;
  • 并非所有的软件缺陷都要修复;
  • 什么时候叫软件缺陷;
    软件缺陷定义:
    1.软件未实现产品说明书要求的功能;
    2.软件出现产品说明书指明不应该出现的错误;
    3.软件实现产品说明书未提到的功能;
    4.软件未实现产品说明书虽然未明确提及但应该要实现的功能
  • 产品说明书没有最终版;
  • 软件测试在产品小组中不受欢迎;
  • 软件测试是一项讲究条理的技术专业;

测试基础

测试方式:

黑盒测试:功能性测试,就想像软件产品是一个黑盒子,对于内部,你什么都看不见,你只能知道输入和输出。

白盒测试:就是能看见软件内部的结构,可以通过看产品的代码,来进行测试。

静态测试:也就是不运行程序测试,只是检查和审核

动态测试:使用和运行软件测试

  • 检查产品说明书:

这是最理想的状态,在产品设计前期就参与测试,及早找出缺陷,可以节省大笔开销。对产品说明书测试属于静态黑盒测试,

  • 测试软件:

采用动态黑盒测试,根据产品说明书进行测试,清楚输入和输出,定义测试用例就行了,但因为测试用例很多,如何合适选择测试用例就很重要。
测试方法:通过性测试,是先确认软件产品至少能实现什么功能,运用最简单的测试用例就行了,失效性测试,就是为了破坏软件
选择测试用例的方法:

  1. 等价类划分:测试相同目标或者暴露相同软件缺陷的一组测试用例,就是考虑把相似输入,相似输出,相似操作的分在一组。

测试用例的原则:

  1. 边界条件:第一个划分是认为是正确的数据,临近边界条件的有效数据,第二个是包含可能出现错误的数据。
  2. 次边界条件:2的幂和ASCⅡ
  3. 空值:
  4. 无效数据

数据测试和程序测试,数据包括键盘输入,鼠标点击,磁盘文件,打印输出等,程序是指可执行的流程,转换,逻辑和运算。

状态测试:通过不同的状态验证程序的逻辑流程,

逻辑流程测试:也需要建立等价划分,因为一个软件产品的状态很多,第一:先建立状态转换图,必须包含以下表示,软件可能进入的每一种独立状态,从一种状态转为另一种状态所需的输入和条件,进入或者退出某种的状态的设置条件及输出结果

 

检查代码

静态白盒测试:在不执行软件的条件下有条理的仔细审查软件设计,体系结构和代码,也叫结构化分析,对于一个软件产品,先进行静态黑盒测试,审查产品说明书,找到缺陷,再进行静态白盒测试,查看代码体系结构,有助于后面的动态黑盒测试,提供哪里容易出现问题 思路。

正式审查:正式进入静态白盒测试的过程,包括以下4个基本要素:1.确定问题2.遵守规则3.准备4.编写报告

审查的问题:

  • 数据引用错误
  • 数据声明错误
  • 计算错误
  • 比较错误
  • 控制流程错误
  • 子程序参数错误
  • 输入输出错误
  • 其他检查

 

猜你喜欢

转载自blog.csdn.net/shinhwa96/article/details/84941576