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

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

软件测试 -- 入门 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 软件测试思想相关推荐

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

    盖天下之事,不难于立法,而难于法之必行:不难于听言,而难于言之必效.-- 明 · 张居正     释译:天下大事,困难的不在于要制定什么法律,而在于立了法就一定要执行:重要的不在于说什么,而在于说之后 ...

  2. 软件测试 -- 进阶 7 软件测试环境构建 与 测试数据准备

    工欲善其事,必先利其器.-- <论语·卫灵公>     释译:工匠想要工作做好,一定要先让工具锋利.比喻要做好一件事,准备工作非常重要. 1. 为什么要构建测试环境.准备测试数据 提前准备 ...

  3. 软件测试进阶之路_心得体会

    PS:由于读这本书的时候感触很深,因此想对自己这段时间的工作做一个小小的总结以及在自己经常看到的地方立下FLAG来督促自己的持续学习与进步(向测试开发工程师努力) 本文中引用了一部分<软件测试进 ...

  4. 软件测试 -- 进阶 11 手工测试与自动化测试

    楚兰生于深林,不以无人而不芳:君子修道立德,不以穷困而变节.<论语.子路>     释译:楚兰生在深山老林中,不会因为没有人欣赏而不散发自身的芳香与美丽:君子修身立德,不会因为穷困而变化. ...

  5. linux操作系统测试面试题,软件测试进阶面试题之Linux基础

    随着移动互联网的发展,软件测试求职者越来越多,针对根据市场需求,本文整理了一些关于Linux基础的软件测试进阶面试题,希望能够帮助学生和软件测试程序员提升面试能力. 1.如何查看 CPU 信息? /p ...

  6. 软件测试进阶之路 - 目录 (持续更新)

    1. 软件测试基础 1-1 计算机基础 1-1.1 近代计算机的发展史 1-1.2 计算机分代 1-1.3 计算机分类 1-1.4 计算机的组成 1-1.5 操作系统基础 1-1.6 Windows ...

  7. 深圳软件测试学习:软件测试这个职业能干多久?

    深圳软件测试学习:软件测试这个职业能干多久? 关于软件测试行业发展前景问题,是很多准备入行,或者刚入行的小白都非常关注的一个问题.毕竟这与自己未来的收入息息相关,甚至关乎自己未来的职业发展方向. 而当 ...

  8. 测试工程师在软件测试阶段依据,北京软件测试工程师建立软件测试管理与评判体系...

    北京软件测试工程师聂会敬,软件测试过程模型或软件测试生命周期模型为我们提供了软件测试的流程和方法,为测试过程管理提供了依据.由于测试过程管理牵涉的范围非常广泛,包括过程定义.人力资源管理.风险管理等, ...

  9. 软件测试 | 期末复习——软件测试综述

    [软件缺陷概述] 1 软件缺陷是什么 1.1 软件出错机理 软件出错机理可描述为: (1)软件错误(error) 是指软件生存期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生. (2)软件 ...

最新文章

  1. codeforces654题解_CodeForces - 886C 解题思路
  2. 微型计算机48MHz辐射超,2012职称计算机考试题理论题库
  3. Boost::context模块callcc的分段的测试程序
  4. mmap直接操作底层,相当于驱动
  5. 历届试题 分考场(DFS,染色问题)
  6. hello world_建立无服务器的“ Hello World”功能
  7. html中所有的标签,HTML中的所有标签及其做用!
  8. 语言线性拟合线对称_文科生都能看懂的机器学习教程:梯度下降、线性回归、逻辑回归...
  9. RiPro小八子主题V1.5.5美化版+优惠码折扣+工单系统+任务系统
  10. Struts2项目搭建
  11. golang goroutine协程运行机制及使用详解
  12. php exec执行多条命令,小技巧:在PHP中调用多条shell指令
  13. dlib疲劳检测_使用OpenCv和Dlib进行打哈欠检测
  14. [Flex]打造属于自己的Apollo(二)
  15. word毕业论文页眉设置自动添加章节标题并左右对齐
  16. Excel·VBA工作簿拆分所有工作表单独保存
  17. 深度:阿里云分布式关系型数据库DRDS解析
  18. @支付宝@微信支付,世界第一要来和你们抢生意了!
  19. win下连编socket时[Linker error] undefined reference to XXX
  20. 论文:Pyramid Vision Transformer

热门文章

  1. i.MX6UL -- 网络性能测试 iperf+jperf
  2. 2018年数学建模国赛回顾
  3. html5 围住神经猫,围住神经猫4步攻略 玩法技巧详解
  4. 使用fprobe生成Netflow
  5. 微信小程序CSS Flexbox(弹性盒子)布局模块
  6. STATA学习笔记:egen函数
  7. Allegro PCB快速查找并定位元器件
  8. 使用shell脚本监控程序的运行和停止
  9. dg建立linux分区,Linux平台 Oracle 11g DG测试环境快速搭建参考
  10. Dmc雷赛板卡仿写(七):日志管理