软件测试过程五个步骤

A green field project unfolds in front of you. Fresh software technologies, ripe for the picking, await discovery. You’re excited, engaged, and ready to embark on a new journey.

一个绿色的项目在您面前展现。 可供选择的成熟软件新技术正在等待发现。 您会兴奋,投入并准备开始新的旅程。

Then you pause.

然后你停下来。

How do you choose technologies to review? How do you start to learn them? How do you become sufficiently expert to make a choice?

您如何选择要审查的技术? 您如何开始学习它们? 您如何成为足够的专家来做出选择?

第1步-研究您的选择 (Step 1 — Research Your Options)

With so many technologies available, you need to narrow the beam down to a short list. Don’t make the mistake of just picking the latest and greatest. Technologies come and go and what is trending today, maybe tomorrow’s also ran.

有了这么多可用的技术,您需要将波束范围缩小到一个简短的列表。 不要仅仅选择最新的和最大的错误。 技术来了又去了,今天的趋势,也许明天的趋势也在运行。

How do you choose in such a crowded marketplace? A few key questions I ask are:

在如此拥挤的市场中,您如何选择? 我要问的几个关键问题是:

  1. Is it open source with a permissive license? Modern open source stacks are excellent and there is little reason to risk vendor lock-in.

    它是带有许可许可证的开源软件吗? 现代开源堆栈非常好,几乎没有理由冒供应商锁定的风险。

  2. Is it established, mature and under active development? If I’m looking at an application which can be maintained beyond the length of the project, this is very important. If it may be me or my team returning to it in the future, even more so.

    它是否已经建立,成熟并且正在积极发展? 如果我正在寻找可以在项目范围之外进行维护的应用程序,那么这非常重要。 如果是我本人或我的团队将来再来,那就更是如此。

  3. Does it do everything you need? There is little point in using a new technology which won’t help you to deliver your application. Moreover, if the technology does far more than you need, the learning curve and ongoing maintenance may be undesirable. Bare in mind, a hotchpotch of differing technologies strapped together, may also lead to trouble; think ahead, consider the medium to long term requirements, rather than just what you need now.

    它能满足您的所有需求吗? 使用不会帮助您交付应用程序的新技术毫无意义。 此外,如果这项技术的功能远远超出您的需求,那么学习曲线和持续的维护可能就是不希望的。 切记,捆绑在一起的各种技术的热点也可能导致麻烦。 提前考虑,考虑中长期需求,而不只是现在的需求。

  4. Is there good documentation? If the developers of the technology are unable to easily explain how it works, what hope do you have as an outsider? Good, foundational, documentation, and simple tutorials are worth their weight in gold.

    有好的文件吗? 如果该技术的开发人员无法轻松解释其工作原理,那么作为局外人您有什么希望? 好的,基础的,文档的和简单的教程值得一试。

  5. Is there an active community? As any developer knows, search engines are your friend. Stack Overflow is littered with fallen comrades seeking help, with others lifting them back to their feet. It is easier to learn from those who fell before you, than being the person who falls.

    有活跃的社区吗? 任何开发人员都知道,搜索引擎是您的朋友。 堆栈溢出堆满了堕落的同志,他们寻求帮助,其他人则将他们抬起脚来。 向跌倒的人学习比倒下的人容易。

  6. Is there a pool of experienced developers available? If the application becomes a success, the team will need to grow to maintain it and support new features. If you pick an esoteric solution, this could lead to an unmanageable application in the future. Some applications may even need to be rewritten to keep them moving forward.

    有大量经验丰富的开发人员吗? 如果该应用程序成功,则团队将需要扩展以维护它并支持新功能。 如果您选择一个深奥的解决方案,这可能会导致将来无法管理的应用程序。 某些应用程序甚至可能需要重写以使它们继续前进。

  7. Is the technology opinionated or highly customizable? I’ll be controversial and say I only have time for opinionated technologies, unless there is a very good reason to go with flexibility. I’m experienced (old?) enough to have seen many applications become a mess of yesterday’s technologies and it just isn’t worth it. Unless there are killer features that are needed, trust those who came before you — their opinions were likely based on experience.

    技术是自以为是还是高度可定制的? 我会有争议,说我只有时间自以为是的技术,除非有很好的理由去与灵活性。 我有足够的经验(已经过时了?),以至于看到许多应用程序变成了昨天的技术的烂摊子,但这并不值得。 除非需要一些杀手级功能,否则请相信那些在您之前出现的人-他们的观点很可能是基于经验的。

  8. Does the technology fit around the core application technologies? Depending on just how ‘green field’ the application is, this may apply to a lesser or greater degree. For example, you may decide that Java and TypeScript are a necessity, which will rule out many other options.

    该技术是否适合核心应用技术? 根据应用程序的“绿色领域”的程度,它可能会或多或少地适用。 例如,您可能认为Java和TypeScript是必需的,这将排除许多其他选项。

  9. What do your fellow developers think? You may know others in your network who are specialists in the field. They may have very strong opinions on what is good, bad or ugly. It is often flattering to be asked for your opinion — it is nice to know it is valued — and you may learn something key.

    您的其他开发人员怎么看? 您可能认识到您网络中的其他专家。 他们对什么是好,坏或丑陋可能有很强烈的意见。 征求您的意见通常很讨人喜欢-很高兴知道它的价值-您可能会学到一些关键的知识。

