Featured

5 Reasons You Should Consider Creating A Software Testing Portfolio

As you might know, I’m a huge fan of Test Portfolios. As a quality engineer who found their voice during the Covid pandemic, I’m living proof of the importance of having a software testing portfolio. In today’s fast-paced and competitive tech industry, having a portfolio can be the key to landing your dream job, increasing your confidence, and inspiring others. In this blog post, I’ll be discussing five reasons why you should consider creating a software testing portfolio.

What is a Software Testing Portfolio?

Slide showing my definition of a portfolio, alongside a cartoon explaining the concept of Narrative Bias

This is my own definition, there isn’t really a commonly held one. For me, the things that make a Portfolio the next level up from a CV is 3 things, namely:-

  • They are Dynamic – they can evolve over time, and contain living, working code extracts etc.
  • Narrative bias – a portfolio is easy to wrap a personal story around, to make you the person who is front-of-mind for the people you want to get noticed by
  • Depth – They can be as shallow or deep as you want, but often CV’s don’t give the detail that really sells that you know what you are doing – a portfolio is your way of proving you aren’t just playing buzzword bingo

Now, lets take a look at the 5 main reasons I think Portfolio’s could give you a leg up.

1. Landing a Job in the Hidden Jobs Market

Did you know that there is a hidden job market out there? This market consists of jobs that are not publicly advertised, and are instead filled through networking and referrals. According to a report by Forbes, up to 80% of jobs are filled through the hidden job market.

This means that if you want to land your dream job, or sometimes even just your next job, you may need to tap into this hidden market. And one way to get noticed above the other candidates is by creating a software testing portfolio. A portfolio is a great way to showcase your skills and expertise to potential employers. It allows you to demonstrate your testing methodologies, strategies, and results in a clear and concise manner.

At the Coders Guild, all aspiring Quality Engineers are mandated to create a portfolio, and I can testify that in showing them off on LI profiles, covering letters and at interviews, they have been the difference in landing them their first roles in QA.

When you have a well-crafted portfolio, you can use it to approach potential employers and hiring managers. You can share your portfolio with them during interviews or networking events, and they can see firsthand the value that you can bring to their organization. This can set you apart from other candidates who may not have a portfolio. Bonus points if you do something with the website or tech that the place you’re interviewing at uses.

2. Increasing Confidence (You *can* do it!)

One of the benefits of creating a software testing portfolio is the increased confidence that comes with it. That’s basically why I did mine. I was sick of feeling “not technical enough” and wanted to prove that I could learn this stuff with some application and graft. When you have a portfolio, you have tangible evidence of your skills and accomplishments. You can see the results of your hard work, and you can use that to build your confidence. People also love helping you on your journey, and I was amazed that every single tutor, industry professional and community champion I asked was more than happy to help me get over those inevitable bumps in the road.

We know that the only constant in tech is change. Creating a portfolio forces you to reflect on your work and think critically about your testing methodologies. This can help you identify areas for improvement and can help you grow as a quality engineer. As you continue to add to your portfolio, you’ll see your skills and expertise grow, which can further boost your confidence.

3. Code Reuse

Creating a software testing portfolio can also help you with code reuse. One example, I wrote a short Selenium automation framework by following a Test Automation University course (all free!). Mailinator saw the blog post I did alongside it, and asked if I’d like to write a tutorial on how to use Selenium with their email testing platform. Because the code was already written, it was easy to adapt it to the new site. And it felt great to get further value from something I’d already completed.

I don’t advocate copying code from work (of course!) but if you have learned a new technique or concept, why not write some boilerplate code you can reuse in future? These scripts and code can be reused for future projects, saving you time and effort.

4. Side Hustle: Opportunities to Speak, Write and get involved

