第五条理念:快速反馈
缩写词CI/CD在我们行业中无处不在,但我觉得它缺少一些重要的东西:“CT”,即持续测试(Continuous Testing)。CI和CD非常适合快速代码开发,但是如果没有进行测试,它们可能会推送废料。测试并不能直接提高质量,但是质量的持续揭示可以帮助团队快速发现和解决问题。它需要及时回复,持续测试可以确保DevOps循环的安全。
快速反馈至关重要,团队越早越快发现问题,问题造成的影响就越少。试想一下,如果开发人员在部署完的一分钟内收到因代码更改导致失败的通知,他们就可以立即回滚代码,代码有可能还在编辑器中打开着。如果是在一个小时内发现的,他们对代码的改动仍会记忆犹新。一天之内,他们仍会很熟悉。但是如果是一周或者更长时间之后呢?他们会对此感到困惑了。此时只能祈祷在客户遇到之前,问题不会被发现。
持续测试可实现快速反馈,自动化可实现持续测试,不连续运行的自动化测试毫无价值,因为它不提供任何反馈。
日本的木板印刷商也依赖于快速反馈,如果他们在压制版画的过程中发现版画有任何问题,他们可以报告这个印刷错误并继续下一步。然而,由于他们对质量的高要求,印刷错误的情况很少见。与此同时,每张版画都是独一无二的,因为每张模型都是手工完成的,墨水的数量,位置,颜色可能因版画而异。随着时间的流逝,木版画本身也会产生磨损。
在这里,你可以看到《巨浪》不同印刷品之间的漩涡浪花差异。
在左边这副画中,标题周围的轮廓是实心的,但是右边的画中轮廓有中断。这是因为用于打印轮廓的木块中有非常细的断线,在重复的印刷中,轮廓受到的磨损最大。除此之外,如果你仔细观察,你会发现右侧的日文比左边的更粗,这是因为右侧板块在印刷时必须使用更多墨水或者更用力的按压标题。
印刷商需要快速的发现这些问题,以便他们可以纠正这些行为以备将来的印刷,或者警告出版商木板正在磨损,出版商可以告知雕刻工更换新的木板来保持质量。
第六条理念:精益求精
就像我提到了很多次,版画印刷是一门生意,浮世绘是竞争激烈的商业艺术。到1840年代,产量到达顶峰,大约有250家不同的出版商。像北斋和广重这样的艺术家是竞争对手。虽然今天能认识到像《巨浪》这样的著名版画,同时也有无数其他版画。
出版商们在激烈竞争中争夺最优秀的人才和最好的画作,他们必须非常精明。他们必须建立良好的声誉来响应市场对主题的追求。例如,喜多川歌麿以绘制美女而闻名。
浮世绘艺术家也会从其他的画作中吸取灵感。如果有一个艺术家引领流行浪潮,其他艺术家也会模仿他的风格。这是一副来自系列画《富岳三十六景》的作品,没错,北斋最大竞争对手制作了自己版本的《巨浪》,如果打不过,那就选择加入。
出版商也必须进行创新。通常,在一幅画生产一段时间之后,他们会指示印刷商更改配色方案。以下是北斋在《甲州石斑泽》的两个版本,同样来自《富岳三十六景》
左边的印刷品是早期的画作,唯一使用的颜色是蓝色阴影,这是北斋的艺术初衷。然而在后来的印刷品中(比如右侧的印刷品),在调色中加入了别的颜色。渔民们现在穿着红色的外套,地上有着绿色到黄色的渐变。天空采用橙色调和蓝色调形成了鲜明的对比。出版商改变了颜色,从现有的设计中赚取了更多的钱,而不用为新作品额外支付费用,也不需要为了新版画支付新的雕刻成本。
然而在这么做时,有时会丧失艺术品质。比较两幅画在土地上的细节,在早期的作品中,可以看到岩石侧面深蓝色的阴影赋予了他们高度和深度,并让渔夫看起来高出水面。然后在后来的画作中,绿色的土地几乎没有阴影,这让它显得平坦且不突出。
浮世绘的出版商会完全同意今天的精益商业模式。首先寻求的是为客户提供价值,了解他们想要什么。尝试一些设计,如果他们失败了,就转向其他设计。如果他们成功了,就制定完整的端到端流程,然后不断改进优化,并快速响应变化。
精益化对软件测试也非常重要。测试是一项工程,它有着重要的商业价值。与此同时,测试活动似乎从未有过他们所需要的大量资源。测试人员必须保持昂扬斗志,利用他们拥有的资源提供有价值的反馈。
当我考虑软件测试走向精益化时,我并不是说测试人员应该跳过测试或者降低覆盖率。相反,我是说世界级别的系统和流程不可能在一夜之后建立起来。团队能做的最重要的事情时从一开始就构建基本的端到端反馈流程循环,尤其是对于测试自动化。
很多时候,我看到团队将他们的测试自动化策略完全偏向于实施,在建立任何形式的持续测试之前,他们花费数周时间开发自动化测试组件。人们不必在持续集成中触发测试,而是必须手动按下按钮或者运行命令来启动该测试。团队中其他人偶尔会看到结果。当测试人员打开错误报告时,开发人员可能会感到惊讶。
我建议团队从一开始就设置带有反馈循环的持续测试。自动执行第一项测试后,请继续从CI运行它,并在自动执行第二项测试之前发送结果通知。这样可以关闭反馈循环,立即开始交付结果。当你找到重点时,请添加更多的覆盖范围,并和开发人员讨论他们认为的最有价值的结果。然而,当你开始展示它的价值的时候,就会扩大你的模块。此时需要增加吞吐量,拓宽原先的道路,继续迭代改进系统。不要把时间花在无关紧要的测试工作或者无人关心的仪表板上。精益求精意味着把资源分配会给最有价值的活动。你会发现成功像滚雪球一样滚滚而来!
第七条理念:敞开心扉
一旦你有一件好事发生,无论时版画还是软件测试,你该怎么把它提升到一个新的水平:开诚布公!当你闭门造车太久时,创新就会停滞不前,外界的影响会激发新的创造力。
浮世绘对西方艺术产生巨大影响,自从日本在19世纪中叶对外开放之后,欧洲人便对日本艺术产生浓厚的兴趣,欧洲艺术家将日本风格和主题融入到他们的作品中。这种现象被称为日本主义。此时,克劳德·莫奈,这位以印象派闻名的画家,画了一副他妻子穿着和服发照片,她身后的墙上装饰着日本团扇。
文森特·梵高特别喜欢日本的木刻版画。他绘制了自己的系列的不同版画。我们可以看到广重在龟户的梅园与梵高在梅园中的并列画作
梵高被浮世绘中的大胆线条和鲜艳色彩所吸引。甚至有人猜测,梵高最有名的画作《星空》设计灵感来自于《巨浪》。
注意到波浪的形状如何反映天空中漩涡的形状,注意到每个蓝色与黄色的深浅对比,浮世绘为现代西方艺术提供了巨大的灵感。
影响是双向的。不仅是日本影响了西方,西方同时也影响了日本。《富岳三十六景》中所有版画有着同一特点:都大量使用了蓝色墨水。普鲁士蓝颜料最近从西方传向日本,北斋的出版商希望广泛使用这种新颜色,使印刷品脱颖而出。事实上,他们做到了,直至今日,北斋仍以在浮世绘版画中推广普鲁士蓝的深色调而闻名。
在任何工作中,对新想法持开放态度都很重要。如果北斋不愿意尝试新的颜料,那么我们就不会有像《巨浪》这样的作品。
这就是为什么我是开放测试的大力支持者。如果我们像开发源码一样开放测试会怎么样?开源软件有着巨大的优势:帮助人们学习,帮助人们开发更好的软件,帮助人们成为更好的维护人员。如果我们在测试中变得更加开放,我们可以提高测试工作的质量,从而提高我们正在构建的软件产品的质量。开放测试涉及很多事情:构建开源测试框架,让开发人员参与测试,甚至公开分享测试用例和结果。
第八条理念:展示共鸣
在这篇文章中,我们看到了大量的艺术品,我们也学到了大量有价值的课。我认为浮世绘在今天仍然很受欢迎,因为它们的主题侧重于美好的世界。艺术家们努力让普通人感知到”漂浮的世界“的碎片。
浮世绘揭示了日本人民柔软的人性,就像歌川国贞的这副版画一样
浮世绘揭示了自然与文明和谐相处的宁静之美,就像广重的《江户百景》中这些版画一样:
浮世绘也揭示了普通人的生活,比如北斋的《富岳三十六景》中的这副版画:
艺术是引人注目的。软件和艺术一样,都是为人服务的。表现出共情,关心你的客户,请记住,作为测试人员,您是在为客户辩护,尝试解决他们的问题,做对他们重要的事情。构建真正可以给他们带来价值的东西。要深思熟虑、用心感受、谦虚求教。不要放任自我。
以上八个理念是我在整个测试生涯中学到的东西:我每天都在生活和呼吸中探求这些理念。无论您是制作版画还是执行测试用例,这些原则都可以帮助您做到最好。如果要我用一句话来概括这八种信念,那就是:凡事都要优秀。如果你测试软件,那么你既是艺术家又是工程师。你有着一门手艺,把它做到极致。