Over the past two years I have taken a lot of really good training courses at Udemy. It's a great way to get instructor led training on a wide variety of technology topics. From that, there are two courses that rise to the top because they are very well done and provide a wealth of information to the QA engineer.
The first is a programming course. Since Java is the language of automation, I highly recommend:
You know you're in for a lot of information when the course is a staggering 80 hours of content. It covers the basics of Java, how to get it installed, picking an IDE, a quick overview of data types, and how to get your first programming running.
Tim then gets into the meatier topics of classes, objects, inheritance, constructors and encapsulation. And for each topic there are plenty of code examples, exercises and demos. There also lots of conversations about programming methodology to hold things together.
While not an automation course, it provides a wealth of information to develop and improve your code. I've learned a huge amount from this course and I don't consider myself to be a developer.
The second course on the list is:
To me, SQL is an umbrella term for many things. There is the language, the database itself, database theory, architecting, maintenance, and development (stored procedures).
That's not where I need to be. I'm not a SQL engineer, but writing a query is a huge benefit to the QA engineer. We can validate site information and provide dynamic data for Katalon scripts. This course focuses on building those kinds of queries.
It starts off with the basics of SQL, the SELECT statement then moves into COUNT, JOIN, ORDER BY, LIKE, WHERE, BETWEEN and GROUP BY.
For your own practice, it goes over the basics of installing and creating a database, setting up data types, and gives a solid foundation for starting with SQL – the language.
I am by no means an expert, but the topic is no longer a total mystery to me. As noted, I've been able to connect Katalon into our database and retrieve data. While I'm not the fastest at putting a query together, I have a far better understanding of what I'm doing.
As a matter of fact, I plan to retake this course during this slow period of the holidays as a refresher and to dig deeper into topics now that I have a better understanding.
Other articles of interest:
- Damn, Java confuses the hell out of me.
- Programmatic Database query with Katalon
- Switching from SQLPro Studio to Valentina Studio
- From the Selenium IDE to Katalon Studio
- Connecting Katalon Studio into XLS and CSV files
- More Katalon Studio and Automation to come
- Boostnote for Code Snippets
- What is Katalon Studio? A Distro of Selenium, Groovy and Eclipse
- DevonAgent for Deep Dive Internet searches
- Productivity Tools for 2020
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.
I contemplated switching to the Mac several years ago, but I've always been with Windows centric companies. Now that I'm with a company that embraces Mac, open source, and web technology, I'm not specifically tied to an OS.
After a time, I decided to buy my own development machine. I could have brought a machine from home, a Windows machine with 8 cores with 32GB of ram, which is pretty good. To keep in step with my renewed interest in the Mac, I saw I could get a Mac Pro with 2 physical processors for 12 cores and 128GB of ram. It's an older machine, but those are still impressive specs.
And with that machine I have completed tasks and projects I don't think I could have done on another machine.
I'm able to run multiple instances of Katalon for performance testing, even though that's not quite how it should be done. I can push JMeter to the point of saturating our network. I can have dozens of tools and applications open across multiple screens without worrying about system resources. I have helper applets galore without seeing my system slow to a crawl. I have instances of Firefox, Chrome and Safari running without issue. I've even had multiple VirtualBox machines running for browser testing.
It's not just the machine, the OS has played a very important part in the development work I've taken on over the last two years.
I have found macOS to be incredibly stable. I think the last time I needed to reboot my machine was 6 months ago. I am not a fan of the Windows 8/10 UI and find the macOS style far more appealing and unobtrusive.
Installing and removing apps is incredibly simple. There is no registry or files scattered all over the place or the need to reboot.
Further, the Mac licensing is far more generous so I have the same apps at home as I do at work.
I also feel there is better software that fits my needs. There are simple things like window managers, text expanders, and clipboard editors. But there's also far more calendaring, task management, project management, document management, note taking, markdown and text editing packages available for the Mac than Windows.
It also feels the Mac is more developer centric. Coding for the .NET framework is done on Windows, but it's a big world outside of Visual Studio. When it comes to working with Java, Groovy, Python, you will find more answers that don't involve Windows.
And there is no shortage of development tools for the Mac. Not just IDEs. There are multiple options for storing code snippets, for parsing text, for managing the clipboard, for storing notes and data. As the saying goes "There's an app for that."
Finally, there is the power of Unix under the hood. Terminal offers the hundreds of tools native to Unix as well as shell scripting which can be amazing. The power of
grep compels you!
I've had a lot of success with Windows in the past. I'm now taking that further with the Mac and enjoying it quite a bit more.
Other articles of interest:
- Switching from Windows to Mac OS – The Reason
- Switching from Windows to Mac OS – The Hardware
- Encrypt Plain Text with Paranoia Text Encryption
- Let the quarantine begin!
- Dropbox + OneNote = Awesome
- Notetaking across my Macs with Fiplab Mini Note
- People will stick with XP until the bitter end
- Building a Development Environment
- Week #2 of working remotely
- Upgrading the apparatus