Creating a software testing portfolio can also open up speaking opportunities for you. When you have a portfolio, you have a wealth of knowledge and experience that you can share with others. This can make you an attractive speaker for industry events, conferences, and webinars. I’ve spoken about Portfolio’s at international conferences, keynoted at Ministry of Testing events alongside writing for Teatime with Testers and many others. In fact, my Test Automation University course came about because Angie Jones read my portfolio blog (which she inspired!) and saw I had an interest in Postman.

Speaking at events is a great way to build your personal brand and establish yourself as a thought leader in the industry. It can also help you grow your network and meet other professionals who share your passion for software testing. And let’s face it, it’s always fun to share your knowledge and experience with others.

5. Inspiring Others

Finally, creating a software testing portfolio can be an inspiration to others. When you create a portfolio, you’re showcasing your skills and expertise to the world. This can inspire others who are just starting out in the industry, or who are looking to take their skills to the next level. I have been amazed at the number of people who have reached out to me to tell me about their portfolio journey.

To Sum It All Up

A software testing portfolio can bring many benefits to a quality engineer. It can help you tap into the hidden job market, increase your confidence, promote code reuse, open up speaking opportunities, and inspire others. Creating a portfolio is a great way to showcase your skills and expertise to the world, and can help you stand out in a competitive industry. So why not start creating your own portfolio today? It’s a worthwhile investment in your career and personal growth as a quality engineer.

Take a look at my portfolio here if you want some inspiration – it has all the accompanying blog posts with it along with the github links if you want to delve deeper.

Enjoy!

A Software Testers Love Letter to QVC: What The Shopping Channel Can Teach Us About Quality

N.B. I am not sponsored or paid to write content about any company, product or feature. I simply write about things that I genuinely love.

For many many years now I’ve loved the shopping channel QVC. And I’m with Fenton Bailey here, I refuse to be apologetic about it. They have been going in the UK for 30 years, far longer than most technology companies and certainly longer than most TV programmes.

I don’t actually enjoy physically going round the shops much, but there is something about the psychology of watching people try to sell stuff to other people in a non-invasive way that fascinates me. And as an avid viewer for years I can attest that QVC are very, very good at what they do. TV aside, they are also spectacularly tech savvy, know their customers like the back of their hand, and can offer software testers and the wider tech community some nuggets of wisdom, provided we are open minded enough to take them seriously.

In this post, I’m going to advocate for being “a bit more QVC” in a few key areas. Personally, I struggle to resonate with similar posts drawing parallels with sports, historical figures or super tech heavy things, so I hope there are others who share this view and find the following a bit more sticky.

The Power Of Personalities

QVC very rarely, if ever rely on a single presenter. Go and put the screen on now, and you are likely to see at least two people. Usually, a QVC key presenters such as a general fashion expert or beauty officionado, alongside someone representing the product.

Screenshot of QVC TV, showing two presenters demo-ing a product

And it works. It comes off as more persuasive and more trustworthy watching a conversation rather than a lecture – I guess its for the same reason that a lot of sports have both the “technical” and the “colour” commentator.

I wonder if we could be more QVC in our approach to documentation, show-and-tells or just plain conversation. Put our technical, SME hat on to talk about a products key features, key technical observations etc. Then either ourselves, or a co-presenter/pair-tester etc. provides the human commentary – uses humour, empathy and story telling to win folks over.

The Power Of Persuasiveness

Speaking of winning folk over, I often think when watching QVC how well trained the presenters must be to convince thousands of people to do something in the space of just minutes. One sales technique they use to good effect is to give use cases, or examples, of how a product could help solve a problem you have had. Simple anti-virus sticks, RFID protective wallets or even security cameras all talk about the potential of what *might* happen. And mitigating against risk is no different really is it? We could be more QVC by being empathetic in how we communicate, thinking about what is going to resonate with the “audience” or stakeholder, and giving them real world examples of what could happen to help to persuade them. And do the same in our talks – make it about whats-in-it-for-the-viewer, not how-much-can-the-speaker-show-off-what-they-know.

The Power Of The Sincere Apology

