敏捷开发

软件测试的艺术(总结)

偶尔善良 提交于 2021-01-31 09:20:06
以下部分为软件测试艺术的总结   本书主要分为以下几个部分:1.测试经济和心理学及测试原则;2.代码评审;3.测试基础部分;4.开发中的调试和测试思想;5.软件测试最新应用;   1、测试经济和心理学及测试原则   软件测试虽然是一种技术性工作,不可否认,他也同人类的心理息息相关。如果你在认知上确定:软件测试是为了发现错误而执行程序的过程。那么,首先你在设计测试用例时,会有意识的去设计一些能够发现问题的测试用例;然后,在执行测试计划时,也会将发现错误当做自己测试的方向和目标;当然,你也会将发现软件问题,提升软件质量作为自己测试程序的价值体现。   软件测试永远都不可能发现所有的问题,为了使用最小的资源和成本发现尽可能多的问题,就需要建立某些策略应对经济学挑战。包括黑盒测试、白盒测试、各种高级别的测试方法。   因为软件测试中大多数都是心理学的问题,所以作者总结了软件测试的十个指导原则,用于知道软件开发和软件测试工作。这些原则在工作中都应该牢记于心,不论是做开发还是做测试,根据这些原则不仅可以指导自己更好的测试,同时也可以在开发上给出启示。   详细可参考:《软件测试的艺术(读书笔记1)》( https://www.cnblogs.com/chengabc/p/11215552.html )   2、代码评审   代码评审包括:代码检查、代码走查、桌面检查和同行评审

软件测试总结

本小妞迷上赌 提交于 2021-01-31 09:06:15
一.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设计、编码、测试、稳定、部署、维护等阶段。 常见的软件开发模型有瀑布模型、迭代开发、螺旋开发和敏捷开发。 1.瀑布模型 瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。瀑布式的主要有以下问题: 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量; 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险; 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。 因此,瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。 迭代开发模型 迭代式开发是一种与传统的瀑布式开发相反的软件开发过程,具有更高的成功率和生产率。在迭代开发中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,逐步逐步的完成,故为迭代。每一次迭代都包括需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。迭代开发具有以下优点: 降低风险

Kubernetes对阵Serverless,未来究竟是谁的?

蹲街弑〆低调 提交于 2021-01-30 06:04:06
导读: 近两年里,kubernetes的风头之盛可谓一时无两,在谷歌和大量开源社区的推动下,k8s技术不仅把容器的大规模应用彻底激活,提升了诸多编程语言的适用环境,更重要的是他还让容器的运维难度变得更低,开发运维一体化进程得到了重大的推进。 但是,K8s真的就是未来了吗?只怕新兴起来的Serverless技术是不服的。虽然Serverless与k8s两种技术并不存在直接的交锋,但从热度上来讲,前者却在逐步的逼近后者。FaaS的理念从根源上在解决运维难题,将开发人员的效率最大化,彻底摆脱服务器、存储等底层设施的牵制,解放出开发者,让他们在架构设计时拥有更大的操作空间,这种理念也一样的划时代的。 那么,k8s对阵Serverless,究竟谁更能代表未来的走向呢?或许你们已经听过了太多的k8s的消息,见过了太多的k8s的演讲,那么我们这回就来探讨一下新的挑战者Serverless吧! 8月18日北京,本期云+社区技术沙龙就将会聚焦“Serverless架构开发与SCF部署实践”,深度探讨Serverless架构能在未来掀起怎样的波澜。本次沙龙将会从Serverless架构应用、小程序云开发、API网关以及对象存储等多个领域着手,全面揭示Serverless架构的优劣,展现在不同应用场景下的作用发挥。此外,更有与讲师共同动手实操开发的机会等你,千万不要错过哦! 掀动未来,大咖同在 议题一:

8Manage:敏捷项目管理的核心价值

烂漫一生 提交于 2021-01-30 01:06:02
如果敏捷项目要在可用预算范围内交付预期结果,那么需要解决许多问题。首先,需要在项目开始时决定敏捷是否是交付项目的正确方式。 在所有关于敏捷好处的讨论中,我们很容易忽略这样一个事实:在某些情况下,传统开发仍然是个有效的选择。例如,在对需求及企业希望交付需求有清晰、静态定义的地方,敏捷不太可能是最佳选择。 为了做出这一重要决定,有些企业选择与咨询合作伙伴一起评估项目和项目的运作环境。这样做既不需要花费成本,又不需要花费时间,考虑到正确执行决策对于项目成功不可或缺,所以这是值得做的事。 敏捷方法的关键价值 如果确定敏捷是最适合使用的开发方法,那么需要了解敏捷方法的核心价值。在敏捷方法中,使项目成功的三个关键因素是:合作、对商业价值的持续关注以及适当的质量水平。我们接下来将深入讨论这些因素。 1.合作 在敏捷项目上进行合作涉及多个方面,相关人员需要了解他们的职责,理解为何他们的角色至关重要,然后确保他们完成交付。 企业中的利害关系人需要与产品负责人合作,提供有关已演示软件的反馈。同时,产品负责人必须与这些利害关系人合作,为项目团队提供接口。在必要的情况下,Scrum主管需要与产品负责人和交付团队合作,组织和促进每个迭代的顺利运行。 最后,整个交付团队需要相互协作,确保在指定的时间内交付软件。 2.对商业价值的持续关注 敏捷项目管理的主要好处之一就是他们承诺提供真正满足企业需求的解决方案

软件工程结对作业

对着背影说爱祢 提交于 2021-01-26 09:12:51
软件工程结对作业 非不认真,非不努力,奈何时间所剩无几,未能提交最完美的作业 ###一)项目GitHub地址。 https://github.com/awfsgdf/coyg 虽然我们GitHub项目的tag提交时间很晚,但实际上我们很早就开始写代码了,只是没有注意到作业要求 ###二)PSP表格。 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) | | --------------------------------------- | ---------------- | ---------------- | | 计划 |60 |60 | | · 估计这个任务需要多少时间 |60 |60 | | 开发 |1400 |1810 | | · 需求分析 (包括学习新技术) |120 |60 | | · 生成设计文档 |120 |30 | | · 设计复审 (和同事审核设计文档) |60 |30 | | · 代码规范 (为目前的开发制定合适的规范) | 20 |10 | | · 具体设计 |120 |240 | | · 具体编码 |720 |1080 | | · 代码复审 |120 |60 | | · 测试(自我测试,修改代码,提交修改) |120 |300 | | 报告 |180 |180 | | · 测试报告 |60

蚂蚁金服×西安银行 | 西安银行手机银行App的智能升级之路

浪子不回头ぞ 提交于 2021-01-25 05:06:57
小蚂蚁说: 当前,数字化信号已经逐渐深入到社会的每个角落,影响着用户的心智和行为,来到数字化时代门口的银行,需要注意到数字化信号。 西安银行通过引入蚂蚁金服移动开发平台mPaaS,对手机银行进行架构升级,实现手机银行由传统移动渠道向移动金融开放平台的转变,进行数字化转型升级。 2018年11月22日,西安银行召开新一代手机银行App发布会,全面展示数字时代的移动金融开放服务平台新样本。 通过引入 蚂蚁金服移动开发平台mPaaS ,西安银行对手机银行进行架构升级,实现手机银行由传统移动渠道向移动金融开放平台的转变,开展以 移动化、数据化、平台化、场景化、智能化的数字化银行转型实践 。 客户介绍 西安银行是具有股权多元化和市场化特征的区域性股份制商业银行,是银监会确定的国内城商行12家“领头羊”银行之一,是国内10家投贷联动试点行之一,也是西北首家即将走向A股资本市场的城商行。 2017年,西安银行曾凭借“@盾”和“西银惠付”两个具有显著特色的行业自主创新产品蝉联“十佳金融产品创新奖”和“十佳互联网金融创新奖”两项殊荣。 2018年,西安银行股份有限公司的“‘互联网+大数据’助力精准扶贫案例”获评 “中国普惠金融助力脱贫攻坚典型案例”。 西安银行是西部地区最大的城市商业银行之一,成立二十年来,西安银行坚持把科技创新作为核心竞争力的重要组成部分,持续加大科技投入

PDCA离开了日本就水土不服?

孤人 提交于 2021-01-24 12:46:24
作者简介 Franz,一个既不Certified,也不Agile,更非Coach的Agile Coach。 从什么是PDCA说起 广为传播的说法是:“PDCA又被称为戴明环”。但这个说法是错误的,戴明博士本人倡导的并不是PDCA。戴明环,起源于美国质量统计控制之父Shewhat(休哈特)提出的产品生产三大步骤:specification规范、production生产,以及inspection检验,它被成为 休哈特环 。 而戴明博士在1950年左右为日本提供生产质量支持的时候,调整了 休哈特环 的名称并改为四个步骤:设计Design, 生产Produce, 销售Sell, 再设计Redesign。 日本的工程师们接受了戴明的思想,并在实践中演变成:計画、実施、チェック、アクション。在20世纪中后期日本制造大获成功后,这个环被翻译回英语,也就是我们熟知的 PDCA环 :计划Plan、执行Do、检查Check、行动Act。 在战后的日本,为了便于接受过中学教育的工人理解,还曾经有简化的版本:Plan、Do、See,即只有三步并且第三步仅仅是“看”。在更为成熟的企业, PDCA 的另一个变种是 SDCA环 :标准化Standardize,执行,检查,行动。即所有的操作都要遵循标准,如果发现了偏差再进行调整。 戴明博士本人在提出戴明环之后,推崇的改进版本并不是 PDCA ,而是 PDSA环

.NET 云原生架构师训练营(模块二 基础巩固 Scrum 团队)--学习笔记

时光总嘲笑我的痴心妄想 提交于 2021-01-21 02:01:22
2.7.3 Scrum 团队 理想的环境 团队章程 如何组建 Scrum 团队 产品待办事项列表 用户故事 敏捷开发流程 理想的环境 5-9人 100% 跨职能 在一起 自组织 自组织 目标 授权 沟通 可视化 辅导 奖励 要我做 => 我想做,我要做,我要做好 团队章程 团队价值观:速度与工作时间 工作协议:例如:“就绪”定义,“完成”定义 基础规则:例如:会议规则 团队规范:迟到、冲突 坦诚、高效沟通 包容 相互帮助 简洁、反馈、尊重 如何组建 Scrum 团队 先确定 scrum master 人选,再由 SM 组建其他团队成员 SM 应该由熟悉 scrum 流程和敏捷原理的人担当 根据项目的需要决定团队中要拥有哪些技能 团队中没有 team lead 这样的强势领导 选取能力较强的人作为团队成员 崇尚全栈工程师 产品待办事项列表 用户故事 三个要素 3C 原则 拆分原则 拆分关键点 三个要素 角色:站在用户角度描述需求的一种方式,谁要使用这个功能 活动:从操作场景描述,需要完成什么样的功能 商业价值:为什么要这个功能,带来什么样的价值 典型描述句式:中文:作为一个 XXX <客户角色>,我需要 XXX <功能>,带来 XXX 好处<商业价值> 英文:As a , I want to , so that 3C 原则 卡片(Card):卡片上可能会写上故事的简短描述

第六周作业

白昼怎懂夜的黑 提交于 2021-01-20 02:17:22
😀 这个作业属于那个课程 C语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2888 我在这个课程的目标是 会简单使用指针 这个作业在那个具体方面帮助我实现目标 回顾了上个学期学的函数 参考文献 https://www.bilibili.com/video/av8302677/?p=21 ##6-1 求两数平方根之和 (10 分) 函数fun的功能是:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y = 7.936238。 函数接口定义: double fun (double *a, double *b); 其中 a和 b是用户传入的参数。函数求 a指针和b 指针所指的两个数的平方根之和,并返回和。 ##裁判测试程序样例: #include<stdio.h> #include <math.h> double fun (double *a, double *b); int main ( ) { double a, b, y; scanf ("%lf%lf", &a, &b ); y=fun(&a, &b); printf ("y=%.2f\n", y ); return 0; } /* 请在这里填写答案 */

警惕文化空谈的陷阱,落地DevOps工具才是关键

强颜欢笑 提交于 2021-01-19 03:40:22
转载本文需注明出处:微信公众号EAWorld,违者必究。 恍惚间,DevOps已经被讨论十年了 “如果系统是集中式的、环境是同质化的,从开发环境向生产环境推送程序变化的过程非常简单,不需要太多的自动化;但是今天的应用需要7×24小时运行、采用分布式架构、部署到多种环境,变更过程变得愈加复杂、难以自动化……不论在大型组织还是小型组织,施行DevOps在技术上都非常具有挑战性。” 上面这段文字如果放在今天,那只是段关于DevOps的、稀松平常的讨论,但是如果它写于十年前,各位读者会不会感到有一些惊讶? 这段文字写于2007年8月的下旬,很快就距今整十年了,这是我所知道的业内最早的关于DevOps的系统性讨论,我在整理收藏夹的时候偶然发现了它,这让我突然意识到: DevOps已经十年了。 可是,为什么雷声大雨点小? 博客网站dev2ops.org(据说是devops.org被抢注了,所以他们只能加个2,而devops.org至今仍是个空域名)的文章“What makes dev2ops so hard anyway?” 文中还罗列了阻碍DevOps施行的几个因素: 变更结果的可靠性和可预见性 不同类型的变更(数据、代码、配置、内容、平台等)对系统造成的不同影响未被充分评估 对分布式系统各部分的变更非常难以协调 开发与运维的组织边界难以界定 这几个因素在今天依然阻碍着DevOps的施行