• 12
  • 11
分享

一、什么是静态测试?动态测试?

通过运行程序测试软件:动态测试(有白盒和黑盒,从不同角度设计测试用例)

通过评审文档、阅读代码:静态测试

静态测试方法是指不运行被测程序本身,仅通过分析或检查源代码的语法、结构、接口等来检查程序的正确性。对照需求规格说明书,软件设计说明书,源程序做结构分析,流程图分析。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,如不匹配的参数,不合适的嵌套循环和分支嵌套,不允许的递归,未使用过的变量、空指针的引用和可疑的计算。用于进一步的差错,并为测试用例选取提供指导。

二、什么是回归测试?

目的是程序有修改的情况下,保证原有功能正常的一种测试策略和方法。

测试人员在程序进行测试时发现bug,然后返回程序员修改,程序员修改后发布新的软件包或软件补丁包给测试人员,重新测试,保证程序修正了以前bug的情况下,正常运行且不会带来新的错误的过程,一般不需要全面测试,根据修改情况进行有效的测试。

三、如果能够执行完美的黑盒测试,还需要进行白盒测试吗(黑盒和白盒的区别?)

任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:

1、是否有不正确或遗漏的功能?

2、在接口上,输入是否能正确的接受?能否输出正确的结果?

3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求?

5、是否有初始化或终止性错误?

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

1、对程序模块的所有独立的执行路径至少测试一遍。

2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

3、在循环的边界和运行的界限内执行循环体。

4、测试内部数据结构的有效性,等等。

以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。

就算执行了完美的黑盒测试也是无法测试程序内部特定部位,另外当规格说明本身有误,也不能发现问题。而白盒测试能对程序的内部特定部位进行覆盖测试,所以黑盒和白盒测试互为互补关系,结合起来进行测试用例的设计更为合理。

经验表明,通常在进行单元测试时采用白盒测试方法,集成测试使用灰盒测试,系统测试使用黑盒测试。

四、软件测试分几个阶段?各阶段重点测试什么?各个阶段的含义?

开发的5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试。(回归测试)(软件发布后)。

每阶段都有5个步骤:测试计划、测试设计、用例设计、执行结果、测试报告

1、单元测试是对软件中的基本组成单元进行测试,如一个模块、一个过程等等,它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件最基本组成单元的正确性。

2、集成测试在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。其主要目的是检验软件各单位之间的接口是否正确。实践表明,一些模块虽然可以单独工作,但并不能保证连接起来也能正常工作。程序在某些局部反映不出来的问题,在全局上可能暴露。测试重点是模块间的衔接以及参数的传递等。

3、确认测试确认测试的目标是验证软件的功能和性能以及其他特性是否与用户的要求一致。确认测试一般包括有效性测试和软件配置复查。一般由第三方测试机构进行。

4、系统测试是对已经集成好的软件系统进行彻底的测试,已验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确。重点:整个系统的运行以及与其他软件的兼容性。

5、验收测试旨在向软件的购买者展示该软件满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。

6、回归测试是在软件的维护阶段,对软件进行修改之后进行的测试,其目的是检验对软件的修改是否正确。

五、针对缺陷采取怎样的管理措施?

1、要更好的管理缺陷,必须引入缺陷管理工具,商用的或者开源的。

2、根据缺陷的生命周期,考虑缺陷提交的管理,缺陷状态的管理和缺陷分析的管理。

3、所有发现的缺陷必须全部即时的,准确的提交到缺陷管理工具中,这就是缺陷提交的管理。

4、缺陷提交后,需要即时的指派给相应的开发人员,提交缺陷的人需要密切注意缺陷的状态,帮助缺陷的尽快解决,缺陷解决后需要即时对缺陷的修复进行验证。目的有2个:1.让缺陷尽快解决2.方便后面缺陷的分析

5、为了更好的改进开发计划和测试过程,需要对缺陷进行分析,总结如缺陷的类型,缺陷的龄期分布等信息。

六、软件测试的V模型和W模型

1.jpg

2.jpg

七、测试方法可以分为哪几种?

软件测试可以是人工测试:如个人复查,抽查和会审等

也可以是机器自动测试,又有不同的分类:

按照否关软件内部结构具体实现角度划

A、白盒测试

B、黑盒测试 

C、灰盒测试