Issues are addressed immediately – because believe it or not, you can’t lie on telly, so if someone makes a claim that isn’t technically true (e.g. provide clinical studies or industry recognised evidence to back up what they are saying) there are financial implications as well as trust ones. So any issue, no matter how slight e.g. “the measurements we read for that top don’t look right” or a discrepancy between what colour a chair is called on the website vs. on air, is called out, apologised for, and rectified.

I recently had an issue with an unnamed tech company, who mid-way through a bug they had caused by a new release which froze accounts actually went so far as to remove the customer support page where folks were reporting the problem! This kind of opacity drives me bonkers, and I think there is definitely a lesson to be learned there about proactive and diligent comms, and a culture that expects the odd mistakes and provides a human way of dealing with them. Be more QVC.

The Power of Embracing Change

QVC adapt. Constantly. They are masters of reviewing what works, adapting their model and unapologetically binning off product lines that their loyal customer base no longer resonate with. Perhaps we should be a bit more QVC when maintaining our (automated) test suites?

When it comes to the tech, QVC are clearly using it wisely. No access method to purchase something is off the table. From on screen QR codes, “tap the app”, widget, using the website or the good old speak-to-a-person-on-the-phone, its a reminder to continually truly understand your customer base and create your ecosystem around their range of wants – not just the single method that’s easiest and cheapest to implement for the most people.

Extract from QVC UK website, showing the different social media and native apps they support

The Power Of Customer Feedback

QVC’s unflinching, relentless focus on customers, allowing them unfettered and unfiltered feedback on all products they sell, is a way we could be more QVC. Perhaps the ultimate twist is Qurio – a Social Shopping App – aka free user research!

Extract from QVC website introducing Qurio social shopping app

QVC are so confident in what they do, that they use an app that lets their customers give personal video reviews of their products. And what’s more – their customers do not get paid to do this, the community is so strong that people will spread the word about the products they buy for absolutely nothing. I wonder how many companies would love that sort of insight. If we wrote, tested and released software with a view that each and every single customer of that software had a direct and publicly visible way to feedback how much they liked it (or didn’t like it) – be honest, how much would this force us to change our whole teams view on quality? How many more conversations would we have? How much more adaptive would we be?

Be More QVC

Clearly, I am an unapologetic fan of QVC. I’m obsessed with their human centred approach to everything they do, and look forward to continuing to be inspired by their work. QVC even have an accessibility brand ambassador, a series of shows and bags of content focussed on menopause, and hundreds of podcasts to add depth to their content.

To paraphrase one of their own tag lines, if you think you know QVC, and think it can’t teach you anything about tech, you might want to think again.

ChatGPT for Bespoke Test Data Generation

I’m seeing a lot of brilliant posts that I’ve learned a tonne from all about ChatGPT and what it can do to help us Quality Engineers. I’ve also posted about what a contentious topic this is to even acknowledge you are using ChatGPT – my earlier musings on this topic seem to have been borne out in my experience so far.

However, the one thing I haven’t yet heard anyone go into is using ChatGPT to create test data generation.

TLDR: Watch this video to see how I did this

There are a few advantages to this:-

  • Realistic data sets – We know ChatGPT-3 isn’t the latest data set, but it is at least based on a heck of a lot of data. So maybe you want to know what the most popular products are for your company, or what the best grossing films were in 2010 in Morocco, or what the most well known technical trailblazers names were. If its something where you care about what others think, as opposed to having a linear set of something e.g. 1-200, then being able to tap into those data sets could help you be more realistic
  • Bespoke Test Data – there are already brilliant libraries you can use (such as faker.js) which auto-generate test data for you, but what if you need something more specific. One example could be you have a field that requires first names, but you want to only use female first times. That isn’t a sub-selection you can currently do out of the box.
  • Something fun for Demo’s – want to spice up a customer demonstration, or an end-of-sprint show and tell? Plug in unique test data and ask it for something wild!

I spent an evening a few weeks back solving this puzzle.