This checklist should narrow the options down to a small handful, your shortlist. Maybe even one, if you are lucky.

此清单应将选择范围缩小到少数几个您的候选清单。 如果幸运的话,甚至一个。

第2步-完成教程申请 (Step 2 — Complete a Tutorial Application)

Nothing gives you a better taste for a new technology than following a basic tutorial. You gain insight into how easy it is to get something basic off the ground.

跟随基础教程,没有什么比给您更好的新技术体验了。 您将获得深入了解基础知识的难易程度。

I’d recommend configuring your favourite IDE (or your new IDE!) to see how well your tooling fits. There may be native support, which will help you to complete the tutorial. This could be anything from a language template (colour coding, indenting, etc.) to helpers to create modules, add boiler plate and so forth.

我建议配置您喜欢的IDE(或新的IDE!),以查看工具的适用性。 可能会有本机支持,这将帮助您完成本教程。 从语言模板(颜色编码,缩进等)到帮助程序来创建模块,添加样板等等,这些都可以。

Once you have completed the tutorial, you should have an idea of how well things fit together. Did it feel familiar? Did it feel overly complex? Did it feel too rigid or too relaxed? Write some notes about the technology, capturing the salient points.

学习完本教程后,您应该对各方面的融合情况有所了解。 觉得熟悉吗? 感觉太复杂了吗? 感觉太僵硬还是太放松? 写一些有关该技术的注释,以抓住要点。

步骤3 —自定义教程应用程序 (Step 3 — Customise the Tutorial Application)

A good way to test your understanding and the capabilities of the technology, is to make it do something more complicated. Using the foundation built in the tutorial, you can quickly tack on new functionality.

检验您的理解和技术功能的一种好方法是使它做的事情更复杂。 使用教程中内置的基础,您可以快速使用新功能。

Green field development has many routes
绿地发展有很多路线

The new functionality can be anything you like. Make sure it is complex enough to push past the perimeters of the tutorial. It needs to be meaty enough that a solution is not obvious, but I wouldn’t spend more than a few days on it. Your creation doesn’t need to be super refined either, as you are just proving the concept.

新功能可以是您喜欢的任何东西。 确保它足够复杂以超出本教程的范围。 它需要足够多的肉,以至于解决方案并不明显,但是我不会花几天以上的时间。 您的创作也不需要超精炼,因为您只是在证明这一概念。

This is where the technology’s documentation and community will face its first test. You will be straying off the beaten tutorial track.

这是该技术的文档和社区将面临的首次测试的地方。 您将流连忘返。

