zoukankan      html  css  js  c++  java
  • 软件测试基础概念摘要

      最近一直在找工作,工作难找额。下周有一个关于软件测试开发的面试,可是笔者完全不懂任何和软件测试有关的知识,索性现学现卖,网上下本书过来学习一个。为了避免学习的枯燥以及低效化,仅对书中重要知识进行相关摘录。这本书是Ron Patton著并且由机械工业出版社出版的《软件测试》,个人觉得对于一个新手是不错的选择,写的还蛮简明易懂的,虽然这本书有一定年份了,但是里面的一些关于测试的概念并没有过时。下面采用问答的形式来摘录要点。Q=问,A=答。

    Q1:软件缺陷的定义?

      A:符合下列5个规则才能叫做软件缺陷:1.软件未达到产品说明书的功能;2.软件出现了产品说明书指明不会出现的错误;3.软件功能超出产品说明书指明范围;4.软件未达到产品说明书虽未指出但应达到的目标;5.软件测试员认为软件难以理解、不宜使用、运行速度缓慢,或者最终用户认为不好。

    Q2:软件测试者的职责是什么?

      A:软件测试员的目标是发现软件缺陷。

    Q3:软件开发几种常见模式?

      A:瀑布、迭代、螺旋、敏捷。链接:http://www.cnblogs.com/-OYK/archive/2012/10/08/2714669.html

    Q4:什么是黑盒测试和白盒测试?

      A:黑盒测试当中软件测试员只需要软件要做什么即可——而无法看到盒子中是如何运作的;在白盒测试(有时称为开盒测试)中,软件测试员可以访问程序员的代码,并通过检查代码来协助测试——可以看到盒子里面。测试员根据代码检查结果判断多大的数字可能出错,并据此调整测试程序。

    Q5:静态测试和动态测试?

      A:静态测试是指测试不运行的部分——知识检查和审阅。动态测试是指通常意义上的测试——运行和使用软件。

    Q6:什么是行为测试(动态黑盒测试)?

      A:不深入代码细节的软件测试方法称为动态黑盒测试。测试工作就是进行输入、接受输出、检查结果。动态黑盒测试常常成为行为测试,因为测试的是软件在使用过程中的实际行为。

    Q7:什么是测试案例?

      A:测试案例是指进行实验用的输入,以及测试软件用的程序。

    Q8:什么是等价分配?

      A:等价分配是指分步骤地把过多(无限)的测试案例减小到同样有效的小范围的过程,等价分配中根据边界条件、次边界条件、空值和无效数据来合理减少测试案例。

    Q9:什么是重复、压迫和重负测试?

      A:重复测试是不断执行同样的操作,进行这种反复测试的主要目的是看内存是否不足;压迫测试是使软件在不够理想的条件下运行——内存小、磁盘空间少、CPU速度慢、调制解调速率低等等。观察软件对外部资源的要求和依赖的程度。压迫测试就是将支持降低到最低限度,目的在于尽可能地限制软件的必要条件;重负测试与压迫测试相反,压迫测试是尽量限制软件,而重负测试是尽量提供条件任其发挥。

    Q10:什么是结构分析(静态白盒测试)?

         A:静态白盒测试是在不执行的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程。有时称为结构分析。

    Q11:什么是结构测试(动态白盒测试)?

         A:动态白盒测试是指利用查看代码功能和实现方式得到的信息来确定哪些要测试,哪些不要测试,如何开展测试。动态白盒测试的另一个常用名称是结构测试,因为软件测试员可以查看并使用代码的内部结构,从而设计和执行测试。

    Q12:什么是单元和集成测试?

         A:在底层进行的测试称为单元测试或者模块测试。等到单元经过测试,底层软件缺陷被找出来并修复之后,就集成在一起,对模块组进行集成测试。

    Q13:什么是配置测试?

         A:配置测试是指使用各种硬件来测试软件操作的过程。

    Q14:什么是软件兼容性测试?

         A:兼容性测试是指检查软件之间是否正确地交互和共享信息。交互可以在同时运行于一台计算机上,甚至可以相隔几千公里通过英特网的不同计算机上的两个程序之间进行。交互还可以简化为在软盘上保存数据,然后拿到其他房间的计算机上。

    Q15:什么向前兼容和向后兼容

         A:向后兼容是指可以使用软件的以前版本,向前兼容是指可以使用软件的未来版本。

    Q16:优秀的UI需要包含的常见要素?

         A:符合标准和规范、灵活性、正确性、直观性、舒适性、实用性和一致性。

    Q17:网页需要测试的基本部分?

         A:文字、图形、链接以及少量表单。

    Q18:什么是灰盒测试?

         A:灰盒测试把黑盒测试和白盒测试的界限打乱了。仍然把软件当做黑盒来测试,但是通过简单查看(不是完整查看,像白盒测试那样)软件内部工作机制作为补充。

    Q19:测试工具和自动化测试的主要属性?

         A:速度、效率、准确度和精确度、坚持不懈。

    Q20:什么是Beta测试?

         A:Beta测试是一种让他人验证和证实软件的常用方法。在该过程中,软件分发给选定的潜在客户群,他们在实际环境中使用软件。Beta测试一般在产品开发周期行将结束时进行,理想情况下只是准备向实际客户发布的软件。

    Q21:Bug的生命周期?

         A:在许多情况下,软件缺陷周期的复杂程度仅为:软件缺陷被打开,解决和关闭。然而在有些情况下,生命周期变得更复杂一些。链接:http://blog.csdn.net/guanning0109/article/details/38873839

        修订于2014/4/10  By野马菌

    爱上一匹野马,可是我家里没有草原o(╯□╰)o
  • 相关阅读:
    MarkDown语法总结
    HashMap
    [LeetCode] 102. Binary Tree Level Order Traversal(二叉树的中序遍历)
    [LeetCode] 287. Find the Duplicate Number(寻找重复数字)
    [LeetCode] 215. Kth Largest Element in an Array(数组里的第 k 大元素)
    [LeetCode] 39. Combination Sum(组合的和)
    [LeetCode] 49. Group Anagrams(分组相同字母异序词)
    [LeetCode] 48. Rotate Image(旋转图片)
    [LeetCode] 647. Palindromic Substrings(回文子串)
    [LeetCode] 238. Product of Array Except Self(数组除自身元素外的乘积)
  • 原文地址:https://www.cnblogs.com/yemajun/p/5369811.html
Copyright © 2011-2022 走看看