I created:-

  • an open-source, free, publicly available workspace in Postman
  • Using Postman Flows (the low code workflow builder feature) you simply modify a query that you feed in to ChatGPT using the template provided, and Flows formats the response that comes back to allow you create an array of comma separated test data
  • This test data is then immediately plugged into an API request – showing the end-to-end process of test data generation and looping through a request for each and every bit of test data ChatGPT Provides – so you get to select how many times you want this to run by asking for that number of items in your query.

The results are in this video:-

YouTube Video Walking Through OpenAI Test Data Generator

Pros and Cons

  • ChatGPT will not be free forever, so this may have limited shelf life unless you’re willing to pay for access to the API
  • Asking for large datasets may use your free tokens pretty quickly
  • If you ask the same query, ChatGPT will come back with the same answer. So its really important you know what to ask it if you need randomised data every time the query runs
  • You don’t know how accurate the data is – so be careful what you are asking it for and how much you rely on it as a source of truth

I hope this helps you in some way, as this is quite a novel way to use ChatGPT from what I’ve read (although I’m sure someone will create a more user-friendly tool version that does something similar soon if they haven’t already). As with all of my posts, videos and community work, I didn’t get a penny for creating this or putting it out there, so if you do find it useful please remember to say thankyou and quote your sources, it gives me the impetus to keep going!

T’ra for now 😜

Postman Flows: 1 Flow To Smoke Test Your API Estate

One of the things that I love most about airing a new talk is the new ideas it sparks. On Friday, I delivered my talk “Go with the Flow” for the first time, to the lovely internal community at Dunelm.

LinkedIn Post from Dunelm, who were the first to give feedback on my new talk around Postman Flows

The inspiration for this post goes to Adam Pike of Dunelm, who during the talk mused that Flows would make it possible to see the full suite of APIs interacting with each other in Postman.

And it got me thinking. We know Flows has this superpower of being able to call any other collections in a workspace. If you have different collections for all your different APIs, wouldn’t it be handy to be able to visually see the key connections and check they’re all talking to each other?

Here’s a couple of ways I think it could work.

Simple Ping Smoke Test

Example smoke test Flow showing several requests being checked and errors logged out to Slack

In this example, I’m using 3 requests which can belong to different API’s. I’m then checking for the status indicator – however, you can just as easily check for status code != 200 or in a range of allowed values or similar. This then outputs to the console log if all is well, or, if there is a problem, a Slack message is output to the team with the Flows ID to alert them to an issue.

Advanced Integration Smoke Test

But what if what you want to keep an eye on is whether API’s are working when strung together in a real-world customer journey? Will the Auth API talk to the Orders API? Will the Location API talk to the 3rd party Google API? Perhaps you have mocks for third party services, but want to check if they return their end of the bargain and give you what you expect, that your internal API’s will respond in the right way?

Flows can allow you to create that visual map of your API estate.

I see it developing like a spiderweb, with a start button in the middle branching off into different workflows, all executing at the same time. 🕸️

Here’s a very rough idea of what that could look like:-

Flow containing 2 integration tests running concurrently

The Yellow Flow shows API 1, authenticating, posting and deleting. The Blue flow shows a different API flow entirely – you can of course use multiple APIs in a single flow if you wish. Using the colour feature we can code each flow to make it easy to see if they are running as expected, tagging a different API in a different colour (maybe mocked APIs in grey, for example). If not, we evaluate the status code and if we don’t like what comes back, we send a message to Slack.

Once you are confident you aren’t generating heaps of information that will just be ignored, and no false negatives(remember to test the tests!), you might even want to get this up on a monitor and schedule a run for every 5 minutes or so, just to give you the confidence everything is up and running in the environments you need things to work in.

Thanks again to Adam for the inspiration – I think this might be a useful feature to have.

Hope this helps, til next time!

Test Automation Portfolio

Speaking about my Test Portfolio for an internal QE Community, November 2022

Welcome 👋

