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 + 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 + 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">««</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">«</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">»</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">»»</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’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’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’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’ve been using AI. I’ve changed my approach a lot as I’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’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">««</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">«</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">»</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">»»</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&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>© 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.