网站开发的技术/做小程序要多少钱
不久前,参加Thoughtworks组织的一场自动化测试的分享,同事由于出差国外不能参加,特意嘱托我提问两个问题:
在互联网这个将“敏捷”与“持续集成”进行积极实践的环境里,“敏捷测试”与“自动化测试”成了一个大家经常探讨的话题,
那么自动化测试最佳的实行时间是在什么时候?如何推行最有效的自动化测试?
以下谨代表个人观点:
个人整理了一些测试最佳实践并参考查阅了一些测试理论的书籍,又综合了个人工作经历的一些经验,总结了以下几点:
1、测试人员尽可能早的进入产品或项目的相关工作(这里指的产品或项目,指的都是从头开始的),从产品的计划、需求调研、评审工作的开始测试人员就进行参与,这么做的目的有如下几点:a.让测试人员尽可能多的了解需求、了解业务,积极的提出问题,b.在下一步系统架构和接口设计之后,测试人员可以进行尽早设计系统的接口测试用例,c.还可以为下一步编码工作的单元测试做一个良好的铺垫,在后期设计单元测试用例的同时,懂代码的测试人员可以直接的检查开发人员的代码逻辑和业务逻辑是否符合要求,这也就实现了用最少成本“双人编程”。
2、综合一些实际情况考虑:根据一些实际调研,一般开发与测试的比例在1:6--1:10左右,能达到1:6的已经很不容易了,暂时不去讨论这个比例问题,因为这个需要根据项目的实际情况来看,个人看来:一些大型的互联网公司是不差钱的,所以他们会尽可能的在测试方面多投入或者说投入较高的,还有一些公司是不愿意在测试方面多投入但是又想多做测试的,还有一些就是尽可能少投入的,其实这些都可以调整,调整的依据是两个方面:一是确保公司对这个项目的重视和公司是真正的做测试,如果没有领导的支持,准确的说没有大领导的支持,测试工作是很难有效推进的,二是有效的安排测试人员,就是在项目的不同阶段安排不同测试人员,在测试不是很多是时候,可以使用半个人或者更少的测试人员,实现这一点的方法就是让一个测试人员去服务多个项目即可,当然这个多个也是有数量限制的,因为一个人的精力也是有限。
3、从第前2条提出来的一个疑问:作者一直提倡让测试人员尽可能早的接触产品和项目,这样能让测试人员充分了解项目,那么如何让一个人服务于多个测试项目?首先:明确一点,不是测试人员不从项目的开始就介入,测试人员就不能了解需求、不会测试。对于一个有经验的测试人员来说,快速的熟悉项目的需求并不是一件难事,如果说项目的各种逻辑真的是很复杂,项目经理也可以根据用户故事或者进行一些更为细致的安排来让这些协调过来的测试人员开展测试工作。一人服务于多个项目,这种事情在国内应该是屡见不鲜的。
4、如何安排人员也是一个如何花钱的问题:这种体会最深的就应该是外包公司,是先花钱还是后花钱还是超支还是项目失败,想必外包公司对这方面算的是最细的了。早期发现问题早解决问题,后面的压力就会小,不能早期的发现的问题,后面的团队压力就会像滚雪球一下越来越大。早期的测试投入看成一份成本的话,用这一份成本,来提早的发现问题的降低风险,后期才开始投入测试的话,也算是用一份成本,但是如果发现问题,开发人员就追踪、修改的成本是要远远大于初期的,项目的庞大和不稳定是让开发人员准确定位问题最大的困扰,还有测试人员做测试验证、回归测试、自动化脚本的修改这一切成本。
5、在项目的中后期如何做好自动化测试工作?在项目中期的时候,问题会逐渐积累,测试的东西也会越来越多,开发和维护的东西越来越多,维护是指测试人员测试出来的bug需要修复,但是又不能因为修复bug就停止项目开发工作。随着项目的推进,测试的效率保证是一个关键问题,这个时候自动化的推进和效率却成了一个矛盾的问题。原因有三:1.自动化代码需要编写和调试 2.自动化代码测试结果需要和手动测试结果进行比对 (自动化测试结果和手动测试结果不一致会有发生)3.自动化测试代码需要维护,尤其是在需求变更和设计变更的时候,手动测试只需要肉眼对比,而自动化测试可能会将代码进行较大改动。这三个问题大大降低了测试效率,这是手动测试必须成为项目的主导。解决这一问题的办法就是在项目测试集中的阶段调整手动和自动测试人员的比例,自动化人员测试的范围需要有一个合理的规划,必须定时的提交自动化测试代码,在手动测试完成后必须尽快的补充自动化测试代码,在完成测试工作的同时也自然的与手动测试的结果进行了比较,相当于进行了1次回归测试。也就说还是全部由手动测试人员进行第一轮全面覆盖的测试。
6、在“敏捷”开发过程中,自动化工程师先对哪一部分功能进行优先的用例实现:可以从以下几个方面进行考虑:1.优先考虑数据对比类型的功能,这种功能人工操作比较费眼力和时间 2.优先考虑已经测试出问题的功能,这样可以有效的对bug的功能进行回归检查 3.用户使用比较频繁的功能 4.项目优先级比较高,比较核心的功能
7.强调一点:手动测试和自动化测试对于项目来说同等重要,不存在自动化测试人员高级于手动测试人员。如果说一定要说哪个最重要的话,只能是看项目的不同阶段,在项目前中期的时候的时候,手动测试占据了核心地位,在后期的时候,自动化的全面覆盖保证了回归测试的有效进行。
8.总结:关于敏捷开发和敏捷测试的一点心得:敏捷现在已经被推向了一个高潮,何为敏捷?太多人有不同的见解,说到最后与敏捷最分不开的一词就应该是“实践”,敏捷是实践出来的,不是效仿出来的,现在太多的公司和团队在盲目的追求敏捷,拿scrum来说,有多少公司在做的只是scrum最最表象的一些东西,安排站会,制定sprint,总结会等等,但是这些真的给你的团队带来了改善了吗?想必答案只有他们自己清楚。我心中的敏捷:敏捷---敏-结,敏就是敏捷,简单的说就是要一个高效率,结:是指项目团队的协作和内部团结,这一点非常重要。看那些成功实施敏捷的团队和诸多的最佳实践团队他们都是团结一心的,整个项目团队都有一个共同的目标和追求,而不是每天项目经理在驱使着大家在前进,每个人都积极上进学习,遇到不懂的问题去总结、去学习,去突破,再去分享,而不是说,“这个问题太难了,这个技术太难了,这个。。。我可做不了”,如果每个成员都采用这种排斥的心里,那么这个团队就永远都敏捷不起来,还有就是在需要协作的时候,两个项目组不要互相“踢皮球”,而是要勇于承担责任,最普遍的现象就是项目出现了问题,然后大家在会上开始掐架。这时候有人会问,自己出来担责任不是傻吗?其实不然,一个明智的老板当然看的懂到底是谁的责任,是否真正的需要人来承担责任。如果这都做不到,证明这个老板也就。。。再谈实践,笔者看来,很难有一个很细致的又可以公用的敏捷方法,即使现在最流行的scrum,也是一个非常抽象的概念,所以才有诸多屡实施又不见成效的团队,最好的推进敏捷的方法就是实践,只有实践才能发现问题,才能解决问题,最好找到一个适合自己的敏捷方法。
最后:【可能给你带来帮助的教程】
这一些资料,对做【软件测试】的朋友而言应该是较为完整了,这类学习资料也陪伴我走过了最艰难的路程,希望也可以帮助到你!万事要尽早,尤其是技术行业,一定要提升技术功底。
以上软件测试资料领取小伙伴可以通过点击下面的小卡片
相关文章:

从业6年,对敏捷和自动化测试的一点心得
不久前,参加Thoughtworks组织的一场自动化测试的分享,同事由于出差国外不能参加,特意嘱托我提问两个问题: 在互联网这个将“敏捷”与“持续集成”进行积极实践的环境里,“敏捷测试”与“自动化测试”成了一个大家经常…...

ThreeJS 之界面控制
文章目录参考描述界面自适应问题resize 事件修改画布大小修改视锥体的宽高比全屏显示dblclick 事件检测全屏显示状态进入全屏显示状态退出全屏显示状态尾声参考 项目描述ThreeJS官方文档哔哩哔哩老陈打码搜索引擎BingMDN 文档document.mozFullScreenElementMDN 文档Element.re…...

【查找算法】解析学习四大常用的计算机查找算法 | C++
第二十二章 四大查找算法 目录 第二十二章 四大查找算法 ●前言 ●查找算法 ●一、顺序查找法 1.什么是顺序查找法? 2.案例实现 ●二、二分查找法 1.什么是二分查找法? 2.案例实现 ●三、插值查找法 1.什么是插值查找法? 2…...

Android实例仿真之一
目录 零 开局三问 第一问:为什么要有这一章? 第二问:Android算不算是一个嵌入式系统? 第三问:用什么方法来分析Android这个大系统? 一 讨论Android的流行 二 深入浅出Android 零 开局三问 在正式开始…...