I’m Beth, and this is my test automation portfolio! This page is intended to act as both a reference point for my own portfolio and, if you would like, a template for your own.

Click the links below to see more information about each of the portfolio entries, including an overview post, code repo’s and video walkthroughs.

  1. Welcome 👋
  2. Beth’s Portfolio
    1. Setting A Goal
    2. Robotic Process Automation UiPath
    3. Browser UI Taiko
    4. API Postman
    5. UI Cypress
    6. UI NUnit
    7. RestAssured
    8. Postman Flows
  3. Spreading The Word! Articles and Appearances

Beth’s Portfolio

Setting A Goal

My Story starts here! What are Test Automation Portfolios? Why are they useful, and how do you decide what to put in one?

Robotic Process Automation UiPath
  • Code Repo
  • Video Walkthrough
  • Languge: VB.Net / UiPath proprietary language
  • One Cool Thing: Integrated with SQL Server Express Database
  • Type of Tests: UiPath Workflow Automation
  • Website Tested: My Local Gym
Browser UI Taiko
  • Code Repo
  • Video Walkthrough
  • Languge: JavaScript
  • One Cool Thing: Atomic UI tests using API’s for non-assertive test steps
  • Type of Tests: Taiko, Gauge UI and API level automation of browser
  • Website Tested: Various including The-Internet, Gauge.org
API Postman
  • Code Repo
  • Video Walkthrough
  • Languge: JavaScript
  • One Cool Thing: Mocks, Randomised Variables
  • Type of Tests: API
  • Website Tested: Restful Booker
UI Cypress
  • Code Repo
  • Video Walkthrough
  • Languge: JavaScript – see also Typescript repo from TAU course here.
  • One Cool Thing: Multiple page login tests
  • Type of Tests: UI Browser
  • Website Tested: OpenCart and todo.mvc
UI NUnit
  • Code Repo
  • Languge: C#
  • One Cool Thing: Pairwise
  • Type of Tests: Unit Testing
  • Website Tested: Restful Booker
RestAssured
  • Code Repo
  • Languge: Java
  • One Cool Thing: Angie Jones Course
  • Type of Tests: API
Postman Flows
  • Public Postman Workspace
  • Languge: Low-Code, FQL (Flows Query Language)
  • One Cool Thing: Integrating with OpenAI to generate bespoke test data which is then automatically used in an API workflow.
  • Type of Tests: API Workflow Testing
  • Website Tested: Restful Booker

Spreading The Word! Articles and Appearances

I intend to add to this page as I continue to learn and grow my test automation skills. I have spoken and written about this topic at a number of places, click the links for details:-

OpenAI : The-Tool-That-Must-Not-Be-Named ⚡

“No, I don’t want to hear what ChatGPT thinks, I want to hear what you think”

Said a software testing friend recently, when in answer to a question I responded that I’d researched this very topic on OpenAI for an upcoming interview and wrote down the salient bits on my notepad. It stung a bit, because I thought I’d been clever to get a second opinion, but it was a hard no on their part. The agency of thought had to come from me, what a computer had to say wasn’t what they were interested in.

Maybe in times to come we’ll look back on those kinds of exchanges wistfully, and Peter Kay-esque comedy sketches will be written (by computers of course) saying “remember when folk used to actually care what a human thought about the best way to do something!”.

Its been fascinating to see both the level of interest and the level of distaste emerging around this new tool within the QA Community. People are happy to take a look at it, and then very quickly seem to come to an irrevocable marmite-esque conclusion that either:-

“This is the future! It’s incredible what this thing can do – look, it helped me do X, Y and Z, and with far less pass agg than Stack Overflow. Love it”

Or

“This tool is dangerous. We should avoid it at all costs, and if we do use it, treat it with extreme care. Relying on the information it produces (which is often incorrect) without the ability to critically evaluate it will lead to some terrible results. Look – I asked it X,Y and Z and it came up with some absolute mansplaining tosh that sounded great but there was absolutely no factually correct substance to it. Hate it.”

