水晶球错觉

我注意到人们有时会避免进行彻底的测试。 对于某些人来说,这听起来像是伪造的,但是请听我说……我确实理解为什么会这样。

测试会产生被困的感觉,每引入一个新的测试,负担就会加重。 建立稳定,无干扰且质量保证的测试套件是一项艰巨的任务……但是这些问题为什么会浮出水面?

大多数人可以同意,对任何类型的产品以一种或另一种方式进行的测试是揭示质量并随后提高质量的好方法。 但是,当您指定一组静态测试,然后在产品的整个生命周期(即回归测试)中连续重新执行它时,测试过程可能会出现问题。

停下来思考一下……接口和抽象为客户提供什么价值? 他们提供了一种享受“特别”有价值的服务的方式,而不必担心向我们提供“如何”的复杂内部细节。

接口不是软件开发所独有的,它们在我们日常社区中无处不在。 考虑让丰田维修。 雇主迈克非常擅长使用定制工具修理丰田汽车。 但是,作为客户,您是否真的在乎*如何*并且*由谁*修理过汽车,如果您可以观察到有故障的部件已被更换并且汽车的性能比以前更好?

迈克会更好地完成自己的工作,而不会被无法跟上他的尖端技术的人们所困扰。 迈克可能会放弃或学习更好的方法,从而丢弃一些旧的定制工具。 最好确保整个公司的服务可以为各种问题和客户提供高质量的服务。

这是一个简化,但是您明白了。

我观察到,测试工作(过于频繁)试图验证未指定的实现细节,而没有真正考虑后果。 过多的指定不正确的测试很容易导致混乱的维护噩梦 ,使未来的产品开发变得困难且无济于事。 一旦出现这些症状,开发人员便会停止不断进行改进 ,以避免重构过程中出现问题以及与QA发生传染性冲突,从而对产品质量造成的伤害大于对产品质量的帮助。

内部领域专家可以帮助您了解基本的业务战略以及真正使公司成功的关键 。 在指定内部和外部业务流程都可见的重要接口时,请三思而后行。 摘录的抽象内容捕获了高级目标和概念,而不是复杂的实现细节。 将您的设计和测试工作集中在这些接口上,您将获得稳定性。

请记住,企业竞争异常激烈,充满活力,瞬息万变以超越竞争对手。 在架构中定义接口和测试时,为业务的发展和发展提供灵活性。 使接口可以组合成独特的服务组合,以支持不可预见的业务功能 ,以最小的努力实现价值的最大化。

未来将永远是未知的,因此不要对明天会带来太多的假设。

没有水晶球之类的东西。

参考: 水晶球幻想我们JCG伙伴的Kristoffer干燥的deephacks博客。


翻译自: https://www.javacodegeeks.com/2012/09/the-crystal-ball-illusion.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python—day3

1、字符串在C里边就是字符数组 Python里边一切事物都是对象,对象则是类创建的 2、set集合 set是一个无序且不能重复的元素集合 #!/usr/bin/env python# encoding: utf-8#set对象不能有重复s1 set()s1.add(alex)print(s1)s1.add(alex)print(s1)s1.add(shidong)print…

iOS - The file “XXX.app” couldn’t be opened because you don’t have permission to view it.

当引入第三方的框架的时候 容易产生以下问题: The file “XXX.app” couldn’t be opened because you don’t have permission to view it. 如图: 造成的原因: info文件中的字段Executable file 与 build settings栏中的Packaging中的Produc…

Google Guava v07范例

我们在TouK举办了一个名为“每周技术研讨会”的活动,即每个星期五的16:00,每个愿意参加的人都有一个演讲。 我们展示了我们在家学习和学习的东西,但是我们也设有一个公告板,上面有人们想听的话题。 上周MaciejPrchniak谈论了Cloju…

推荐一些经过实践检验的学习方法

作者做了多年的Java培训教师,也接触过不少初学者,根据多年的教学互动经验,总结了一些能少走弯路的学习方法,供大家参考。 第一,是要多学多练,这似乎是废话,但真正能非常上心学习的人还真是少数&…

使JFrame透明

