stack twitter rss linkedin cross

Wilco van Esch

Skip to main content

Search results

    Kirkaldy

    David Kirkaldy

    For use in our agency's internal messaging client, I created a team assistant for the test team. I named it David Kirkaldy, after the Scottish engineer who founded Kirkaldy's Testing and Experimenting Works in Southwark, London.

    Kirkaldy has had two implementations. The first one I did was a Slack bot, using Ruby and the slack-ruby-bot library.

    The second one is a Microsoft Teams bot (though it could be integrated with Slack as well), using Node.js and Microsoft's botbuilder library.

    I hosted Kirkaldy #1 on Heroku, and Kirkaldy #2 initially on Microsoft Azure (which I would use again for future botbuilder bots) and eventually on AWS EC2.

    Commands are easy to implement, especially in the Ruby library for Slack. In botbuilder with Node.js I needed to learn how to use Promises to deal with asynchronous JavaScript.

    To date I've implemented the following commands:

    Information retrieval

    1. Explain concepts such as what an SPF record is
    2. Show which Virtual Machines contain the OS or browser requested
    3. Show step-by-step guide on how to remotely debug an iOS or Android device
    4. List alt attribute guidelines
    5. Show the combination of keys required to take a screenshot on a given device or OS
    6. Retrieve Fiddler filter files and instructions on how to load them into Fiddler
    7. Provide answers to commonly asked questions
    8. Show the matrix of supported environments
    Generating a placeholder image in Slack

    Test assistance

    1. Generate a placeholder image of a given height and given width (Implemented as a quick command, and as a multi-step conversation leading to a downloadable image.)
    2. Provide testing prompts (pick randomly from a list of testing ideas) specific to a digital deliverable
    3. For a given URI, parse the HTML and return results from automated checks general to HTML deliverables
    Generating a placeholder image in Microsoft Teams

    Team management

    1. Show upcoming holidays for team members, as well as upcoming Bank Holidays
    2. For JIRA tasks currently in progress, return which developers and testers are working on what
    Getting email size advice in Slack

    Miscellaneous

    1. Show any tube lines with delays or outages plus a summary of the fault
    2. Responses to casual conversation markers
    3. Calculate walking time and distance between any two locations
    Tube status in Microsoft Teams