The tool-that-must-not-be-named

For those of you unfamiliar with Harry Potter, the evil Lord Voldemort was considered so powerful , terrible and omnipresent, that to even utter his name was something shocking. Everyone thought about him, and knew about him, but only those with incredible skills as wizards would dare to mention his name.

OpenAI and other AI tools such as Lensa may quickly become tools-that-must-not-be-named within professional tech circles. In other words, tools that a lot of people actually use, but don’t openly acknowledge for fear of retribution. A bit like a company advertising for a “manual tester”, or the quarter final of the FIFA World Cup being the most watched TV event of the year (in the UK). Just what the testing world needs, another thing to argue about interminably – hurrah!

As testers, I love that people are using their noggins to evaluate a new tool. And it has genuinely educated me to learn some of the more negative sides of the AI world – and there are plenty, so I am glad there are people out there who are talking about that stuff!

I also believe in confirmation bias, so we will look for information to justify our inherent beliefs and place less importance on things that seem to cause us cognitive dissonance by diminishing or trivialising them. We, at least, are still human after all.

So what can we acceptably use Open AI for?

However, I believe in shades of grey. I believe that there is a middle ground, and a set of acceptable use cases for this suite of models in particular which will evolve, many of which I am already finding myself forming the habit of using:-

AI as an explainer

Tech is full of acronyms, weird expressions with several meanings (hello Lambda!) and difference of thought. So much so that it is baffling to outsiders, or people trying to enter the industry, or even those of us who have several years under our belts in all honesty!

These smoke and mirror linguistics can feel gatekeepy, and it’s exclusionary to say that people have to learn everything through experience only, or somehow magically know all the same things you do. I recently met up with a group of new software tester recruiters who were overwhelmed with the amount of buzzwords, do’s and don’ts and terminology they had to get their head around.

Example

Example ChatGPT extract asking to explain the difference between C# and .NET in a straightforward way

Beware

I think for basic definitions such as this one, the AI is probably good enough to be reasonably accurate – at least as accurate as a google or stack overflow search. However, I’d be careful using it for more detailed information, or information about recent events as the data is only as good as the data set – which in OpenAI’s case currently ends in 2021. At the very least, when asking a tricky question you should try and cross-reference the key facts the engine is giving you elsewhere – we’ve all had that icky moment when we’ve realised a Wikipedia entry has been modified and we’ve already relied on the definition!

AI for experimentation (and fun!)

I think as testers, we love learning new stuff. We are as magpies to the shiny free tech glimmery gold. And, its got to be said, there is joy to be had from asking a computer to write a poem about something tech related in the style of a gruff yorkshireman/robot/sarcastic salesperson. There just is.

Example

I used Postman Flows (anyone who reads this blog knows what a huge fan I am of that feature) to automate a workflow that checked an OpenAI auto-complete phrase and then output the results to a Slack channel using their API. In my case, “give me the top 3 headlines this week on Postman” – this could easily be leveraged into a scheduled run each week using the new scheduler on the collection runner.

somewhat fuzzy picture shows a Postman Flow sending a request to an OpenAI API and piping the response to Slack

Or even, computer generated pictures of a cat eating a pizza anyone?

Beware

There is so much to evolve and iron out here, with images in particular. For example, I’d caution against uploading any pictures of yourself, as the rights to what AI does to that data stop being yours (noone needs nude deepfakes). If you have a strong conviction against AI generated art (or art which has been moderated by AI without acknowledging or compensating its originator) then probably steer clear altogether. We will be having to ask ourselves moving forward with pretty much everything we see – could this be fake?

Summary

I remain just one of a multitude of opinions on this subject – mine more uninformed than many. So read this blog and take its advice with the same critically applied evaluation that you apply to the rest of your testing life. I will still be interested, curious and open to hearing and learning about the complex and evolving opinions on this topic.

