PageSourceSearch

https://www.eviltester.com/blog/

html eviltester.com collected 2026-10-02 04:23:47 UTC 32,604 bytes, 1,016 lines download raw bytes

1
2
3
4
5
6
7    
8    
9    
10    
11
12
13<!doctype html>
14<html lang="en">
15    <head>
16        
17        <meta charset="utf-8" />
18
19        
20        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
21
22        
23
24        <meta name="X-HUGO-PAGE-KIND" content="section" />
25        <meta name="X-HUGO-PAGE-TYPE" content="blog" />
26
27        
28        
29        
30        
31        
32        
33        
34        
35        
36
37        
38        
39        
40        
41        <meta name="robots" content="index, follow" />
42        
43
44        <title>
45            Testing and Dev Blog Posts - EvilTester.com
46        </title>
47
48        
49        
50            
51        
52        
53        
54
55        <meta
56            name="description"
57            content="The Evil Tester - A Software Testing and Development Blog covering Test Automation, Exploratory Testing, Technical Testing, Selenium WebDriver, …"
58        />
59
60        <meta name="author" content="Alan Richardson" />
61
62        
63        
64        <meta name="viewport" content="width=device-width, initial-scale=1" />
65
66        
67        <link
68            href="https://www.eviltester.com/index.xml"
69            rel="alternate"
70            type="application/rss+xml"
71            title="EvilTester.com - Exploratory Testing, Automation, Development (Agile &#43; Web)"
72        />
73        <link
74            href="https://www.eviltester.com/index.xml"
75            rel="feed"
76            type="application/rss+xml"
77            title="EvilTester.com - Exploratory Testing, Automation, Development (Agile &#43; Web)"
78        />
79
80        
81        
82        
83        
84            
85        
86        
87        <link rel="canonical" href="https://www.eviltester.com/blog/" />
88        
89        
90        
91
92
93
94
95
96
97
98    
99
100
101
102<meta property="og:title" content="Testing and Dev Blog Posts">
103<meta name="twitter:title" content="Testing and Dev Blog Posts">
104<meta property="og:description" content="The Evil Tester - A Software Testing and Development Blog covering Test Automation, Exploratory Testing, Technical Testing, Selenium WebDriver, …">
105<meta name="twitter:description" content="The Evil Tester - A Software Testing and Development Blog covering Test Automation, Exploratory Testing, Technical Testing, Selenium WebDriver, …">
106
107
108
109    
110
111<meta property="og:url" content="https://www.eviltester.com/blog/">
112<meta name="twitter:card" content="summary_large_image">
113
114
115
116
117    
118
119
120
121
122
123
124
125
126    <meta property="og:image" content="https://www.eviltester.com/images/postthumbs/_index.jpg">
127    <meta name="twitter:image" content="https://www.eviltester.com/images/postthumbs/_index.jpg">
128
129
130        
131        <link rel="shortcut icon" href="/images/icons/favicon.ico" />
132
133        
134        <link rel="stylesheet" href="/css/eviltester.css" />
135        <link rel="stylesheet" href="/css/replacestrap.css" />
136        
137
138        
139    </head>
140    <body>
141        <header>
142            <a class="skip-main" href="#skip-to-main-content"
143                >Skip to main content</a
144            >
145
146            
147            <div class="container cssmenu">
148<nav aria-label="Site menu">
149    
150    <div id="cssmenu">
151        <ul>
152            <li class="rootdropdownmenuitem"><a class="brand-link" href="/">Home</a></li>
153            <li class="rootdropdownmenuitem"><a href="/blog/">Blog</a>
154                
155            </li>
156
157
158            <li class="rootdropdownmenuitem"><a href="/page/books/">Books</a>
159                
160            </li>
161
162            <li class="rootdropdownmenuitem"><a href="/page/onlinetraining/courses/">Online Training</a>
163                
164            </li>
165
166            <li class="rootdropdownmenuitem"><a href="/page/patreon/">Patreon</a>
167                
168                    
169                    
170                    
171                    
172                    
173                
174            </li>
175
176            <li class="rootdropdownmenuitem"><a href="/conference/">Talks</a>
177            </li>
178
179            <li class="rootdropdownmenuitem"><a href="/page/tools/">Tools</a>
180            </li>
181            
182            <li class="rootdropdownmenuitem"><a href="/show/">Podcast</a></li>
183            <li class="rootdropdownmenuitem"><a href="https://www.youtube.com/user/EvilTesterVideos?sub_confirmation=1&cbrd=1&ucbcb=1">Videos</a></li>
184
185
186
187            <li class="rootdropdownmenuitem"><a href="/page/contact/">Contact</a>
188                <ul class="dropdownmenu">
189                    <li class="dropdownmenuitem"><a href="/page/about/">About</a></li>
190                    <li class="dropdownmenuitem"><a href="/page/contact/">Contact / Services</a></li>
191                    <li class="dropdownmenuitem"><a href="/page/emaillist/">Email List</a></li>
192                </ul>
193            </li>
194        </ul>
195    </div>
196    
197
198</nav>
199</div>
200        </header>
201
202
203<aside class="container current-promotion" aria-label="Current promotion">
204<a href="https://www.patreon.com/c/eviltester" class="nounderline">
205<div class="current-sponsor">
206  	<div class="sponsor-message">
207		<p class="current-sponsor">
208
209<span>My Patreon site has exclusive content, including ad-free videos, e-books, training courses and more, all for as little as $1 a month. 
209Click here to learn more.</span>
210			<img alt="chain link click to learn more" src="/vendor/glyphicons/png/glyphicons_050_link.png">
211			</p>
212	</div>
213</div>
214</a>
215<p>Interested in sponsoring the site? [<a href='/page/services/sponsorship/'>find out more</a>]</p>
216</aside>
217
218
219
220
221
222
223
224
225
226
227
228<main id="skip-to-main-content" tabindex="-1">
229    <div class="main-content">
230
231        <div class="blogs-index-links">
232            
233        </div>
234
235        <div class="jumbotron">
236            <article>
237                <header>
238                    <h1>Software Testing and Development Blog Posts</h1>
239                </header>
240                
241                <p>Subscribe to the full blog feed using <a href="/index.xml">RSS</a></p>
242
243            </article>
244                <p>
245    <a href="/blog/">All Posts</a> |
246    <a href="/categories/">Categories</a> |
247    <a href="/archive/">Archive</a>
248</p>
249
250        </div>
251
252
253        
254
255
256        
257
258
259        
260            
261            
262    <ul class="pagination pagination-default">
263      <li class="page-item disabled">
264        <a aria-disabled="true" aria-label="First" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">&laquo;&laquo;</span></a>
265      </li>
266      <li class="page-item disabled">
267        <a aria-disabled="true" aria-label="Previous" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">&laquo;</span></a>
268      </li>
269      <li class="page-item active">
270        <a aria-current="page" aria-label="Page 1" class="page-link" role="button">1</a>
271      </li>
272      <li class="page-item">
273        <a href="/blog/page/2/" aria-label="Page 2" class="page-link" role="button">2</a>
274      </li>
275      <li class="page-item">
276        <a href="/blog/page/3/" aria-label="Page 3" class="page-link" role="button">3</a>
277      </li>
278      <li class="page-item">
279        <a href="/blog/page/4/" aria-label="Page 4" class="page-link" role="button">4</a>
280      </li>
281      <li class="page-item">
282        <a href="/blog/page/5/" aria-label="Page 5" class="page-link" role="button">5</a>
283      </li>
284      <li class="page-item">
285        <a href="/blog/page/2/" aria-label="Next" class="page-link" role="button"><span aria-hidden="true">&raquo;</span></a>
286      </li>
287      <li class="page-item">
288        <a href="/blog/page/53/" aria-label="Last" class="page-link" role="button"><span aria-hidden="true">&raquo;&raquo;</span></a>
289      </li>
290    </ul>
291            <div class="blog-post-list">
292                
293                
294<div class="blogs-index-article-wrapper">
295<article class="blogs-index-article">
296    
297    
298        
299    
300    
301    
302    
303    
304    
305    <div class="blogs-index-article-thumbnail" >
306        <a href='https://www.eviltester.com/show/033-quern-jerimiah-ham/'>
307            
308                <img class="postthumb" src="/images/podcast/033-eviltester-quern.jpg" alt="Quern - Jerimiah Ham | Show 033">
309            
310        </a>
311    </div>
312
313    <div class="blogs-index-article-description">
314        <h2><a href='https://www.eviltester.com/show/033-quern-jerimiah-ham/'>Mobile AI Testing - Quern - Jerimiah Ham - The Evil Tester Show Episode 033</a></h2>
315        
316
317<div class="summary-post-details">
318    <p class="meta">
319         63 minute read 
320        
321
322        
323        
324        
325            - <a class="catlabel" href="https://www.eviltester.com/categories/podcast/">podcast </a>
326        
327    </p>
328</div>
329
330        
331        <div class="blog-list-summary"><p>Alan Richardson speaks to Jerimiah Ham about Software Testing with AI and his new Free AI enabled Mobile Automating and Testing Tool Quern.</p></div>
332
333        <div class="readon">
334            <p><a href='https://www.eviltester.com/show/033-quern-jerimiah-ham/'>Read More...</a></p>
335        </div>
336        <hr>
337    </div>
338</article>
339</div>
340
341                
342                
343<div class="blogs-index-article-wrapper">
344<article class="blogs-index-article">
345    
346    
347        
348    
349    
350    
351    
352    
353    
354    <div class="blogs-index-article-thumbnail" >
355        <a href='https://www.eviltester.com/blog/eviltester/apichallenges/2026-08-20-how-i-coded-api-from-hell/'>
356            
357            <img class="postthumb" src="/images/postthumbs/2026-08-20-how-i-coded-api-from-hell.jpg" alt="How to write an API From Hell or how to send a bad HTTP Response">
358            
359        </a>
360    </div>
361
362    <div class="blogs-index-article-description">
363        <h2><a href='https://www.eviltester.com/blog/eviltester/apichallenges/2026-08-20-how-i-coded-api-from-hell/'>How to Write an API From Hell</a></h2>
364        
365
366<div class="summary-post-details">
367    <p class="meta">
368         10 minute read 
369        
370
371        
372        
373        
374            - <a class="catlabel" href="https://www.eviltester.com/categories/api-testing/">API Testing </a><a class="catlabel" href="https://www.eviltester.com/categories/api-challenges/">API Challenges </a>
375        
376    </p>
377</div>
378
379        
380        <div class="blog-list-summary"><p><em>TLDR; the API From Hell has multiple implementations each of which required bypassing the language and frameworks used in different ways and now I can stress test REST Clients and I&rsquo;ve found some error conditions in HTTP Proxies.</em></p></div>
381
382        <div class="readon">
383            <p><a href='https://www.eviltester.com/blog/eviltester/apichallenges/2026-08-20-how-i-coded-api-from-hell/'>Read More...</a></p>
384        </div>
385        <hr>
386    </div>
387</article>
388</div>
389
390                
391                
392<div class="blogs-index-article-wrapper">
393<article class="blogs-index-article">
394    
395    
396        
397    
398    
399    
400    
401    
402    
403    <div class="blogs-index-article-thumbnail" >
404        <a href='https://www.eviltester.com/blog/eviltester/trailofcode/boomstash-initial-architecture/'>
405            
406            <img class="postthumb" src="/images/postthumbs/boomstash-initial-architecture.jpg" alt="A Trail of Code - Boomstash">
407            
408        </a>
409    </div>
410
411    <div class="blogs-index-article-description">
412        <h2><a href='https://www.eviltester.com/blog/eviltester/trailofcode/boomstash-initial-architecture/'>Boomstash</a></h2>
413        
414
415<div class="summary-post-details">
416    <p class="meta">
417         14 minute read 
418        
419
420        
421        
422        
423            - <a class="catlabel" href="https://www.eviltester.com/categories/case-study/">case study </a>
424        
425    </p>
426</div>
427
428        
429        <div class="blog-list-summary"><p><em>TLDR; When we use AI we don&rsquo;t need to be as precious about architecture decisions as we used to. The principles we implement are important, the technology, less so, provided we have thought about exit strategies.</em></p></div>
430
431        <div class="readon">
432            <p><a href='https://www.eviltester.com/blog/eviltester/trailofcode/boomstash-initial-architecture/'>Read More...</a></p>
433        </div>
434        <hr>
435    </div>
436</article>
437</div>
438
439                
440                
441<div class="blogs-index-article-wrapper">
442<article class="blogs-index-article">
443    
444    
445        
446    
447    
448    
449    
450    
451    
452    <div class="blogs-index-article-thumbnail" >
453        <a href='https://www.eviltester.com/show/032-trowser-rikard-edgren/'>
454            
455                <img class="postthumb" src="/images/podcast/032-eviltester-trowser.jpg" alt="Trowser - Rikard Edgren | Show 032">
456            
457        </a>
458    </div>
459
460    <div class="blogs-index-article-description">
461        <h2><a href='https://www.eviltester.com/show/032-trowser-rikard-edgren/'>Software Testing Podcast - Trowser - Rikard Edgren - The Evil Tester Show Episode 032</a></h2>
462        
463
464<div class="summary-post-details">
465    <p class="meta">
466         52 minute read 
467        
468
469        
470        
471        
472            - <a class="catlabel" href="https://www.eviltester.com/categories/podcast/">podcast </a>
473        
474    </p>
475</div>
476
477        
478        <div class="blog-list-summary"><p>Alan Richardson speaks to Rikard Edgren about Software Testing with AI and his new Free AI enabled Web Browser designed for software testers called Trowser.</p></div>
479
480        <div class="readon">
481            <p><a href='https://www.eviltester.com/show/032-trowser-rikard-edgren/'>Read More...</a></p>
482        </div>
483        <hr>
484    </div>
485</article>
486</div>
487
488                
489                
490<div class="blogs-index-article-wrapper">
491<article class="blogs-index-article">
492    
493    
494        
495    
496    
497    
498    
499    
500    
501    <div class="blogs-index-article-thumbnail" >
502        <a href='https://www.eviltester.com/blog/eviltester/apichallenges/api-from-hell-overview/'>
503            
504            <img class="postthumb" src="/images/postthumbs/api-from-hell-overview.jpg" alt="API From Hell Shows Your API Client is Lying to you">
505            
506        </a>
507    </div>
508
509    <div class="blogs-index-article-description">
510        <h2><a href='https://www.eviltester.com/blog/eviltester/apichallenges/api-from-hell-overview/'>API From Hell Exposes Bugs in API Clients</a></h2>
511        
512
513<div class="summary-post-details">
514    <p class="meta">
515         6 minute read 
516        
517
518        
519        
520        
521            - <a class="catlabel" href="https://www.eviltester.com/categories/api-testing/">API Testing </a><a class="catlabel" href="https://www.eviltester.com/categories/api-challenges/">API Challenges </a>
522        
523    </p>
524</div>
525
526        
527        <div class="blog-list-summary"><p>TLDR; the API From Hell has endpoints for stressful HTTP conditions to expose the observation and interrogation issues in REST clients. Testers need to understand the limitations of their tools and infrastru
527cture.</p></div>
528
529        <div class="readon">
530            <p><a href='https://www.eviltester.com/blog/eviltester/apichallenges/api-from-hell-overview/'>Read More...</a></p>
531        </div>
532        <hr>
533    </div>
534</article>
535</div>
536
537                
538                
539<div class="blogs-index-article-wrapper">
540<article class="blogs-index-article">
541    
542    
543        
544    
545    
546    
547    
548    
549    
550    <div class="blogs-index-article-thumbnail" >
551        <a href='https://www.eviltester.com/blog/eviltester/testpages/ai-chat-bot/'>
552            
553            <img class="postthumb" src="/images/postthumbs/ai-chat-bot.jpg" alt="Testing Exercises for an AI Chat Bot">
554            
555        </a>
556    </div>
557
558    <div class="blogs-index-article-description">
559        <h2><a href='https://www.eviltester.com/blog/eviltester/testpages/ai-chat-bot/'>AI Chat Bot Testing Exercises</a></h2>
560        
561
562<div class="summary-post-details">
563    <p class="meta">
564         4 minute read 
565        
566
567        
568        
569        
570            - <a class="catlabel" href="https://www.eviltester.com/categories/ai/">AI </a><a class="catlabel" href="https://www.eviltester.com/categories/test-pages/">Test PAges </a>
571        
572    </p>
573</div>
574
575        
576        <div class="blog-list-summary"><p>TLDR; You can use the AI Shopping Cart Chat Bot on Test Pages to practice testing.</p></div>
577
578        <div class="readon">
579            <p><a href='https://www.eviltester.com/blog/eviltester/testpages/ai-chat-bot/'>Read More...</a></p>
580        </div>
581        <hr>
582    </div>
583</article>
584</div>
585
586                
587                
588<div class="blogs-index-article-wrapper">
589<article class="blogs-index-article">
590    
591    
592        
593    
594    
595    
596    
597    
598    
599    <div class="blogs-index-article-thumbnail" >
600        <a href='https://www.eviltester.com/blog/eviltester/apichallenges/2026-07-17-api-challenges-updates/'>
601            
602            <img class="postthumb" src="/images/postthumbs/2026-07-17-api-challenges-updates.jpg" alt="API Challenges with Swagger UI and Simulator Requests">
603            
604        </a>
605    </div>
606
607    <div class="blogs-index-article-description">
608        <h2><a href='https://www.eviltester.com/blog/eviltester/apichallenges/2026-07-17-api-challenges-updates/'>API Challenges Improvements</a></h2>
609        
610
611<div class="summary-post-details">
612    <p class="meta">
613         3 minute read 
614        
615
616        
617        
618        
619            - <a class="catlabel" href="https://www.eviltester.com/categories/api-testing/">API Testing </a><a class="catlabel" href="https://www.eviltester.com/categories/api-challenges/">API Challenges </a>
620        
621    </p>
622</div>
623
624        
625        <div class="blog-list-summary"><p>TLDR; API Challenges can now be used without installing any REST Clients.</p></div>
626
627        <div class="readon">
628            <p><a href='https://www.eviltester.com/blog/eviltester/apichallenges/2026-07-17-api-challenges-updates/'>Read More...</a></p>
629        </div>
630        <hr>
631    </div>
632</article>
633</div>
634
635                
636                
637<div class="blogs-index-article-wrapper">
638<article class="blogs-index-article">
639    
640    
641        
642    
643    
644    
645    
646    
647    
648    <div class="blogs-index-article-thumbnail" >
649        <a href='https://www.eviltester.com/blog/eviltester/ai/how-i-ai/2026-06-30-ai-automated-interactive-review/'>
650            
651            <img class="postthumb" src="/images/postthumbs/2026-06-30-ai-automated-interactive-review.jpg" alt="How I AI - Automated AI Interactive Review">
652            
653        </a>
654    </div>
655
656    <div class="blogs-index-article-description">
657        <h2><a href='https://www.eviltester.com/blog/eviltester/ai/how-i-ai/2026-06-30-ai-automated-interactive-review/'>AI Interactive Web Application Review</a></h2>
658        
659
660<div class="summary-post-details">
661    <p class="meta">
662         9 minute read 
663        
664
665        
666        
667        
668            - <a class="catlabel" href="https://www.eviltester.com/categories/ai/">AI </a>
669        
670    </p>
671</div>
672
673        
674        <div class="blog-list-summary"><p>TLDR; I&rsquo;ve been using AI to interact with a web application and find defects. And it does interact with the application, keep focus on the specific story context, then finds and raises defects.</p></div>
675
676        <div class="readon">
677            <p><a href='https://www.eviltester.com/blog/eviltester/ai/how-i-ai/2026-06-30-ai-automated-interactive-review/'>Read More...</a></p>
678        </div>
679        <hr>
680    </div>
681</article>
682</div>
683
684                
685                
686<div class="blogs-index-article-wrapper">
687<article class="blogs-index-article">
688    
689    
690        
691    
692    
693    
694    
695    
696    
697    <div class="blogs-index-article-thumbnail" >
698        <a href='https://www.eviltester.com/blog/eviltester/ai/how-i-ai/2026-06-26-how-i-use-ai-today/'>
699            
700            <img class="postthumb" src="/images/postthumbs/2026-06-26-how-i-use-ai-today.jpg" alt="How I AI - A Working Position on 20260626">
701            
702        </a>
703    </div>
704
705    <div class="blogs-index-article-description">
706        <h2><a href='https://www.eviltester.com/blog/eviltester/ai/how-i-ai/2026-06-26-how-i-use-ai-today/'>How I Use AI for Software Development</a></h2>
707        
708
709<div class="summary-post-details">
710    <p class="meta">
711         16 minute read 
712        
713
714        
715        
716        
717            - <a class="catlabel" href="https://www.eviltester.com/categories/ai/">AI </a>
718        
719    </p>
720</div>
721
722        
723        <div class="blog-list-summary"><p>TLDR; I&rsquo;ve been using AI. I&rsquo;ve changed my approach a lot as I&rsquo;ve gained experience. AI has allowed me to experiment with more tools and process, and build more, than I could possibly have done without it. I&rsquo;m experimenting to find new ways to use it better.</p></div>
724
725        <div class="readon">
726            <p><a href='https://www.eviltester.com/blog/eviltester/ai/how-i-ai/2026-06-26-how-i-use-ai-today/'>Read More...</a></p>
727        </div>
728        <hr>
729    </div>
730</article>
731</div>
732
733                
734                
735<div class="blogs-index-article-wrapper">
736<article class="blogs-index-article">
737    
738    
739        
740    
741    
742    
743    
744    
745    
746    <div class="blogs-index-article-thumbnail" >
747        <a href='https://www.eviltester.com/blog/eviltester/apichallenges/2026-04-14-api-spector-first-look/'>
748            
749            <img class="postthumb" src="/images/postthumbs/2026-04-14-api-spector-first-look.jpg" alt="API Spector Open Source API Testing Tool">
750            
751        </a>
752    </div>
753
754    <div class="blogs-index-article-description">
755        <h2><a href='https://www.eviltester.com/blog/eviltester/apichallenges/2026-04-14-api-spector-first-look/'>API Spector a new Open Source API Testing Tool</a></h2>
756        
757
758<div class="summary-post-details">
759    <p class="meta">
760         2 minute read 
761        
762
763        
764        
765        
766            - <a class="catlabel" href="https://www.eviltester.com/categories/api-testing/">API Testing </a><a class="catlabel" href="https://www.eviltester.com/categories/api-challenges/">API Challenges </a>
767        
768    </p>
769</div>
770
771        
772        <div class="blog-list-summary"><p>TLDR; API Spector is a new free HTTP and WebSocket Testing Tool.</p></div>
773
774        <div class="readon">
775            <p><a href='https://www.eviltester.com/blog/eviltester/apichallenges/2026-04-14-api-spector-first-look/'>Read More...</a></p>
776        </div>
777        <hr>
778    </div>
779</article>
780</div>
781
782                
783            </div>
784
785            
786    <ul class="pagination pagination-default">
787      <li class="page-item disabled">
788        <a aria-disabled="true" aria-label="First" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">&laquo;&laquo;</span></a>
789      </li>
790      <li class="page-item disabled">
791        <a aria-disabled="true" aria-label="Previous" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">&laquo;</span></a>
792      </li>
793      <li class="page-item active">
794        <a aria-current="page" aria-label="Page 1" class="page-link" role="button">1</a>
795      </li>
796      <li class="page-item">
797        <a href="/blog/page/2/" aria-label="Page 2" class="page-link" role="button">2</a>
798      </li>
799      <li class="page-item">
800        <a href="/blog/page/3/" aria-label="Page 3" class="page-link" role="button">3</a>
801      </li>
802      <li class="page-item">
803        <a href="/blog/page/4/" aria-label="Page 4" class="page-link" role="button">4</a>
804      </li>
805      <li class="page-item">
806        <a href="/blog/page/5/" aria-label="Page 5" class="page-link" role="button">5</a>
807      </li>
808      <li class="page-item">
809        <a href="/blog/page/2/" aria-label="Next" class="page-link" role="button"><span aria-hidden="true">&raquo;</span></a>
810      </li>
811      <li class="page-item">
812        <a href="/blog/page/53/" aria-label="Last" class="page-link" role="button"><span aria-hidden="true">&raquo;&raquo;</span></a>
813      </li>
814    </ul>
815
816        
817
818
819
820
821    </div>
822
823    <aside class="sidebar" aria-label="Related links">
824
825    <div style="background:#dbfbbf">
826        <h2 style="background:#aaf5a2">Join The Evil Tester Patreon Community</h2>
827        <p><strong>Free training courses and ebooks (sold for over $200).</strong></p>
828        <p><a href="/page/patreon/">Learn more about EvilTester on Patreon</a></p>
829        <p>Support our work and gain access to hints, tips, and prompts for improving your Software Development skills. Regular updates, multiple times a week for as little as $1 per month.</p>
830
831        <p><a href="https://www.testerhq.com/member2">Patreon Members Login for exclusive courses and ebooks.</a></p>
832    </div>
833
834    <hr>
835
836        <div>
837        <p>I offer a special blend of skill, attitude and pragmatism that helps software development teams increase the value of their testing approach allowing them to deliver, automate and test software better.</p>
838        <ul>
839            <li><a href="/page/services/consultancy/">Consultancy</a>,</li>
840            <li><a href="/page/services/mentoring/">Mentoring</a>,</li>
841            <li><a href="/blog/eviltester/agile/agile-testing/">Agile Coaching</a>,</li>
842            <li><a href="/page/services/test-automation-consultancy/">Test Automation</a>,</li>
843            <li><a href="/page/services/code-reviews/">Automation Code Reviews</a></li>
844        </ul>
845    </div>
846
847    <hr>
848
849    <div>
850        <ul>
851            <li><a href="/blog/">More Blog Posts</a></li>
852            <li><a href="/show/">Podcast</a></li>
853            <li><a href="/page/onlinetraining/courses/">Free online courses</a></li>
854            <li><a href="https://www.youtube.com/user/EvilTesterVideos?sub_confirmation=1&cbrd=1&ucbcb=1">YouTube</a></li>
855        </ul>
856    </div>
857
858    <div>
859        <h2>Contact</h2>
860        <p><a href="/page/contact/">Contact Me</a></p>
861    </div>
862
863    <div class="sidebar-emaillist">
864        
865<div id="mc_embed_signup">
866    <form action="https://eviltester.us4.list-manage.com/subscribe/post?u=83b0fb8232910a09826751423&amp;id=2ee9bf52d6" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
867        <div id="mc_embed_signup_scroll">
868            <h2>Join Email List</h2>
869            <div class="mc-field-group">
870                <label for="mce-EMAIL">Email Address </label>
871                <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
872            </div>
873            <div id="mce-responses" class="clear">
874                <div class="response" id="mce-error-response" style="display:none"></div>
875                <div class="response" id="mce-success-response" style="display:none"></div>
876            </div>    
877            <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_83b0fb8232910a09826751423_2ee9bf52d6" tabindex="-1" value=""></div>
878            <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
879        </div>
880    </form>
881</div>
882
883
884        <p class="center-text"><a href="/page/emaillist/">Email Privacy Details</a>.</p>
885    </div>
886
887    <hr>
888
889
890
891    <div class="sidebar-books">
892        <h2>Books</h2>
893        <a href="/page/deareviltester/" title="Dear Evil Tester">
894            <img src="/images/sidebar/dear_evil_tester_book.png" alt="Buy Dear Evil Tester Book">
895        </a>
896        <a href="/page/books/java-for-testers/" title="Java For Testers">
897            <img src="/images/sidebar/java_for_testers_book.png" alt="Buy Java For Testers Book">
898        </a>
899        <a href="/page/books/automating-testing-api-casestudy/" title="Automating and Testing a REST API">
900            <img src="/images/sidebar/automating_testing_rest_api_book.jpg" alt="Buy Automating and Testing a REST API">
901        </a>
902        <a href="/page/books/selenium-simplified/" title="Selenium Simplified">
903            <img src="/images/sidebar/selenium_simplified_book.gif" alt="Buy Selenium Simplified Book">
904        </a>
905        <p><a href="/page/books/">Learn more about our books</a></p>
906    </div>
907
908    <hr>
909
910    <div>
911        <h2>Follow</h2>
912        <div class="social-media-icons">
913    <p>
914        <a href="/page/contact/"><img src="/images/icons/email.png" alt="Connect via email" title="Contact Form"></a>
915        <a href="https://twitter.com/eviltester"><img src="/images/icons/twitter.png" alt="Follow on Twitter" title="Twitter"></a>
916        
917        <a href="https://www.youtube.com/user/EvilTesterVideos?sub_confirmation=1&cbrd=1&ucbcb=1"><img src="/images/icons/youtube.png" alt="Subscribe to my YouTube Channel" title="YouTube"></a>
918        <a href="https://uk.linkedin.com/in/eviltester"><img src="/images/icons/linkedin.png" alt="Connect on LinkedIn" title="Linkedin"></a>
919        <a href="https://github.com/eviltester"><img src="/images/icons/github.png" alt="Follow on GitHub" title="Github"></a>
920        
921        <a href="https://www.instagram.com/eviltester/"><img src="/images/icons/instagram.png" alt="Follow on Instagram" title="Instagram"></a>
922
923        <a class="rss" href="/index.xml"><img src="/images/icons/rss.png" alt="Subscribe to my RSS Feed" title="RSS Feed"></a>
924    </p>
925</div>
926    </div>
927
928
929
930    <div>
931        <h2>Recent Blog Posts</h2>
932        
933    
934<p><a href="https://www.eviltester.com/show/033-quern-jerimiah-ham/">Quern - Jerimiah Ham | Show 033</a></p>
935    
936<p><a href="https://www.eviltester.com/blog/eviltester/apichallenges/2026-08-20-how-i-coded-api-from-hell/">How to write an API From Hell or how to send a bad HTTP Response</a></p>
937    
938<p><a href="https://www.eviltester.com/blog/eviltester/trailofcode/boomstash-initial-architecture/">A Trail of Code - Boomstash</a></p>
939    
940<p><a href="https://www.eviltester.com/show/032-trowser-rikard-edgren/">Trowser - Rikard Edgren | Show 032</a></p>
941    
942<p><a href="https://www.eviltester.com/blog/eviltester/apichallenges/api-from-hell-overview/">API From Hell Shows Your API Client is Lying to you</a></p>
943    
944<p><a href="https://www.eviltester.com/blog/eviltester/testpages/ai-chat-bot/">Testing Exercises for an AI Chat Bot</a></p>
945    
946<p><a href="https://www.eviltester.com/blog/eviltester/apichallenges/2026-07-17-api-challenges-updates/">API Challenges with Swagger UI and Simulator Requests</a></p>
947    
948<p><a href="https://www.eviltester.com/blog/eviltester/ai/how-i-ai/2026-06-30-ai-automated-interactive-review/">How I AI - Automated AI Interactive Review</a></p>
949    
950
951
952        <ul>
953        <li><a href="/categories/">All Blog Categories</a></li>
954        <li><a href="/archive/">Blog Post Archive List</a></li>
955        </ul>
956
957    </div>
958
959</aside>
960
961
962</main>
963
964<div style="clear:both">
965<footer>
966  <div class="container footer">
967    <div class="fifty-left">
968      <p>&copy; Alan Richardson, <a href="https://compendiumdev.co.uk">Compendium Developments Ltd</a> 2026 -
969        <a href="/page/privacy/">Privacy Policy</a> |
970        <a href="/page/contact/">Contact Us</a>
971      </p>
972    </div>
973    <div class="fifty-right">
974      <div style="text-align: center">
975        <div class="social-media-icons">
976    <p>
977        <a href="/page/contact/"><img src="/images/icons/email.png" alt="Connect via email" title="Contact Form"></a>
978        <a href="https://twitter.com/eviltester"><img src="/images/icons/twitter.png" alt="Follow on Twitter" title="Twitter"></a>
979        
980        <a href="https://www.youtube.com/user/EvilTesterVideos?sub_confirmation=1&cbrd=1&ucbcb=1"><img src="/images/icons/youtube.png" alt="Subscribe to my YouTube Channel" title="YouTube"></a>
981        <a href="https://uk.linkedin.com/in/eviltester"><img src="/images/icons/linkedin.png" alt="Connect on LinkedIn" title="Linkedin"></a>
982        <a href="https://github.com/eviltester"><img src="/images/icons/github.png" alt="Follow on GitHub" title="Github"></a>
983        
984        <a href="https://www.instagram.com/eviltester/"><img src="/images/icons/instagram.png" alt="Follow on Instagram" title="Instagram"></a>
985
986        <a class="rss" href="/index.xml"><img src="/images/icons/rss.png" alt="Subscribe to my RSS Feed" title="RSS Feed"></a>
987    </p>
988</div>
989      </div>
990    </div>
991  </div>
992</footer>
993</div>
994
995
996<script>
997    var links = document.links;
998
999    for (var i = 0, linksLength = links.length; i < linksLength; i++) {
1000        if (links[i].hostname != window.location.hostname) {
1001            links[i].target = '_blank';
1002            links[i].setAttribute("rel","noopener noreferrer");
1003        }
1004    }
1005</script>
1005
1006
1007<script defer src="/js/youtube-facade.js"></script>
vendor: 1 bytes, line 1007
1007
1008<script defer src="/js/embed-facade.js"></script>
vendor: 1 bytes, line 1008
1008
1009<script defer src="/js/accessibility-fixes.js"></script>
vendor: 1 bytes, line 1009
1009
1010<script defer data-domain="eviltester.com" src="https://plausible.io/js/plausible.js"></script>
vendor: 1 bytes, line 1010
1010
1011<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
1011
1012
1013</body>
1014</html>
1015
1016

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.