按照软件发程按阶段划

A、单元测试 

B、集测试 

C、确认测试 

D、系统测试 

E、验收测试

八、白盒测试之六种覆盖

1、语句覆盖:可执行语句至少被执行一次;

2、判断覆盖:每个判断的取真分支和取假分支至少经历一次;

3、条件覆盖:每个条件的取值至少满足一次;

4、判断条件覆盖:判断和条件都满足;

5、条件组合覆盖:每个条件的所有可能都至少出现一次,并且判定结果至少出现一次 ;

他与条件覆盖的区别:他不是简单要求每个条件出现“真”和“假”两种结果,而是要求这些结果所有可能至少出现一次;

6、路径测试:执行所有可能的执行路径;

7、基本路径测试:

路径测试执行了每个路径,每个判定的结果肯定经历过一次

6中覆盖标准,强度由弱到强依次是:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖

九、其他问题记录

常用的黑盒测试方法:等价类划分法、边界值分析法、正交实验设计法、因果图法、决策表法。

等值分析测试=等价类划分+边界值分析测试

边界值法既是白盒又是黑盒测试方法

因果图法:等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。因果图法着重测试规格说明中的输入与输出间的依赖关系。

因果图法测试用例的设计步骤:

(1)确定软件规格(需求)中的原因和结果

(2)确定原因和结果之间的逻辑关系

(3)确定因果图中的各个约束(constraints)

(4)画出因果图并转换为决策表

(5)根据决策表设计测试用例


作者:xiongluo0628

原文链接:https://blog.csdn.net/xiongluo0628/article/details/81363909

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 读者提问:小程序自动化测试框架有推荐的吗 ?阿常回答:有,MiniTest。官网地址:https://minitest.weixin.qq.com小程序测试示例:https://git.weixin.qq.com/minitest/miniprogram-demo-test阿常碎碎念:目前小程序的体量越来越大,相关的框架和组件库越来越多,对于测试能力要求也越来越高。业内同行基于Chrome DevTools Protocol开发了很多小程序相关的测试工具,这些工具都有以下缺点:只能在Android端上运行。小程序实际是一个跨平台的产品(IDE,Android和IOS),测试的平台覆盖...
            0 0 1680
            分享
          • 一、输入框1、字符型输入框:(1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。(2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。(3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格(4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、(5)安全性检查:输入特殊字符串(null,N...
            1 0 1849
            分享
          •   开源软件最大的好处是免费的,最大的烦恼大概就是各种问题的调试解决吧,这是一个非常浪费时间和精力的问题,说实话以前都是拿别人整理好的软件直接用,再就是公司所给使用的也都是经过验证没啥问题的正式版本,没有见过这么多问题,想当然的我也以为这软件安装好,能启动就可以直接拿来用了,但当自己实际去用的时候,发现这问题一堆,特别是python 3.8匹配的这个版本,那个问题是多啊,整得我是没有脾气了,下面就给大家讲讲我所遇到的问题吧,但愿我的问题能给你带来帮助。  首先说说第一个遇到的问题吧:  创建用例后发现用例编写页面空白一片,没有编写的地方,就是图上红线标示的地方都看不到,怎么回事,求助百度搜索发...
            12 12 1964
            分享
          • 代码题:**旋转数组:这个在美团一面的时候也遇到过**假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。注意数组中可能存在重复的元素。int findMin(vector<int>& nums) {         int left = 0, right = nums.size()-1,&...
            1 1 2024
            分享
          •   中国台湾《联合报》称:经多方评比后,台积电最终决定将最先进的 1nm 制程代工厂选址定在嘉义科学园区,总投资额超万亿新台币(IT之家备注:当前约 2290 亿元人民币)。  对于这一传闻,台积电表示,选择设厂地点有诸多考量因素,台积电以中国台湾地区作为主要基地,不排除任何可能性,也持续与管理局合作评估合适的半导体建厂用地。  消息人士透露,台积电 1nm 制程将落脚嘉义科学园区,台积电已向相关管理局提出 100 公顷用地需求,其中 40 公顷将先设立先进封装厂,后续的 60 公顷将作为 1nm 建厂用地。业界估,台积电 1nm 总投资额将逾万亿新台币。  在上个月举行的 IEDM 2023...
            0 0 773
            分享
      • 51testing软件测试圈微信