2023 Gifts For Software Testers

Wait, you’re leaving/been promoted/done something awesome for us and we want to say thanks?

Need some thoughtful inspiration on what to buy for loved one or colleague who works in Quality Engineering(QE)/Quality Assurance (QA) that will put a smile on their face.

Here are my top tips:-

Books

There have been several stellar software testing books released recently. Available digitally (hello last minute.com) or in good old fashioned paper form.

images of front covers of the software testing books mentioned

Memberships

Often, us testers aren’t fortunate enough to work for an organisation with a huge personal training budget. So we miss out on anything that requires a subscription or paywall, which can make finding decent content a bit more tricky. Want to help?

screenshot from MoT website with reasons to go Pro

Other bits

Of course, most testers just want regular nice things as presents. But if you want to get something more generic, or even give them the choice of something to get that’s still thoughtful, maybe a voucher could do the trick?

  • Home Office Stuff – stuff to make that home environment a bit nicer – think plants, posh stationary, maybe a small whiteboard or a cool picture. Designworks do some great bits.
  • Gift Card – did you know you can get a Ministry of Testing gift card? Now you do! Lots of cool SWAG on there including Testsphere cards, would Heu-Risk-it and all the hoodies and caps a tester could wish for.
sample images of Designworks stationary

Please note – I am not sponsored by any of these people or companies, they are just genuinely things I think are good.

Hope it helps put a smile on the face of a QA who deserves it.

T’ra for now!

OpenAI: Three ways it can help software testers

Opportunity knocks

I’ve been playing around with the suite of OpenAI tools that have recently appeared in public beta. I doubt they will be free to use forever, so now is a good time to have a knock about with them if you want to see what AI can do.

Hit the links to go straight to each area:

Dall-e for image generation using Postman API 📷
ChatGPT for inspiration and content creation 💡
Codex for checking test script syntax and first drafts

I am coming at this from a very novice level of understanding algorithms, AI, machine learning and all that jazz. The buzz on LinkedIn and Twitter is growing and it would appear that battle lines are starting to be drawn, but if you want to check out this technology for yourself, here a few places to explore.

Where to start

First things first, sign up for an account

Go to https://beta.openai.com/signup/

You’ll need to provide an email which is verified and an SMS which is also verified. Call me paranoid, but I worry about my records being leaked by a service such as this, plus as a tester I like to be able to use non-personal records, so I used Mailinator who’s enterprise level has both unlimited private email addresses and also an SMS service. Its mine, but it also doesn’t use my personal email and phone number. You might need to sign up for the separate tools (Dall-e, ChatGPT etc) separately too.

What can I do?

Dall-e Image Generation for Test Data (or fun!)

There are lots of ways to do this, but for me the quickest way of knocking around any API is via Postman. If you want to use Dall-e via API calls to generate images on the fly, you can do that in open AI and Postman currently by following these steps:-
1. Generate an API Key
2. Create an Open AI Environment in postman. Add in the URL and the API Key

3. Fork the Postman Fun APIs Only OpenAI endpoints created by Postmanaught Ruby Sutter workspace. Save as a new collection in your workspace of choice.

4. Ensure the authentication token points to the API key which was saved in your environment variable

5. Select the environment variable created earlier. Open the image generation endpoint, click body, enter something funky into the prompt and click send

6. Finally, select the Visualize option in the response body to view the images – awesome huh!

Images can be used as test data, generated on the fly and fed into your tests.

Use ChatGPT to research and even write content

YouTube Video showing Open AI’s ChatGPT tool answering the question “how openai can help software testers”

Once you have registered and verified your account, you are allowed to put in any text you wish and see what ChatGPT has to say about it. Here is the output in full, when I asked the question “Write a short post on how open ai can help software testers”:-

Open AI is a leading provider of artificial intelligence technologies and has the potential to help software testers in a number of ways. For example, Open AI’s GPT-3 language model can be used to automatically generate test cases, making it easier and faster for testers to cover a wide range of scenarios.

