软件测试基础Ⅲ(osi7层协议,测试模型,LoadRunner组件,软件质量模型)

时间:2021-08-12 06:34:19

osi7层开放式系统互连网络模型

  1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。

  2.数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。

  3.网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。

  4.传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。

  5.会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)

  6.表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。

  7.应用层: 是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。

测试模型

  1. V 模型——非常明确的标注了测试过程中存在的不同类型的测试。
  2. W模型——非常明确的标注了生产周期中开发与测试之间的对应关系。
  3. X 模型——这个模型指出整个测试过程是在探索中进行的。
  4. H 模型——软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行 。

静态测试:是指无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率;

动态方法:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。

所谓软件的动态测试,就是通过运行软件来检验软件的动态行为和运行结果的正确性。

LoadRunner组件

  • 1、VuGen(虚拟用户生成器)用于捕获最终用户业务流程和创建自动性能测试脚本 (也称为虚拟用户脚本)。
  • 2、Controller (控制器)用于组织、驱动、管理和监控负载测试。
  • 3、Load Generator(负载生成器)用于通过运行虚拟用户生成负载。
  • 4、Analysis (分析器)查看、分析和比较性能结果。

软件质量模型的六大特性27个子特性

一、功能性

  • 1、适合性:提供了相应的功能
  • 2、准确性:正确(用户需要的)
  • 3、互操作性:产品与产品之间交互数据的能力
  • 4、保密安全性:允许经过授权的用户和系统能够正常的访问相应的数据和信息,禁止未授权的用户访问.......
  • 5、功能性的依从性:国际/国家/行业/企业 标准规范一致性

二、可靠性:产品在规定的条件下,在规定的时间内完成规定功能的能力

  • 1、成熟性:防止内部错误导致软件失效的能力
  • 2、容错性:软件出现故障,自我处理能力
  • 3、易恢复性:失效情况下的恢复能力
  • 4、可靠性的依从性

三、易用性:在指定使用条件下,产品被理解、 学习、使用和吸引用户的能力

  • 1、易理解性:
  • 2、易学性:
  • 3、易操作性:
  • 4、吸引性:
  • 5、易用性的依从性:

四、效率性:在规定台条件下,相对于所用资源的数量,软件产品可提供适当性能的能力

  • 1、时间特性:平均事务响应时间,吞吐率,TPS(每秒事务数)
  • 2、资源利用性:CPU 内存 磁盘 IO 网络带宽 队列 共享内存
  • 3、效率依从性:

五、软件维护性:"四规", 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力

  • 1、易分析性:分析定位问题的难易程度
  • 2、易改变性:软件产品使指定的修改可以被实现的能力
  • 3、稳定性:防止意外修改导致程序失效
  • 4、易 测试性:使已修改软件能被确认的能力
  • 5、维护性的依从性

六、软件可移植性:从一种环境迁移到另一种环境的能力

  • 1、适应性:适应不同平台
  • 2、易安装性:被安装的能力
  • 3、共存性:
  • 4、易替换性
  • 5、可移植性的依从性