1、软件测试是做什么?
传统书籍上面的、市面上大部分书籍都是如下几个观点、这个观点在我从事软件测试之初便留在了我心里、直到最近才开始有所改变。
1. 测试是为了发现程序中的错误而执行程序的过程;
2. 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
3. 成功的测试是发现了至今为止尚未发现的错误的测试。
我们可以这样看待软件测试
1、1目标:软件测试是为了度量和提高被测软件的质量
1、2本质:围绕测试件进行设计、实施和维护的整个生命周期过程。
2、软件测试手段和方法
在实际工作中我们用到的软件测试方法或者是手段我们在工作中用到最多的可能是下面介绍中的前4个 、但是我今天的主要介绍缺陷分析和预防手段、也就是我们今天的主题“从发现缺陷到提高质量”
2、1测试设计方法(黑盒、白盒、灰盒)
2、2不同层次的测试(单元、集成、系统、验收)
2、3不同测试手段、基于脚本、探索式测试
2、4功能测试、性能测试、安全性测试、自动化测试、、、
2、5缺陷分析和预防手段
2、6将测试推动到上游
2、7关注和提高产品的可测试性
2、8把测试变成“所有人的测试”
3、对待缺陷的态度
说完软件测试手段和测试方法之后我们来看看对待缺陷态度、当然对于第一条大家是否认为很少出现、其实不然对于一些敏捷开发的公司来说、记录缺陷的实际也很宝贵、另外一些小公司测试流程不规范的时候也会大家私底下解决。
3、1偷懒型:私下和开发沟通并期待下一个版本解决问题
3、2踏实型:如实记录缺陷的操作方法、并力争用同样的方法发现更多缺陷
3、3思考型:分析缺陷原因、通过原因分析建立测试模型、通过测试模型发现更多缺陷
3、4一劳永逸型:找到缺陷根源、在设计阶段或者编码阶段通过规则避免这样的缺陷被引入
4、缺陷分析方法
下面我们进入重点、缺陷分析方法、目前我们常用的缺陷分析方法如下几条
4、1ODC(正交缺陷分类)
4、2RCA(根本原因分析)
4、3BUG Taxonomy(BUG分类)
4、4静态代码检查
PS:经验之谈:虚拟测试:产品还没有被提交到测试时或者是研发还没有完成代码时、可以找开发工程师了解开发工程师所设计的问题对其进行了解、并且问一些异常流程、看开发是怎么实现的。以便于将缺陷发现与编码阶段。
4、1ODC(正交缺陷分类)的概念
4、1、1提炼出缺陷分类的维度
4、1、2在每一个维度上对缺陷进行统计
4、1、3根据缺陷在每一个维度上的数量、密集度等分析质量短板
4、2探索缺陷根本原因的方法
4、2、1缺陷的表现是什么?
4、2、2引发缺陷的主要行为是什么?
4、2、3这些行为为什么会引发缺陷?
4、2、4缺陷是由于需求/设计/编码的哪一个步骤导致的?
4、2、5是什么设计导致了这个问题?
4、3Bug Taxonomy 方法
1、简单来说BUG Taxonomy就是给缺陷分类
2、为所有的缺陷确定类别并最终形成Risk List
3、Risk List的主要作用就是用于指导设计测试用例
4、4静态代码检查
4、4、1 编码规范
4、4、2使用工具检测代码(推动研发实现单元测试覆盖率)
4、4、3代码评审与代码走查
5、建立不同层次的自动化测试
在做完缺陷分析之后为了能够提高软件质量我们需要做什么?
5、1 UI测试
5、2 集成测试
5、3 单元测试
总结:自动化测试被执行的次数越多收益越大
5、4提高生产效率的自动化
5、4、1减少研发对单元自动化测试的投入成本
5、4、2自动化的最终目标即提高测试效率并提高项目组成员的参与性
6、产品的可测试性
产品的可测性对于产品的质量至关重要
6、1产品易于扩展?
6、2产品具有良好的体系结构
6、3产品易于被验证和被测试
总结:为了提高产品的质量需要从组织的观念开始改变
•全员测试
•测试不仅仅是为了发现缺陷、而是通过发现缺陷来提高质量
•测试需要尽早的、继续的运行
•将继续集成的自动化推向开发阶段
以上几条一个都不能少

这些文章对新手来说不错哦
软件测试这个行业挺不错的
这因为这些人存在,才会让我们使用的软件更加人性化、方便快捷、安全高效
其实每一个测试从业人员都希望自己测试的产品发布之后没有BUG、但是这是不可能的。所以我们只能从提高质量入手了
工作性质不一样而已、都是为了做贡献(说得好伟大)
支持一下。
刚接触网站维护工作,来博主博客学习一下。
还算不错的哈、要有一颗质量的心
不是每一个软件测试从业人员都有质量意识的
大部分人还处在缺陷发现阶段
是啊,,这样才会有进步啊
质量的提升、困难呀
需要团队的力量
就算测试也不代表就没有bug亚.!要经过千锤百炼饿
BUG常在、发现缺陷的心态不常在
真正有多少软件测试从业人员会用提高质量心态去做测试的工作、我见到的测试都是以缺陷为目标的
在我同行聊天的时候还发现有的公司考核的时候还以缺陷数量为指标之一来奖励发现BUG多的员工