软件测试 -- 进阶 1 软件测试思想

Posted Rolei_zl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试 -- 进阶 1 软件测试思想相关的知识,希望对你有一定的参考价值。

    思维决定行为,行为决定结果。 -- 培根《习惯论》

    软件测试 -- 入门,阐述了软件测试是什么以及所关联的基础知识,让初识者对软件测试有一个初步认知、形成软件测试基础知识框架。   

软件测试 -- 入门 1 软件测试是什么?

认识软件测试:目标、概念、活动、名词、历史

软件测试 -- 入门 2 软件生命周期与测试软件工程与软件测试,过程、流程
软件测试 -- 入门 3 软件测试与质量软件测试在软件开发过程的作用,与质量的关系,软件测试与质量管理体系
软件测试 -- 入门 4 软件测试原则尽可能早的测试;不放过任何一个疑问
软件测试 -- 入门 5 软件测试方法白黑灰,静态、动态测试,审查、走查、同行评审
软件测试 -- 入门 6 软件测试设计方法边界值、等价类、探索式测试,ad-hoc
软件测试 -- 入门 7 软件测试外围知识与软件测试相关的知识体系:软件工程、代码开发、操作系统、网络、数据库

    软件测试 -- 进阶,希望在软件测试入门基础之上,对软件测试进行更深层次的思考,对软件测试基础知识进行拓展,促进软件测试人员能够更深入的了解如何执行软件测试工作。

    从软件测试入门理论进阶到实际的软件执行,从想到到得到必须要做到,这是一个过程也是一种态度。
    态度决定思维方式,思维决定行动,用什么样的态度、思考方式、思维方法对待一件事、一份工作,结果会大相径庭。

    软件测试有别于软件编码过程,如果软件编码是“立”,软件测试就是“废”,尽可能在软件交付正式运行前的破坏软件的正常执行,进而修复和完善。
    软件测试人员扮演不同角色:用户、客户、需求、开发。。。。。。,被软件编码人员称之为“变态”和“非正常思维”。
    “挑毛病”、“要完美”,是软件测试人员的职业病。

    如何认识、思考和执行软件测试,需要有一定的软件测试思想(思维方式):如何看待软件测试?通过什么样的角度、方式、方法看待和执行软件测试?

  • BUG敏感度
  • 对软件测试的认识和态度
  • 有序、系统化
  • ......(待)

>> BUG敏感度

    从一个小故事开始,微软招聘一位家庭主妇做软件测试人员(可以使用关键字“微软 家庭主妇 软件测试”进行搜索),简述如下:
    微软招聘过一位家庭主妇来做微软的测试人员!这名家庭主妇已经四十多岁了,是一位海军军官的妻子,三位孩子的母亲。她只读到高中毕业,连大专也没有上(在美国没有上过大专的人是很少的)。她使用计算机的水平也非常初级,而且还是跟着自己的女儿学的。后来她在家闲得无聊,就决定出来找一个工作,而且居然跑到微软来应聘了。 她的计算机水平很有限,只能达到一个一般用户的标准。但是,她的思维很怪异,怪点子很多,能够很快地发现一些问题。现场试用IE,结果她当场就找出了好几个Bug。她完全是凭着一种感觉来找Bug的。
    雇用她时,老板睁大了双眼:“Are you crazy? You want to hire a housewife!(你疯了吗?你居然想雇用一个家庭主妇!)” 。开始阶段,她的确存在许多问题,她的感知力很强,能够很快的发现Bug,但其他素质却无法另人满意:没有在职业环境中待过,做事没有制度感,不能很好的遵守行业规范,没有职业精神,经常逞能,常会走到别人后面得意地告诉别人:“I just found a bug!(我刚刚找到一个Bug!)”,好像别人都发现不了Bug。但是,她努力改正了这些毛病,并非常认真敬业。她学得非常快,三个月以后,就已经非常专业了。

    关于这则小故事的关键词:家庭主妇、非常初级的计算机能力、感知力很强、职业素质低、努力敬业、学习、三个月、专业。
    一名能力有限、缺少职业素质的家庭主妇如何成为了微软的软件测试测试人员,除了自身后来的适应、改正、努力、学习,以及机缘外,一点很重要:感知力很强
    这种招聘似乎有些随便和不负责任,但从另一方面却说明一种职业、一个岗位在一定程度上需要一定的“天份”,这种“天份”可能与生俱来,也可以由后天的练习所得:比如一个爱挑毛病的人可能更容易发现问题(当然很可能是鸡蛋里面挑骨头),而且能说得头头是道。    

    这里我将“感知力”理解为“敏感度”,一种特有的思维方式(不可描述和言传),这种思维方式使得个人某个方面具有超出常人的感知力、敏感度。
    对于软件测试,这种“感知力”是对BUG的“敏感度”,软件测试人员的基本思维方式之一:如何快速的识别和发现被测对象的BUG。
    BUG敏感度,满足软件测试的外在目标表现:尽可能早、尽可能多的发现BUG。是难得的软件测试测试思维方式,需要不断的训练和强化。