I usually start by reading the first few chapters of the documentation. This will give me an understanding into the background of the technology and an overview on how it is glued together. From this, I can start referencing key points, either through other specific chapters or search engines.

我通常从阅读文档的前几章开始。 这将使我对技术的背景有一个了解,并概述了如何将其粘合在一起。 由此,我可以通过其他特定章节或搜索引擎开始引用关键点。

Depending on how much experience you have, this process may be long or short. You may quickly see parallels with technologies you are already familiar with. The architecture may be similar and well trodden design patterns may be present. This will give you immediate comfort, allowing you to make useful assumptions about how it ticks.

根据您的经验,这个过程可能长短不一。 您可能会很快看到与您已经熟悉的技术的相似之处。 该体系结构可能是相似的,并且可能会出现很多常见的设计模式。 这将给您立即的舒适感,使您可以对它如何滴答做出有用的假设。

If everything feels alien, all is not lost — it may just be something new to crack. If you are relatively experienced and it still feels awkward, perhaps it is time to consider another technology on your shortlist? You can always come back again.

如果一切都变得陌生,那么一切都不会丢失–可能只是一些新东西需要破解。 如果您比较有经验,但仍然感到尴尬,也许是时候考虑入围另一项技术了? 您随时可以再次回来。

Was it easy to add your custom functionality? Did you get stuck often? Was it easy to get unstuck after reading the documentation? Did you fall back on the community? Was it evident that people had solved similar issues or was it tough to find answers? Take notes on these points too.

添加自定义功能容易吗? 你经常被困吗? 阅读文档后容易被卡住吗? 您是否回到了社区? 是否已经证明人们已经解决了类似的问题,还是很难找到答案? 也要注意这些方面。

步骤4 —部署应用程序 (Step 4 — Deploy the Application)

While an application may be a walk in the park to write, some can be a pain to deploy. What better way to find out than by doing a test deployment?

虽然应用程序可能是编写过程中的麻烦事,但某些应用程序可能很难部署。 有什么比进行测试部署更好的发现方法?

I start by looking at how easy it is to package and containerise. If there is a back end component, is it easy to put it in a Docker container? This will immediately open up a world of cloud options. Once containerised, I know that I can slot it into a CI/CD pipeline easily too.

我首先看包装和集装箱化有多容易。 如果有后端组件,是否容易将其放在Docker容器中? 这将立即打开云选项的世界。 容器化后,我知道我也可以轻松地将其插入CI / CD管道。

If the deployment process is arduous, can’t be scripted nor containerised, I will likely move onto a different technology. I prefer to spend more time writing applications, rather than installing and deploying them.

如果部署过程很繁琐,既不能编写脚本也不能进行容器化,那么我可能会转向另一种技术。 我宁愿花更多的时间来编写应用程序,而不是安装和部署它们。

Photo by Oliver Roos on Unsplash
奥利弗·罗斯 ( Oliver Roos)在Unsplash上摄

步骤5 —查看您的技术候选清单 (Step 5 — Review Your Technology Shortlist)

By this point, you should have at least completed the tutorial and tried to extend it in some way. You should have lots of notes too. You have probably already picked a winner and are looking forward to getting stuck into application development.

至此,您至少应该已经完成​​了本教程并尝试以某种方式进行扩展。 您也应该有很多笔记。 您可能已经选择了一个赢家,并期待着参与应用程序开发。

What if it is too close to call? Take another look at the original list in step 1. Are there any differences here that could split the pack? Perhaps your network of contacts can help you decide?

如果距离太近怎么办? 再看一下第1步中的原始列表。这里是否有其他差异可以拆分包? 也许您的联系人网络可以帮助您做出决定?

Once you have reviewed the options, you could opt to convert your notes into a formal review document. Your company may have internal processes for evaluating new technologies. Perhaps your direct client wishes to understand your decision instead. Showing your working will give them confidence that you have been duly diligent.

审核完选项后,您可以选择将笔记转换为正式的审核文档。 您的公司可能具有评估新技术的内部流程。 也许您的直接客户希望了解您的决定。 展示您的工作将使他们充满信心,相信您一直在勤奋工作。

