Why use a Mac for development?

There are multiple reasons why I develop and test on the Mac. Primarily, it's the platform my company has chosen. But beyond that, over the last two years I have replaced almost all of my Windows machines with Mac computers. I have a Mac Pro at work and at home, along with a Mac mini, a pair of iMacs, and a few combinations of MacBooks. Not to mention my collection of iPads going back to the original model, and a couple of iPod Touch devices. Well before that, I got my start with the Apple II, a machine I still hold in very high regard. By the time college came around, I was working on PC clones with only occasional stints on a Mac. Then it became all Windows based machines. I didn't really come back to Apple until the original iPad came out. To me, that device was magical. It was so utterly brilliant in both form and function. […]

My Latest TypeIt4Me Stats

I’ve mentioned on several occasions that I am a big proponent of text expander tools. With my personal choice being TypeIt4Me. A text expander can save huge amounts of time when it comes to writing code, writing documentation, and all sorts of general computer tasks. Just to show it off, here are the latest stats of TypeIt4Me from my main machine at work.

Excel is not a documentation or testing tool

I have seen this coming up in multiple places and wanted to make my own comment. While Excel and spreadsheets in general are fine tools, they are NOT documentation or testing tools. I know it's become the norm to create test cases and even test plans and publish them as spreadsheets so they are easily shared. But to be honest, it pains me to no end. Excel is fine for making a basic checklist, or listing ticket numbers associated with a project and handing it over to the client to or to someone in the business so they can check the progress at a glance, but using it to store API data, SQL queries, write elaborate steps that someone should follow to perform an action, color coding dozens of columns, creating dozens of sheets filled to the gills with test permutations, or using it to backlog tickets, sends me into a terrible frenzy. Simply put, there are far better tools […]

You really need to get TextSoap from Bundlehunt

I've already made a couple of comments about TextSoap, but if you haven't already picked up a copy from Bundlehunt, I strongly urge you to jump over there right now and grab it before it's gone. It's not just for text cleaning but can be used of parsing, formatting, searching, and copying. The uses for TextSoap are increasing day by day. In fact, it's solving formatting issues I didn't even know I had. To give a couple of examples, I write these blog articles in Scrivener, which is great. What's not great is that web formatting wants an extra line break between paragraphs. With TextSoap, adding those is now a click of the "2 Returns" button. The same is true for web links. Correcting those in a Markdown editor is a simple, but manual task. Now it's a click of the "HTML to Markdown" button. There's also the Extract Text from HTML Source which is a huge timesaver. Or the […]

Adding Timing Flags to Test Cases within Katalon

I've made reference to this before, but due to the success I've had using it, I wanted to bring it up again. Within my tests cases I have been adding markers to time how long it takes to complete an action. This is usually connected with the Save action or something similar. For example, how long does it takes to save the form data? Or how long does it take to move from one page to another. Using the "feature flag" idea, I place the start of the code right before there is an action to click the button. After the click action, there is a waitForElementVisible action, which waits for an email address input field to become visible. Once we can take action on it, the Save action is complete and we can record the time between those two events. if (timedTest==true){ timeStart = new Date() } WebUI.click(findTestObject('btn-Save Cart)) WebUI.waitForElementVisible(findTestObject(input-Email Address'), 90) if (timedTest==true){ timeStop = new Date() TimeDuration […]