首先创建一个带有滑块的框架,该滑块将用于设置透明度量。 import javax.swing.JFrame; import javax.swing.JSlider;public class TransparentFrame extends JFrame {public TransparentFrame() {setTitle(Transparent Frame);setSize(400,400);setDefaultCloseOper…

第一次作业之成员介绍

Lab205的新鲜血液 很理所当然的,实验室的4枚“小鲜肉”在现代软工的课程上组成了一个team,作为一个负责的team长,我当然要放上组员们的自述啦!(为什么不是他述,╭(╯^╰)╮,谁让我是个傲娇的组长…

java自定义分页标签_自定义分页标签--仿javaeye分页效果

效果如图:1、JSP规范1.1版本后增加了自定义标签库。实现自定义标签的步骤(1)开发自定义标签处理类。(2)建立*.tld文件。(3)在web.xml中增加自定义标签的定义。(4)在jsp中使用自定义标签。2、自定义标签类(1)继承javax.servlet.jsp.tagext.TagSupport(2)标签类属性&a…

Java隐藏代码

不久前,我遇到了字符串中不可见字符的问题。 因为它们是不可见的,所以它们确实会引起混乱。 String a "Hello\u200e";String b "Hello\u200f";System.out.println(\ a " and " b " are length " a.length…

201521123052《Java程序设计》第5周学习总结

1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点。 1.2 可选:使用常规方法总结其他上课内容。 学习了更多markdown的知识 参考资料: 百度脑图 XMind 2. 书面作业 作业参考文件下载 1.代码阅读:Child压缩包内源代码package parent;publi…

Deepin安装Curl的方法

Deepin安装Curl的方法 以Deepin为例,只需一条命令即可: sudo apt-get install curl libcurl3 libcurl3-dev php5-curlposted on 2017-09-15 23:22 MissA-VeryGood 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/MissA-VerGood/p/752911…

亚信联创java面试题_亚信联创面试题及答案

1. Vector & ArrayList1) Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。2) 当Vector或ArrayList中的元素超过它的初始大小时,…

HTTP协议之http状态码详解

什么是HTTP状态码 HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事。 状态码位于HTTP Response 的第一行中,会返回一个”三位数字的状态码“和一个“状态消息”。 ”三位数字的状态码“便于程序进行处理, “状态消息”更…

有用的Ant构建标签

问题: 如何在ant文件中执行以下任务? 制作zip文件。 运行命令。 将文件复制到远程计算机。 在远程Linux机器上运行命令。 打开输入框并响应输入值。 拨打蚂蚁电话。 答案: 1.制作zip文件: 以下是在ant中制作zip文件的xml…

poj-2955-Brackets-区间DP

poj-2955-Brackets-区间DP BracketsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9014 Accepted: 4829Description We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a regular brackets sequence,if s …

Python调用(运行)外部程序

在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码。为了更好地控制运行的进程,可以使用win32process模块中的函数。如果想进一步控…

Java中已检查和未检查的异常

Java有两种类型的异常-已检查和未检查。 简而言之,选中的是指开发人员可以从异常中合理恢复的情况,而未选中的异常是无法处理的编程错误。 本文介绍了何时使用哪种。 但这不是那么简单–受检查的异常使代码变得“丑陋”。 它们迫使开发人员编写try / cat…

CCF - 201403-3 - 命令行选项

问题描述 试题编号:201403-3试题名称:命令行选项时间限制:1.0s内存限制:256.0MB问题描述: 问题描述请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空…

java 枚举 values_JAVA 枚举运用一 values方法

importjava.lang.reflect.Method;importjava.lang.reflect.Type;importjava.util.Set;import java.util.*;public classEnumJavaClass {public enumEnumClass{One("参数变量枚举一"),Two("参数变量枚举二"),Three("参数变量枚举三");privateStri…

telnet测试端口是否正常打开

点击计算机的开始菜单--》运行 ,输入CMD命令,然后确定。打开cmd命令行。 输入telnet测试端口命令: telnet IP 端口 或者 telnet 域名 端口 回车 如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败 端口…

Linux历史,安装,分区,版本

Linux 历史 1970年是 UNIX元年,这一年 Kenneth Lane Thompson 和 Dennis Ritchie 合作编写了UNIX系统。Stallman 发起了GNU 计划,他本人开发了Emacs, GCC, GDB.Minix:教学用的类UNIX系统,由于UNIX是收费的且价格昂贵,因…