摘要 (Summary)

You will need to recommend, choose or use new technologies frequently in your software development career. I recently found myself doing this again and thought my approach may be worth sharing. Thanks for reading!

在您的软件开发生涯中,您将需要经常推荐,选择或使用新技术。 我最近发现自己再次这样做,并认为我的方法可能值得分享。 谢谢阅读!

翻译自: https://levelup.gitconnected.com/5-steps-to-choose-a-new-technology-7379cc54e03f

软件测试过程五个步骤


http://www.taodudu.cc/news/show-3517751.html

相关文章:

  • 俄勒冈之旅_玩家之旅
  • c语言函数输出输出型参数_c语言技巧多个输出参数
  • 计算机科学与技术双一流_世界一流的数据科学家
  • python词云需要导入什么_python-词云
  • 【转载】[小红猪]11个物理难题,11种基本粒子
  • Intel x86 Processor and Platform Architecture eLearning Course 学习网址
  • 选择阿里云服务器有什么优势,值得大家去选择?
  • 《未选择的路:The road not taken》
  • 阿里巴巴2017实习面试分享(技术三面+HR面)
  • 十大面试问题解惑,秒杀一切HR、技术面试。程序员必读!
  • 白话版SAP HR
  • 十大面试难题解惑,看完秒杀一切 HR 面。程序员必读!
  • 九段HR,你在哪个段位?
  • HR基本信息导入
  • IC新人必读!-- HR 5年招IC的心得【转载】
  • B 站又上热搜了, HR 称「核心用户都是 Loser」
  • HR的观点
  • HR、HRA、HRD、HRM、HRS、CHO、HRBP傻傻分不清楚?看这里!
  • [SAP - HCM] 白话版SAP HR
  • HR 绩效管理流程检查表
  • SAP HR四大模块介绍
  • s一般怎么称呼自己的m_75.9%的职场人,都不知道怎么称呼自己的领导
  • 好莱坞的危机
  • 测开之路四十六:正则表达式
  • 重磅!Flutter 2 来了!它带着新功能走来了!
  • 你在开发过程中使用Git Rebase还是Git Merge?
  • 鸿蒙发布后进步肉眼可见,安卓却陷入反垄断调查,百亿罚款跑不了
  • 世界第三大浏览器正在消亡。。。
  • 零知识私有应用平台 Aleo(1) 什么是Aleo
  • 【2022央视春晚】《这世界那么多人》 演唱:韩红,2022年不易

