首页 > 编程语言 >软件测试经验与教训之测试手段与程序错误分析

软件测试经验与教训之测试手段与程序错误分析

时间:2023-04-01 13:56:25浏览次数:41  
标签:功能 教训 一致 程序 等价 测试 输入 软件测试

人们可以做的所有测试都可以分为5个方面进行描述:

。测试员:进行测试的人。如用户测试需要站在用户,商家,供应商等不同角色的角度进行测试

。覆盖率:测试了哪些内容。如功能测试中,要测试每个功能,接口测试中测试每个接口

。潜在问题:测试的原因(要测试什么风险)如测试极值问题

。活动:如何测试。例如回归测试,冒烟测试,探索式测试

。评估:怎样判定测试通过还是不通过

所有的测试都是一个要素或者几个要素联合起来就行测试

基于覆盖率的常用测试手段:

1)功能测试:逐个测试每个功能,彻底测试功能,直到确信该功能没有问题。

2)功能集成测试:多个功能组合在一起执行的情况

3)菜单浏览:遍历产品中所有菜单和对话框,使用每个可选项

4)域测试:域是一个(数学)集合,包含所有可能的函数变量取值。在域测试中,要标识函数和变量。变量可以是输入或输出变量。把每个变量都要把其可能取值集合划分为等价类,从中选取代表值进行测试。 请注意哦,与功能测试形成对比的是,我们重点关注的是变量而不是功能。 进行域测试时必须分析变量,然后再根据分析,以这个变量作为输入或输出,测试设计这个变量的每个功能

5)等价类分析:所谓等价类,是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的错误是等价的。从每一个子集中选取少数具有代表性的数据,从而生成测试用例。等价类又分为有效等价类无效等价类。有效等价类代表对程序有效的输入,而无效等价类则是其他任何可能的输入(即不正确的输入值)。有效等价类和无效等价类都是使用等价类划分法设计用例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输入,也能接受无效输入的考验。

6)边界测试:边界值是指对于输入等价类和输出等价类而言稍高于其边界值及稍低于其边界值的一些特定情况。效和无效的分界点,往往是程序的判定点,是程序中最容易出错的地方,也是测试人员重点的测试内容

7)最佳代表测试:例如输入框限制输入5到15个字符,一般输入8个字符,就可以判定除了边界外其他的值都是没有问题的

7)用各种方式映射和测试编辑字段:可以用多种方式改变某个字段中的值。直接输入,复制粘贴,通过各种方式改变字段的值。

8)逻辑测试:变量在程序中有关系,逻辑测试就是测试程序中的所有逻辑关系。因果图是一种用于设计大量基于逻辑的测试手段。

9)基于状态测试:程序的状态要发生转换。在给定状态中,有些输入是有效的,其他收入被忽略或拒绝。

10)路径测试:一条路径包含测试员所执行的所有步骤,或程序为了得到正确状态所通过的所有语句。

11)组合测试:相互组合测试两个或很多变量。 

基于潜在问题的测试手段也就是基于风险测试:根据程序中,某个功能失效的可能性,以及如果失效确实发生可能造成的损失。 为了发现错误进行风险分析,功能怎么样会失效?什么风险因素导致这个功能失效。

。输入风险:限制程序可以处理的内容的约束。例如,程序只能处理32位数字,则程序应该检测并拒绝超出32位数字限制的输入

。输出风险:输入的合法的但是可能会导致产生程序不能处理的输出值。例如显示图片失败

。计算风险:输入输出没有问题,但是在计算某个值时程序失效。如,将两个很大的数乘在一起,积太大程序不能处理

。存储(或数据)约束:输入输出计算都是合法的,但是操作使程序耗尽内存,或产生的数据文件太大,程序不能处理。

。进行风险测试之前,还必须做相当量的非基于风险的测试,针对时序的测试

基于活动的测试:

回归测试:

脚本测试:

冒烟测试:

探索式测试:

游击式测试:

场景测试:

安装测试:

负载测试:

长序列测试:
性能测试:

关于测试是否通过的基于评估的测试手段:

与已保存的结果进行比较:通过将当前得到的结果和以前的结果进行对比

一致性是评估程序的主要手段,下面是七种主要的一致性

一致性是评估程序的主要标准

1.与历史一致。现在的功能行为与以前的行为一致。

