手动測试和自己主动化測试永远是一个非常热门的话题。自己主动化也一直被人们捧上神坛。自己主动化測试和手动測试从技术上来说本质事实上都是測试用例设计。仅仅只是终于形式一个是人工运行,一个是代码运行罢了。这两者就如白盒測试和黑盒測试一样在项目中都是不可或缺的。

我们来看两个场景。

案例一:某企业招聘软件測试project师,并组建了各自分工明白的自己主动化和手动測试部门,在项目中两个測试团队分工明白并互相分享经验。终于项目产品的质量得到了良好的保证。

案例二:小陈同学想应聘软件測试project师的岗位。投了非常多简历之后也得到了若干面试的机会,但在面试过程中却频频由于自己之前都是手动測试而导致失败甚至被别人看不起。经过了一段时间之后,小陈同学也心灰意冷,也開始认为手动測试就是没有价值的活动。

上面列举的场景在行业中很常见。那么我们应该怎样正确的在项目的測试活动中实施手动測试或自己主动化測试呢?主要有下面几个因素决定:

1.      回归和探索

我们在项目的測试过程中,回归測试是不可缺少的一个环节,它可以使得我们的产品尽量不会出现反复的缺陷。比方測试输入法产品,不管功能和设计怎样变化。其主要的字符输入功能总是不会改变的。

在长期的项目迭代过程中,測试人员多少都会由于每次验证相同的问题而掉以轻心,同一时候也浪费了project师的时间在反复的工作上。

往往这类每一个迭代版本号都须要验证的重要核心的功能就被贴上了自己主动化測试的标签。自己主动化測试既可以节省回归的成本也可以增加持续集成的平台。而每次版本号新增的功能的单独模块和集成測试很多其它的须要手动的探索性測试。手动測试很多其它的须要基于測试人员对于产品的了解和经验而进行的,一个经验丰富的手动測试project师可以在短时间内发现非常多的功能上的缺陷。这绝对是自己主动化測试无法达到的高度。

2.      压力測试

測试活动的目的决定了选择手动測试还是自己主动化測试。

就比方压力測试。本身測试的目的在于查看软件功能在被长时间使用之后是否会有内存泄漏、溢出等问题。这类測试活动假设手动来做的话。或许一个測试project师一天八小时得所有放在这个上面。还未必可以达到測试得效果。

所以这类測试就贴上了自己主动化測试得标签。仅仅要有针对性得编写脚本去不停得使用产品。在自己主动化測试得过程中可监控功能的异常情况从而获取有效的信息。在这类測试活动中,手动測试是无法正常支持的。

3.场景模拟測试

在測试活动中有非常多环境是我们通过手动測试无法覆盖到的。

包含方法的各种类型的參数、各种边界的模拟等,这类測试活动就更适合用自己主动化来做。

在測试过程中,使用技术手段将各种測试环境、配置等进行模拟之后从而弥补手动測试在有限的測试环境中遗漏的測试点。