软件测试过程五个步骤_选择新软件技术的5个步骤相关推荐

  1. gis可达性分析步骤_基于三维GIS技术的公路交通数字孪生系统

    交通运输系统是四个现代化建设的重要保障,在"一带一路"倡议规划背景下,互联网+.智慧交通提升到国家新战略.智慧交通的基石是建立可映射物理世界的虚拟世界,因此大多数交通管理平台项目通 ...

  2. 项目review会议的步骤_召开在线社区会议的11个步骤

    项目review会议的步骤 开放式组织明确邀请外部社区参与,因为这些组织只有在开发的各个阶段都包含各种观点时,才知道其产品和程序是世界一流的. 与这些社区联络并提供帮助至关重要. 社区电话是我与组织内 ...

  3. linux安装步骤_图解 Debian 10(Buster)安装步骤 | Linux 中国

    在这篇文章中,我们将演示如何在你的笔记本电脑和台式电脑上安装 Debian 10 "Buster" 工作站.-- Pradeep Kumar Debian 项目发布了它的最新稳定版 ...

  4. mt4软件下载fxcm-mt4平台下载_顺风车软件哪个好用 这三个打车平台一定要下载

    顺风车软件有很多,多得让人难以选择,毕竟顺风车曾传出过很多不安全事件,所以不少人下载顺风车软件都是考虑下载既安全又好用的软件.那么,顺风车软件哪个好用呢?下面小编介绍几个给大家,大家不防参考下. 滴滴 ...

  5. 什么软件可以搜python题_哪个手机软件有python题库

    哪个手机软件有python题库? 推荐用leetcode,这款app十分适合大家来练习编程,它有着丰富的题库,而且对题目进行了分类,适合所有学习程度的用户. 下面给大家介绍一下这个软件的功能: 一.选 ...

  6. 内存中的调用别的软件程序加密解密函数_公司加密软件哪个最好用?

    即使是数据时代的发展,加密技术的不断完善和进步,也没有一家加密软件公司敢说自己的加密软件是最好的.为什么这么说?因为每个企业的环境不同,需要部署的加密环境也不同.所以个人认为"最好用&quo ...

  7. 阅读软件怎么添加书源_继阅读软件后又一款阅读神器,安卓专用,上千书源,无广告,无vip...

    自古小说漫画不分家,昨天分享的漫画软件,今天就给大家分享小说软件,嘿嘿,看我贴心吧. 1.关于发文时间 公众号发文时间改成随机推送,当天编辑,看到什么好的就推送,如果我太忙可能就不推送,望见谅,每天最 ...

  8. 简述中断处理的6个步骤_基于SCDM软件的CFD前处理工作5个步骤

    安世亚太官方订阅号(搜索:peraglobal)将为您提供CAE仿真.工业先进设计与增材制造领域最新的行业资讯.专业的课程培训.权威的技术资料.丰富的案例分析 ANSYS SpaceClaim Dir ...

  9. 软件工程 软件设计 步骤_好的软件设计特点 软件工程

    软件工程 软件设计 步骤 For good quality software to be produced, the software design must also be of good qual ...

最新文章

  1. 面试官问:硬盘里的苍老师每天以TB级别数据增长,你咋处理?我懵了。。。...
  2. Androidstudio高效管理第三方API的KEY及Gradle版本管理
  3. 跟我一起考PMP---项目范围管理
  4. GIS实战应用案例100篇(一)-GEE主成分分析(含代码)
  5. Python 的协程库 greenlet 和 gevent
  6. linux的vi把文件合并一行,学习Vim合并行的方法和技巧
  7. windows server2003 xp化
  8. order by关键字优化
  9. 鼠标点到某个位置出现手势的效果。
  10. nginx 安装失败 没有/etc/nginx目录
  11. Go打印函数名/文件名/行号
  12. 【视频】Copula算法原理和R语言股市收益率相依性可视化分析
  13. 计算机控制液压同步顶升系统,BOLTING博霆1600吨PLC控制全自动同步顶升系统(数控智能油缸同步控制系统)技术特点...
  14. Windows XP 按权限设置共享
  15. unity使用videoplayer播放视频黑屏问题解决方案
  16. 软件测试语句覆盖,软件测试中的语句覆盖,分支覆盖,条件覆盖以及路径覆盖...
  17. 苹果设邮箱的126服务器,Mac系统中的邮箱创建126邮箱帐户的方法
  18. 前端汉字encode_JavaScript URL汉字编码转换
  19. 苹果发布黄色版 iPhone 14,定价 5999 元起;大神李沐被曝离职投身大模型创业;Atlassian 裁员 |极客头条
  20. 科技热点周刊|Linux 30 周年、Horizon Workroom 发布、Humanoid Robot、元宇宙

热门文章

  1. css------div标签中居中的方式
  2. docker安装 elasticsearch
  3. 字节跳动经典算法题:给定一个数n如23121;给定一组数字a如[2 4 9]求由a中元素组成的小于n的最大数
  4. Maya---多切割
  5. caffe中batchnormal层的param参数lr_mult和decay_mult都为0的原因
  6. 部署k3s高可用集群(实验性)
  7. 单体项目部署多台机定时任务数据插入重复问题
  8. 尚融宝30(终)-资金记录和个人中心展示
  9. Sonic常见问题解决方法之——远程控制iOS设备时,提示“初始化Driver失败,部分功能不可用,请联系管理员”
  10. Windows File Recovery简易操作说明