>> 对软件测试的认识和态度

    软件测试是什么?不同的人有不同的看法

  • 测试?是什么有关系吗?只要软件能用就行
  • 给软件挑毛病,没事找事
  • 敲敲键盘、点点鼠标,指指点点的工作
  • 软件开发的附属,有时间多做点,没时间少做点,可有可无
  • 软件交付出了问题,用来推卸责任、搪塞客户:我们的测试没做好
  • ......

    以上是对软件测试的负面看法,归其一点:不重要。
    在这种看法下执行软件测试,其执行态度、思维方式会是怎样:即然不重要,那就随便。

    无需多辩、无需解释,各自理解、认真对待。
    端正思想、摆正态度,用正确的思维方式看待软件测试:软件测试外在目标是尽可能早、尽可能多的发现BUG,内在核心目标是质量:通过BUG的发现、修复、验证提升交付软件质量。
    软件测试入门容易(家庭主妇也可以做测试)、深入不易(能否全面评价软件质量)。

>> 有序、系统化

      实例思考:如何对 Office Word进行测试?如何入手?需要做哪些测试、如何做?

    - 如何入手?是“序”的问题:有序才可能不乱,有序才可能全面,需要一定的思维方式和处理方法。
      > Office Word为什么而实现?主要功能、核心功能是什么?
      > Office Word界面分为几部分?专业的名称是什么?
      > 从上到下还是从左到右分解界面,还是看到哪算哪?
      > 先做哪些测试,再做哪些测试?

    - 需要做哪些测试、如何做?是系统化的问题:功能、系统、性能、安全。。。。。。,哪些是重点,如何安排,如何计划,如何保证和评估覆盖。
      > 如何计划和管理管理测试?
      > 环境是什么?要做哪些测试?
      > 如何拆解和覆盖需求?
      > 如何总结、分析测试结果,评估测试执行?
      > 如何从测试角度评估软件质量?

    有序、系统化,需要软件工程理论知识支撑,需要软件测试实践经验,需要在实际的软件测试执行中不断总结。

    BUG敏感度,难能可贵,与生俱来最好,从事软件测试行业后不断的训练和实践性不可少;
    对软件测试的认识和态度,摆正思想、端正态度,正确认知软件测试行业,是谋生的手段,同时也是一项专业的技能;
    有序、系统化,软件测试不是随随便便的工作,有一定的理论基础、方法、计划和执行方式(套路)。

    思维决定行为,行为决定结果,具备必要的软件测试思想(思维方式)是从事软件测试行业、成为软件测试人员必不可少条件。

以上是关于软件测试 -- 进阶 1 软件测试思想的主要内容,如果未能解决你的问题,请参考以下文章

软件测试 -- 进阶 5 软件测试用例

软件测试 -- 进阶 5 软件测试用例

第七单元《中国传统文化与管理》单元测试 mooc

Java进阶专题: 软件架构设计原则

软件测试 -- 进阶 8 软件测试流程和过程

软件测试 -- 进阶 8 软件测试流程和过程