我想学白盒测试,从哪入手,需要学习哪些东西,我上学的时候学的是软件技术,懂C语言,麻烦大家指点指点,

2024-05-17 12:20

1. 我想学白盒测试,从哪入手,需要学习哪些东西,我上学的时候学的是软件技术,懂C语言,麻烦大家指点指点,

呵呵…… 你说的这个问题很大哦!
这是一个涉及面很大的问题,但同时又是一个很有典型性的问题,很多的测试工程师都很希望能够通过学习白盒测试来提高自己的技术水平,使自己站在和开发人员同一个维度来发现和分析问题。这里我想通过白盒测试的技术特点和学习白盒测试的途径来简短地讨论一下。大概有以下这么几点:

  (1)原则上,白盒测试人员必须要有良好的开发背景。他们除了拥有开发人员的编码知识外,还必须拥有良好的编码风格。优秀的白盒测试人员应该是一个十分关注细节的人。

  (2)对于不同的语言平台,学习并掌握主流的单元测试框架是第一步。对于JAVA,学习并且能够熟练应用JUnit或者TestNG是必须的。对于C/C++,应该有必要学习C++Test或者Visual Unit。对于.NET项目,可以深入学习Microsoft.VisualStudio.QualityTools.UnitTestFramework框架。另外对于纯C的嵌入式项目,RTRT也是很主流的。

  (3)必须掌握单元测试用例的设计思路和方法,能够熟练应用等价类,边界值等方法来设计组织测试用例。

  (4)深入理解“可测性”问题,能够很好的分析处理“代码隔离”,“不可控”,“打桩失真”,“复杂数据结构初始化”,“间接输入”,“私有成员访问”和“中断输入”等技术细节。

  (5)对于单元测试框架,不仅要做到会用,还必须知道它是设计思想和工作原理。因为在有些比较特殊的项目中你会发现,现有的单元测试框架无法满足你的需求,这种情况下就有必要修改或者开发适合项目的单元测试框架。

  (6)白盒测试入门学习不难,但在实际项目中具体应用就很难。会涉及到很多“可测性”难题,还会涉及到大量的技术细节问题。

  我想到的大概就是以上这么几点了,不完整和不妥当的地方还请大家一起补充!

  (7)白盒测试的用例切忌不能以走读被测代码来设计,必须以详细设计作为白盒测试用例设计的依据。很多新手都在这一点上犯过很多错误。

  我想到的大概就是以上这么几点了,不完整和不妥当的地方还请大家一起补充!

我想学白盒测试,从哪入手,需要学习哪些东西,我上学的时候学的是软件技术,懂C语言,麻烦大家指点指点,

2. 大学软件测试科目,请分别用一句话回答:什么是白盒/黑盒测试,有哪几种方法,特点是什么?

白盒测试[1]  又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。
采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。

3. 测试工程师 需要学习什么 就那种 黑盒白盒的 软件测试

软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作
软件项目开发是个分工明确的系统工程,不同的人员扮演了不同的角色,包括部门经理、产品经理、项目经理、系统分析师、程序员、测试工程师、质量保证人员等。可见,软件测试工程师只是软件项目开发中的一个角色而已。
测试工程师承担的任务角色决定工作内容和承担的任务。测试工程师的角色应该承担什么任务呢?这没有统一的答案。因为,这与软件公司的规模,软件项目管理制度,公司领导和项目经理的管理风格,以及具体软件项目自身的特点有很大关系。而且,测试工程师也有普通和高级之分


测试工程师一般自学不来,因为没有实际项目给你测试,所以很难自学。武汉博睿实训还不错,老师很专业,而且有很多实际项目可以操作,能很快学到东西。

测试工程师 需要学习什么 就那种 黑盒白盒的 软件测试

4. 怎么把白盒测试 应用到具体的软件开发中?有没有相关书籍?现在正在学《软件测试方法与技术》,太理论了。

书籍我不知道,给你谈点儿经验吧,我觉得你掌握了理论后,应当到实践中检验,而不是看更多的书,那会越来越迷茫。

白盒思想在测试中的应用,在于两点:用例编写方法和验收标准。

其中,白盒用例编写方法指出了你编写测试用例的出发点,思路和约束。其实语句覆盖很简单,让一段代码中的所有语句至少执行一遍。这就是你编写的目的。

那么,例如:

IF(A=1){
    PRINT("1")
} ELSE {
    PRINT "2"
}

用例就是A=1的一个,A不等于1的一个。

你肯定会有疑问,感觉这个没什么意义吧?

这就需要对比白盒和黑盒测试用例的异同,你才能看得更清楚:

黑盒测试用例实际上仅仅通过输入来设计,那么,实际上黑盒用例是不带着程序逻辑的。例如,当允许输入参数A,范围是0-9区间的时候,黑盒测试用例会依据等价类和边界值测试(-1,0,1,8,9,10)以及其他异常输入。可是如果我的代码里,3和6是特殊处理的,那么这样的用例必然导致漏测。

而白盒则不一定会测试0,9这种边界,而是从3和6的判断等入手。

这样你就看出来,这两种方法相互补充,既保证了覆盖率,又能重点突出,避免很多冗余。

实际上,用例质量的关键判断标准就是覆盖率和冗余啊。

这里留一个问题,你可以去问问你的老师:业务逻辑在黑盒和白盒测试用例中如何体现的?应该如何让用例体现业务逻辑?

希望能够帮助你。

5. 软件工程黑盒测试以什么为依据 白盒测试以什么为依据

什么是黑盒测试和白盒测试? 
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。 
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。 
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 

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

1、是否有不正确或遗漏的功能? 
2、在接口上,输入是否能正确的接受?能否输出正确的结果? 
3、是否有数据结构错误或外部信息(例如数据文件)访问错误? 
4、性能上是否能够满足要求? 
5、是否有初始化或终止性错误? 

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

1、对程序模块的所有独立的执行路径至少测试一遍。 
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。 
3、在循环的边界和运行的界限内执行循环体。 
4、测试内部数据结构的有效性,等等。 

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

软件工程黑盒测试以什么为依据 白盒测试以什么为依据

6. 软件工程答案什么是白盒测试和黑盒测试,试各举一例

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
最新文章
热门文章
推荐阅读