2.与我们的想像一致。功能行为与机构的项目预期一致。
3.与可比较的产品一致。功能行为与可比较产品的类似功能一致。

4.与所声明的内容一致。功能行为与承诺提供的功能一致。

5.与用户的预期一致。功能行为与我们认为是用户想要的功能一致。
6.产品内部一致。功能行为与产品内部可比较的功能或功能模式的行为一致。

7、与用途一致。功能行为与明确的用途一致。

 

标签:功能,教训,一致,程序,等价,测试,输入,软件测试
From: https://www.cnblogs.com/cyq0528/p/17278514.html

相关文章

  • 测试面试题
    软件测试1、软件的定义?软件是一系列按特定顺序组织的计算机数据和指令的集合,包括与计算机系统操作有关的程序、规程、规则、文件、文档和数据。软件被划分为系统软件、应用软件和中间件。软件不仅包括电脑程序,还包括与这些程序相关的文档,可简单地理解为程序和文档的集合。2、......
  • jmeter测试工具安装篇播
    jmeter测试工具安装篇播报文章恒迪分享2022-10-1018:22陕西关注 工欲善其事必先利其器,今天我们来搭建jmeter工具。  安装jmeter之前需要安装Java环境  window系统安装java 下载jdk安装前我们需要下载java开发工具包JDK,下载地址:ht......
  • 移动应用开发测试方案
    我再介绍一下移动应用开发测试方案:1.需求分析:根据产品需求和用户需求,确定移动应用的功能和性能需求,并记录下来。2.测试计划制定:制定测试计划,确定测试的目标、范围、测试时间、测试人员、测试方法和测试工具等。同时需要考虑到移动设备的特殊性,如多种操作系统、多种型号等。3.测......
  • 渗透测试靶场
    sqli-labssqli-labs包含了大多数的sql注入类型,以一种闯关模式,对于sql注入进行漏洞利用下载地址:https://github.com/Audi-1/sqli-labsxsschallengesxsschallenges是一个专对于XSS漏洞练习的在线靶场,包含了各种绕过,各种姿势的XSS利用下载地址:http://xss-quiz.int21h.jp/xss-l......
  • 使用Apipost自动化测试工具来优化测试流程
    随着项目研发进程的不断推进,软件功能不断增多,对于软件测试的要求也越来越高。为了提高测试效率和减少测试成本,许多软件测试团队借助于自动化测试工具来优化测试流程。Apipost也提供了自动化测试工具,在本文中,我们将探讨如何借助Apipost自动化测试工具来优化测试流程。Apipost......
  • 测试平台RunnerGo,每位测试人员都该掌握的
    在软件开发中,软件质量保障是非常重要的环节,测试工作对于保证软件质量和用户体验至关重要。然而,测试流程繁琐,需要大量的人力和时间投入,往往会成为软件开发的瓶颈。一款好的测试平台可以大幅简化测试流程提高测试效率,其中,RunnerGo测试平台就是一种非常不错的选择。什么是RunnerGo?......
  • 关于python 的if __name__ == "__main__"的模块测试
    if__name__=="__main__"也就是说执行当前文件,不调用模块的时候__name__=__main__调用模块的时候,测试如下:1、新建test01.py文件测试代码如下print("这条消息来自test01")deffunc():print('hello,world!***')print("这条消息来自func")if__name__=="__......
  • jmeter中测试websocket接口
    一、jmeter安装对应的插件1、Jmeter不自带WebSocket功能,需要先安装WebSocket的插件,选项中选择pluginsManager; 2、在availableplugins搜索WebSocket进行插件下载即可,我是将搜索到的2个插件都安装了,待Jmeter重启后插件就是安装成功。二、WebSocketSampler组件添加方式:1、......
  • 火山引擎 A/B 测试产品——DataTester 私有化架构分享
    作为一款面向ToB市场的产品——火山引擎A/B测试(DataTester)为了满足客户对数据安全、合规问题等需求,探索私有化部署是产品无法绕开的一条路。在面向ToB客户私有化的实际落地中,火山引擎A/B测试(DataTester)也遇到了字节内部服务和企业SaaS服务都不容易遇到的问题。在解决这些......
  • web测试和app测试的区别
    相同点:WEB测试和App测试从流程上来说,没有区别。都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动。从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型。 不同点他们的主要区别在于具体......