TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

What Would You Do?

2 点作者 jfe将近 11 年前
Suppose that you&#x27;re a programmer for a company of a thousand employees that makes embedded systems for some market. You&#x27;re frequently tasked with fixing automated tests written by QA.<p>The test framework used to test your company&#x27;s hardware system is a real bear to work with. It was written in Java by some guy who talked his way into a job, who didn&#x27;t actually know Java. When he left, it was inherited by other bad programmers, including people in QA.<p>The key to creating good API&#x27;s and frameworks, according to Scott Meyers, anyway, is making them easy to use correctly, and hard to use incorrectly. This test framework is neither of those things. The framework is so bad that, when a test fails, no one is really sure if it&#x27;s a bug in the product, in the test, or in the framework; there&#x27;s barely any logging, and exceptions are always swallowed, so no one ever really knows what happened.<p>Unfortunately, because this test framework isn&#x27;t customer-facing, management won&#x27;t allocate time to improve it.<p>Barring looking for another job, you see two options:<p>1. Ignore how bad it is, do the bare minimum to get these automated tests working temporarily, and get the tasks off your plate.<p>2. Revamp the framework from the ground up -- a big task -- in your free time, with the hopes that your laundry list of gripes can be resolved, and you will no longer be asked to fix automated tests based on a crappy framework.<p>What do you do?

4 条评论

josephschmoe将近 11 年前
Looking at it from management&#x27;s perspective, if you improve their framework, it will have the following costs:<p>1. Cost for you to make it.<p>2. Cost for QA to learn it.<p>3. Cost to convert previous tests to new framework, if necessary .<p>4. Cost for delays on fixing QA&#x27;s tests.<p>5. Cost for developers and management to receive QA&#x27;s results later than expected during development&#x2F;training.<p>Essentially, the question you have to ask is this:<p>In the process of improving this, how many tests will be delayed and by how much time? Will doing this save or expend resources over the duration of the project?<p>If you can answer that question, and the answer is that it will save resources - do it. Break down the costs and benefits to them from a program perspective. Understand them at their level and they will likely listen to you. Keep in mind though - their goals aren&#x27;t always what you think they are.
frankwiles将近 11 年前
You forgot an option #3. Hone your pitch to management to get them to give you the time you need.<p>Honestly I&#x27;d probably look for a new job, but with that option off the table #1 runs the risk of you looking bad doing the bare minimum and having truly failing tests that pass the suite. #2 runs the risk of you doing a ton of work for free only to get a pat on the back and maybe a &quot;good job&quot; email.<p>What makes your management tick? Is it happy customers? Frame the discussion with &quot;We had 47 customer impacting bugs that were missed by the test suite last month.&quot; Is it cost savings? &quot;My team spent 312 man hours last quarter fiddling with the test framework when you could have been moving the product forward or fixing actual bugs&quot;.<p>Just because it&#x27;s not &quot;customer facing&quot; doesn&#x27;t mean it isn&#x27;t &quot;customer impacting&quot;.
评论 #7916827 未加载
JSeymourATL将近 11 年前
How do you want to live professionally? Having the soft-skills to manage-up and explain things to non-technical senior management is a necessary part of your job. They deserve your best recommendations. If they don&#x27;t get it or give inappropriate push-back, that&#x27;s a sign your talents are best employed somewhere else.
评论 #7921143 未加载
评论 #7921148 未加载
brudgers将近 11 年前
1.<p>Track your time. It is likely to show there is no business case for 2.<p>On the off chance it does, then the business case will be backed by data. But odds are that there won&#x27;t be a business case.