软考高级-信息系统管理师之重要工具和技术的口语化表示(最新版)
重要工具和技术的口语化表示 本文主要介绍重要工具和技术的口语化解释 1、 模板、表格和标准:就是用之前的项目的模版、表格、标准,结合本项目进行了修改,在编制一些计划、方案的时候就可以采用这个工具和技术。可以拿来就用的,节约时间、提高质量的。 2、 产品分析:通过一…...

基于springboot+vue的个人健康信息服务平台
基于springbootvue的个人健康信息服务平台 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背…...

SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发环境、测试环境、生产环境】
SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发环境、测试环境、生产环境】 目录SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发环境、测试环境、生产环境】一、创建一个SpringBoot项目二、修改pom.xml中SpringBoot的版本三、配置文件3.1 application-dev.ym…...

测试2:编写测试用例的方法
2.编写测试用例的方法 7种 测试常用的方法:code review 代码静态分析、CI/CD CI–持续集成–开发成员经常集成它们的工作,尽快发现集成错误 CD–持续部署–将集成后的代码部署到更贴近真实运行的环境 2.1 测试用例的描述: 用例编号 用例…...

docker安装配置镜像加速器-拉取创建Mysql容器示例
List item docker 常见命令大全docker安装docker拉取创建Mysql容器docker 安装 1、安装链接:https://blog.csdn.net/BThinker/article/details/123358697 ; 2、安装完成需要配置docker镜像加速器 3、docker 镜像加速器推荐使用阿里云的: 编…...

WSL1和WSL2相互转换以及安装路径迁移相关问题
目录 1.从WSL 1如何切换到WSL 2? 2.从WSL 2如何切换回WSL 1? 3.WSL1转换为WSL2后,WSL1里面安装的程序和库需要重装吗? 4.WSL2转换为WSL1后,WSL2里面安装的程序和库需要重装吗? 5.如何备份WSL2…...

系统分析*
文章目录系统分析分析的任务结构化方法OO的方法的任务常用的详细调查方法有哪些?系统分析的建模TFD业务流程图DFDDD数据流图用例模型(重点用例图)用例图的内容:用例之间的关系:对象模型(类图)时…...

【redis】持久化:RDB和AOF
redis的持久化指将数据写入可靠内存中,如ssd。Redis提供了4种持久化策略 RDB:Redis Database,周期性的将某个时间点的数据集快照持久化AOF:Append Only File,每次redis服务接收到写操作(修改内存的操作),都…...

2023Python接口自动化测试实战教程,附视频实战讲解
这两天一直在找直接用python做接口自动化的方法,在网上也搜了一些博客参考,今天自己动手试了一下。 一、整体结构 上图是项目的目录结构,下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类,比如数据库sql…...

【原创】java+swing+sqlserver药品管理系统设计与实现
之前数据库都是用的mysql,今天我们使用sqlserver在配合swing来开发一个药品管理系统。方便医院工作人员进行药品的管理,基础功能基本都是一些增删改查操作。 功能分析: 药品管理系统主要提供给管理员和员工使用,功能如下&#x…...

软考高级信息系统项目管理师系列之二十七:信息文档管理与配置管理
软考高级信息系统项目管理师系列之二十七:信息文档管理与配置管理 一、信息文档管理与配置管理内容整理二、信息系统文档管理1.信息系统文档概念2.软件文档分类与质量等级三、配置管理1.配置管理2.典型配置项3.配置项4.配置项操作权限5.配置项状态6.配置项版本号7.配置项版本管…...

软考高级-信息系统管理师之项目管理基础(最新版)
项目管理基础 项目管理特点战略管理三个过程IT项目特点项目管理概念项目管理特点软技能PRINCE2的四个要素组织结构职能型组织优缺点职能型组织优点同时,职能型组织也存在着如下缺点:项目型组织优缺点项目型组织优点项目型组织也存在着如下缺点:矩阵型组织优缺点矩阵型组织的优…...