SWTBOK測试实践系列(5) -- 项目中使用手动和自己主动化的策略的更多相关文章

  1. SWTBOK測试实践系列(1) -- 測试在项眼下期的评审投入划算吗?

    測试策略:静态測试还是动态測试? [对话场景] 成功公布某个软件版本号之后,项目团队召开了项目的经验教训总结大会.在会议期间,项目经理小项和測试经理小測进行了例如以下的对话: 小项:"小測, ...

  2. SWTBOK測试实践系列(4) -- 软件測试技术的黑白之道

    白盒測试和黑盒測试往往是项目中最受争议的两种測试类型,每一个人偏爱各不同.现实生活中行业人员大多喜欢白盒測试而忽视黑盒測试,那么项目中又应该怎样平衡这两类測试呢?我们先来看两个案例. 案例一: 某移动 ...

  3. atitit.jndi的架构与原理以及资源配置and单元測试实践

    atitit.jndi的架构与原理以及资源配置and单元測试实践 1. jndi架构 1 2. jndi实现原理 3 3. jndi资源配置 3 3.1. resin  <database> ...

  4. ES6系列之项目中常用的新特性

    ES6系列之项目中常用的新特性 ES6常用特性 平时项目开发中灵活运用ES6+语法可以让开发者减少很多开发时间,提高工作效率.ES6版本提供了很多新的特性,接下来我列举项目中常用的ES6+的特性: l ...

  5. Android开发和測试实践 - 接入友盟统计

    这两年一直在做无线的測试,兴许还会继续去做无线的測试,可是之前由于时间的原因一直都没有非常细致的了解到代码层面. 最近抽出时间自己做了些app的开发,决定假设想把移动的測试做好做深入.有一定的app开 ...

  6. .net Dapper 实践系列(1) ---项目搭建(Layui+Ajax+Dapper+MySQL)

    目录 写在前面 一.前期准备 1.在MySQL创建数据库 2.创建项目 3.安装程序包 4.添加插件 5.添加DbOption文件夹 6.添加实体类 写在前面 学习并实践使用Dapper 这个小型的O ...

  7. CJCMS系列---说说项目中的缓存实现(1)

    缓存者,临时文件交换区也.主要就是方便查找,提高查找效率(效率在于读内存速度比读硬盘快).  大多数的项目的缓存都是通过设定过期时间来做的,可是我对于这样的替换策略不以为然,而且会导致混乱. 有人说: ...

  8. 关于vue项目中,手动定义的scrollTop的值

    在项目中,有时需要控制scrollTop的值,比如有一个列表页,点击任意一个列表可以进入其详情页,这时如果你要返回的话, 肯定是希望还回到刚刚点击的地方,我当时的解决办法是,本地存下点击那一刻的scr ...

  9. 【2018.05.09 Python学习及实践】个人项目中使用的Python库备忘-持续更新

    科研中无论是使用C/C++.Python.Matlab,如果能找到合适的库可谓是事半功倍: 有时候忙活半天才发现本身就有成熟的库可用,自己实现的在功能.性能.安全性上都远远不及,虽然锻炼了能力,但存在 ...

随机推荐

  1. mongodb系统出错。 发生系统错误 1067。 进程意外终止。

    MongoDB安装目录\data\将此文件夹下的mongod.lock删除 mongod.exe --config E:\ruanjian\MongoDB\mongod.cfg --remove mo ...

  2. concurrent.futures模块(进程池&线程池)

    1.线程池的概念 由于python中的GIL导致每个进程一次只能运行一个线程,在I/O密集型的操作中可以开启多线程,但是在使用多线程处理任务时候,不是线程越多越好,因为在线程切换的时候,需要切换上下文 ...

  3. 编译TensorFlow CPU指令集优化版

    编译TensorFlow CPU指令集优化版 如题,CPU指令集优化版,说的是针对某种特定的CPU型号进行过优化的版本.通常官方给的版本是没有针对特定CPU进行过优化的,有网友称,优化过的版本相比优化 ...

  4. 相机拍照功能之权限和Android版本问题

    代码改变世界 相机拍照功能之权限和Android版本问题 对于Android 6.0之前,想要使用系统的相机进行拍照,那么只要在AndroidManifedt.xml中进行添加相应的权限,主要是两个: ...

  5. JDBC 学习笔记(八)—— ResultSet

    JDBC 使用 ResultSet 来封装 SQL 的查询结果,可以将 ResultSet 类比为数据库表的查询结果. 它拥有如下两个性质: 可滚动. 可更新. 这两个性质,是在创建 Statemen ...

  6. BZOJ3555 [Ctsc2014]企鹅QQ 【hash】

    题目 PenguinQQ是中国最大.最具影响力的SNS(Social Networking Services)网站,以实名制为基础,为用户提供日志.群.即时通讯.相册.集市等丰富强大的互联网功能体验, ...

  7. 刷题总结——湫湫系列故事——设计风景线(hdu4514 并差集判环+树的直径)

    题目:   随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好.   现在已经勘探 ...

  8. bzoj 1758 [Wc2010]重建计划 分数规划+树分治单调队列check

    [Wc2010]重建计划 Time Limit: 40 Sec  Memory Limit: 162 MBSubmit: 4345  Solved: 1054[Submit][Status][Disc ...

  9. testng依赖

    Testng提供了两种依赖实现 1.强制依赖:某个测试用例之前需要执行的依赖链中如果有一个失败,那么接下来所有的测试都不会被执行 2.顺序依赖(软依赖):顺序依赖的用处更多是用来检测一个测试链是否按照 ...

  10. APM-应用性能管理

    APM(应用性能管理) 在信息科学和系统控制领域,APM致力于监控和管理应用软件性能和可用性.通过监测和诊断复杂应用程序的性能问题,来保证软件应用程序的良好运行(预期的服务),APM已经商用 基本定义 ...