Posts

What I've learned in the last 6 months

It has been a very busy 6 months at work...decided that I really need to keep track of what goes on so lessons don't go forgotten... Non-technical What it's like living with mostly remote teams (learning to better use communication tools) Living under major enterprise systems (less control over hardware, purchasing, security, etc) Empathy toward developers (experience w. development) Empathy toward QA (experience w. testing & test automation) Empathy toward operations (experience w. on-call paging) Empathy toward management (leading remote teams is hard) AWS (getting used to destroying servers, load balancers, etc, getting used to re-thinking how to design things) Writing tech specs to communicate ideas (because remote teams) Living with branches (complexities, missing input/requirements makes for long-lived branches that need care and feeding) Understanding when the agile testing pyramid applies (sometimes the ideal is simply not possible today) Understandin...

Test automation - parallelism and the questions it raises

The usual disclaimer of ' I don't know what I'm talking about ' applies here... Lately we have been feeling some software quality hurt - not enough time, not enough people testing, stuff still getting missed and reported as bugs by the customer.  As this is a topic not unfamiliar to me, I decided to do some deeper research, and even attend a local user group to discuss test automation. I already knew that ' GUI test bad!  Unit/API test good! ', but confirmed with multiple developers that our legacy app simply had a lot tied into the GUI.  That's ok - legacy is where your revenue is , as someone pointed out ( possibly at DevOpsDays Toronto? ) - so we know that we kinda need GUI testing. The user group's consensus was ' you need a test framework ', so I figured we needed a test framework and set about building one.  There were a lot of bad reasons for me being the person to do this...but a few good ones, too: I actually had some time to spa...

Who let this guy in here?

The last few weeks have been a great learning experience for me - I can officially say 'I can write code'.  ... It will be bad code, to be sure, but it's code! I had the opportunity to (be allowed to) pursue what I deemed a high business-value target - introducing test automation (outside of unit tests).  One PluralSight course later and guy thinks he can dev.  Spoke to our QA guy, and he was enthusiastic, a few other devs mentioned it was a good idea, so hay, here we are. The course:  https://www.pluralsight.com/courses/automated-testing-framework-selenium In C# no less, which our team has been using a fair bit.  We're still in early days, but the repo has grown quite a bit - now have tests/framework pieces across 3 different applications.  I have absolutely zero development background (aside from PowerShell scripting and basic tutelage of a few sharp folk over the years), but the need was there.  Somebody had to do it!  ( they will rue the...

TALMUG: Agile testing

Been a while since I posted anything - so busy with life and work. Last night I had the chance to attend the Toronto Application Lifecycle Management User Group (TALMUG) as they were discussing something I've been grappling with:  Testing (specifically, Agile testing) Some key points I pulled out of the discussion: The key to doing Agile correctly is 'definition of done' and retrospectives (continuous improvement) The key to ensuring testing is a part of the process is 'definition of done', and thus, you must have some sort of Agile-y development process The key to getting the time to continuously improve is to PARTNER with your business colleagues - IT must be viewed as a partner, not a cost centre or necessary evil or code factory The key to transforming to a 'team is responsible for all vs. I'm only responsible for my part' is holding the entire team accountable - no deadline extensions, public shaming Sub-key is 'attitude is king'...

Creating scripted browser synthetic monitors in New Relic the easy way

https://github.com/sschwartzman/newrelic-synthetics-sebuilder Amazing.  You use the selenium-builder Firefox extension and add this little gem to the extension's plugin dir...bam.  Instant New Relic Synthetic-friendly scripts. What this means is you can now out-source the creation of Synthetic scripts to (mostly) non-technical people - the more people involved from different areas, the better your coverage of business-critical processes will be. Even if they can provide you (the technical person) with a click path/data, this still makes your life a lot easier by removing the need to fiddle with syntax, and ensures that maintenance is not a big deal down the road.  Yes, UI-based tests are still fragile, but in this case it's a necessary evil to ensure that the customer experience remains satisfactory/functional. Anyways, some pretty powerful tools!  Fun and useful.

Git & UAC

As a PSA to those using Git in a split-account UAC system (normal non-admin user account & separate admin account). We were having huge issues with Git processes taking forever - on a machine without this UAC setup a 'git status' would take 0 seconds.  On the impacted machines we were seeing averages of 30s. We figured it was the encryption software, or maybe the antivirus software - nobody could figure it out, and we had the additional red herring of a few machines with corruption issues.  Anyways, finally we really started digging into it and discovered that there was one user without any issues on a system that SHOULD have issues.  He had this problem at a previous employer - and provided this link:      http://stackoverflow.com/questions/4485059/git-bash-is-extremely-slow-in-windows-7-x64 Amazing.  I applied those changes to two affected machines, closed / reopens the active shells, and BAM.  Git was back to normal! Hopefully thi...

VirtualBox guest running IIS and supplying code via vBox sharedFolder

Update:   I would note that we ultimately abandoned this process in favour of running a copy task inside the VM.  To start we're using "robocopy dir1 dir2 /MIR /MT:8 /XD .vs" running every minute, but eventually we'll do something w. NTFS filesystem triggers. ------------------------------------ You might have ended up with an error like this: Filename: \\?\C:\path\web.config Error: Cannot read configuration file This is because IIS doesn't like the fact that it's attempting to access something that's been symlinked (IIRC, check google for specifics).  So, we need to trick it!! I do not take credit for this, just posting up a script that should help.  This guy pointed me/others in the right direction: http://stackoverflow.com/questions/22636106/iis-application-using-shared-folder-in-virtualbox-vm I would note that we use an array for the IIS stuff because re-using code from other scripts is fun (bad practice, too!).  It was the fastest way for me...