Many people confuse the three concepts. For a business to grow or for a project to succeed, these need to be well understood. I will use a driving navigation system to explain them.
Before you set out, you need a destination, a goal. A goal needs to be measurable, that is, you need a way to confirm that you have achieved it. When driving, that usually means arriving at the specified coordinates. Additionally, you may want to get there within no more than 40 minutes.
Once you know where you are going, you need a general route. In business, it is called a strategy. You don’t need to know every turn in advance. Conditions may change: traffic, construction or other unforseen circumstances that may slow you down or prevent you from getting to your destination. That is why your strategy usually goes like this: go west, then south, and use highways to save time and gas. In business, those in control of the resources pick the strategy. A strategy is long-term and should not change much. That is why it needs to be very general, without specifics.
Once you set out, you will be making tactical decisions. Which street is best to get to the highway? Which streets to avoid? Field experts are the best people for that. They know traffic patterns based on time of the day or time of the year. They are aware of sporting events and which streets are affected. They know where the construction sites are. They know traffic lights, speed limits and other road signs that may have an impact. Tactics are specific actions. They are short-term decisions that follow the strategy in order to best accomplish a goal.
Now go, drive safely and efficiently to your destination.
A montreal-based newspaper recently released a new mobile product to read news. It’s very nice, but it cost them 40 million and took 3 years to ship, with some 100 people on the team. My company has enough experience with news corporations and other industries to know that there was a lot of waste. My associate stated on social media that he could save them millions on their next project. It’s what we specialize in: generating millions in ROI for our clients.
Most see this as a good thing, but I find the whole “we need more women speakers” speech very irritating. Too many PHP conferences are doing it. I don’t like that. I have your attention, but you may have already come up with some questions for me. Are you against diversity? Are you sexist? Do you think that women should stay at home and cook? The simple fact of my disagreeing on the topic almost inevitably lead to such assumptions. I will explain my position through personal stories.
I have recently read a blog post claiming that functional tests are not “true” tests. The author also claims that unit testing shows you where the problem is occurring, while functional testing simply identifies that a problem exists. This argument is deceptive and the conclusion dangerous. Different kinds of tests are not mutually exclusive. One is not superior to the other. They have different goals and can happily coexist. Let me explain the kinds of tests so that you could make enlightened decisions.
Do you want to write unit tests but don’t know where to begin? Don’t panic and follow these steps to ease into the testing business. Practice testing often to achieve best results.
Tip: try to test the smallest unit possible, usually a function, rather than a combination of functions. Testing combinations is called integration testing, which I will cover in subsequent posts.
Here are a few easy to spot opportunities for writing unit tests.