leetcode240+Search a 2D Matrix II+从右上角开始
链接 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {if(matrix.size()0 || matrix[0].size()0) return false;int i0, jmatrix[0].size()-1; //从右上角开始while (i<matrix.size()&&j>0) {int x mat…...

0xL4ugh 2023
这回跟着个队伍跑,不过还是2X以后的成绩,前边太卷了。自己会的部分,有些是别人已经提交了的。记录一下。Cryptocrypto 1给了一些数据,像这样就没有别的了ct [0, 1, 1, 2, 5, 10, 20, 40, 79, 159, 317, 635, 1269, 2538, 5077, 1…...

Mybatis(4)之跟着老杜做一个简单的银行转账会话
这是个MVC项目,我不一定可以完整的实现这个项目,但力求把这个复现出来,尽量的复现细节。 第一步:创建数据库 表 创建表如下: 我们使用 int 是为了方便 然后采用 demcial,精确度较高 添加两个用户 然后…...

VBA提高篇_ 22 事件处理
文章目录1.事件编程2.常用工作簿事件名称与对应处理过程名称示例3. 事件编程的步骤4.工作簿事件4.1 Open4.2 BeforeClose4.3 NewSheet5.工作表事件6.变量和过程函数的作用域1.事件编程 写在事件发生地(对应工作簿或工作表) 2.常用工作簿事…...

【蓝桥杯集训·周赛】AcWing 第91场周赛
文章目录第一题 AcWing 4861. 构造数列一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第二题 AcWing 4862. 浇花一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第三题 AcWing 4861. 构造数列一、题目1、原题…...

【人工智能AI】三、NoSQL 实战《NoSQL 企业级基础入门与进阶实战》
帮我写一篇介绍NoSQL的技术文章,文章标题是《NoSQL 实战》,不少于3000字。这篇文章的目录是 3.NoSQL 实战 3.1 MongoDB 入门 3.1.1 MongoDB 基本概念 3.1.2 MongoDB 安装与配置 3.1.3 MongoDB 数据库操作 3.2 Redis 入门 3.2.1 Redis 基本概念 3.2.2 Red…...

platform 总线
驱动的分离与分层思想 分离:硬件信息分离; 在编写硬件驱动的时候,需要操作许多硬件寄存器。比如gpio 驱动,你需要知道gpio控制器 寄存器的地址,你想要哪个gpio输出?或是输入? 这些操作最终都是靠设置寄存…...

2023第10届生物发酵展3月30-4月1号山东济南开展,参观路线来了
2023第10届生物发酵展3月30-4月1号山东济南开展,参观路线来了!展会时间:2023年3月30日-4月1日展馆地址:山东国际会展中心(济南市槐荫区日照路1号)展馆:4号馆、5号馆BIO CHINA生物发酵展…...

RK356x U-Boot研究所(命令篇)3.6 fdt命令的用法
平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、fdt命令的配置二、fdt命令的定义三、fdt命令的用法3.1 fdt list3.2 fdt rm3.3 fdt set一、fdt命令的配置 .config配置文件需要有以下配置: rk3568_defconfig默认已使能。 二、fdt命令的定义 usb命令定义在cm…...

2023年社工工资多少钱一月 能领多少补贴
2023年社会工作者人员的待遇还算可以,每月的全额工资一共5000多,扣完五险一金以后每月的到手工资一共4000多,不同地区薪资也是不同的,一线城市会在7千元以上,还可以领取几百到几千元不等的补贴。 12023年社工工资多少钱…...

面试攻略,Java 基础面试 100 问(十一)
抽象类(abstract class)和接口(interface)有什么异同? 抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现ÿ…...

接口测试(Fiddler工具)
目录 1.Fiddler是什么? 2.Fiddler的原理 3.Fiddler安装 4.Fiddler界面 4.1.常用工具 4.2 会话列表 4.3 状态栏 4.4 内容显示区 1.Fiddler是什么? Fiddler是客户端与服务器之间的HTTP代理,是当前最常用的HTTP协议抓包工具。 主要功能&a…...

Debian/Ubuntu 安装和使用 perf 调试工具
为操作系统安装基本依赖环境:apt-get update -y apt-get upgrade -y apt-get install lrzsz zip unzip libkrb5-dev libicu-dev screen iftop openssl libssl-dev libunwind8 iftop net-tools gcc gdb cmake curl wget -y apt-get install gcc gdb cmake python-dev…...

【Python语言基础】——Python NumPy 数组连接
Python语言基础——Python NumPy 数组连接 文章目录 Python语言基础——Python NumPy 数组连接一、Python NumPy 数组连接一、Python NumPy 数组连接 连接 NumPy 数组 连接意味着将两个或多个数组的内容放在单个数组中。 在 SQL 中,我们基于键来连接表,而在 NumPy 中,我们按…...