In addition, Open AI’s machine learning algorithms can be used to automate certain aspects of software testing, such as regression testing and performance testing. This can help testers save time and reduce the amount of manual effort required for these tasks.

Furthermore, Open AI’s technology can be used to analyze large amounts of data, such as test results and performance metrics, to identify trends and patterns that may not be immediately apparent. This can help testers better understand the behavior of the software they are testing and make more informed decisions about how to test it.

Overall, Open AI has the potential to significantly enhance the capabilities of software testers and help them to more effectively and efficiently test complex software systems.

Open AI

But how to use this as a tester now? Research! Ask it stuff, even create blog posts or draft other content you need, as well as generating e.g. a fixed number of words without relying on lorum ipsum.

Use Codex to cross-reference or draft test automation scripts

Youtube video using Codex to generate test scripts (code extract not shown on mobile view)

Like the others, this still has a way to go, and I don’t see it ever replacing skill test automators but as a neat cross-referencing tool, to easily give some inspiration on correct formatting, syntax etc. this is a good thing to know about. There was a very interesting LinkedIn post of someone generating a lot of automation code for tests

Other areas with promise are the content moderation and text completion endpoints, which seem very cool as well.

I’m still very much exploring this developing tool set, and look forward to learning from others how they are utilising it (if at all) to add another tool to their testing toolkit.

Bye for now!

Postman Flows Early Access: Feature Guide

I’ve been wrapping my head around the latest Postman Flows early access release, and this one is a biggie. Of course it is still subject to further change still, but as outlined by the team in the linked post, the major changes to the current beta version of the low code API workflow feature called Flows are:-

Start at the Start

  • Back by popular demand, the return of the Start button – don’t call it a comeback!

Simple Block List

Massively simplified list of blocks, probably around 50% are left (those that didn’t make the cut include Test Summary, Create Durables and Conditions blocks to name a few).

Youtube video showing the simplified block list in Postman Flows

Hooking You In With Webhooks

Webhooks – can now be added in order to trigger Flows from the Cloud – this will make CI implementation of a Flow possible as the Webhook URL that is generated when a Flow is created can be saved and called called like any other Postman request, as well as allowing a Flow to be triggered automatically by an event, say, a Slack or Discord message. I’ve tried calling this from the CLI and holy smokes it is fast!

Terminals Terminated

End of Terminalslog blocks can now be added instead, which pumps data to the console log.

YouTube video showing console log entries appearing for tests following execution of a Flow

Flows Query Language (FQL)

The arrival of Flows Query Language (FQL). FQL aims to low code-ify data that is used in our API requests and responses, to allow that data to be easily queried, accessed, reused and changed in a much simpler way than by writing complex JavaScript pre-post scripts against the APIs themselves.

An example Evaluate block, using FQL to add variable strings together to create a query for OpenAI

I suspect FQL will be subject to tweaks, but everyone acknowledges that the click and hope method used prior to this was pretty painful. To my mind it looks a lot more technical (and therefore a bit more scary for a new user to pick up) this way, so I’m hopeful that with plenty of feedback the team can continue to make the experience simpler.

But in order to use Flows for more advanced operations, there does need to be a trade off between ease of use and functionality. FQL is trying to bridge that gap by allowing us to:-

  • Generate standalone data (e.g. current date/timestamp) to use
  • Pull data from a Flow (e.g. a response body value) to use
  • Create our own variables (e.g. no times to iterate a test) to use
  • Manipulate data (trim it, combine it etc.) to turn it into something more useful

Here is Postman’s own FQL guide, which I’ve used extensively for reference.

Youtube video shows an early attempt to work out evaluate block using FQL

Summary

This feature is finally coming close to General Availability. And it feels it too – Flows is much more polished and functioning well. It is worth getting the early access version just to play around with some of these features, especially for folks who are either completely new to Postman or are regular users who want to keep up to date with what it can do.