seasidetesting.com
Open in
urlscan Pro
192.0.78.136
Public Scan
URL:
https://seasidetesting.com/
Submission: On November 21 via api from US — Scanned from DE
Submission: On November 21 via api from US — Scanned from DE
Form analysis
5 forms found in the DOMGET https://seasidetesting.com
<form role="search" method="get" class="search-form" action="https://seasidetesting.com">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Search…" value="" name="s">
</label>
<button type="submit" class="search-submit"><i class="fas fa-search"></i></button>
<input type="hidden" name="lang" value="en">
</form>
GET https://seasidetesting.com
<form role="search" method="get" class="search-form" action="https://seasidetesting.com">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Search…" value="" name="s">
</label>
<button type="submit" class="search-submit"><i class="fas fa-search"></i></button>
<input type="hidden" name="lang" value="en">
</form>
POST
<form method="post" class="gdpr-privacy-preferences-frm">
<input type="hidden" name="action" value="gdpr_update_privacy_preferences">
<input type="hidden" id="update-privacy-preferences-nonce" name="update-privacy-preferences-nonce" value="8106b1ba7d"><input type="hidden" name="_wp_http_referer" value="/">
<header>
<div class="gdpr-box-title">
<h3>Privacy Preference Center</h3>
<span class="gdpr-close"></span>
</div>
</header>
<div class="gdpr-mobile-menu">
<button type="button">Options</button>
</div>
<div class="gdpr-content">
<div class="gdpr-tabs">
<ul class="">
<li><button type="button" class="gdpr-tab-button gdpr-active" data-target="gdpr-consent-management">Consent Management</button></li>
<li><button type="button" class="gdpr-tab-button gdpr-cookie-settings" data-target="necessary">Cookie Settings</button>
<ul class="gdpr-subtabs">
</ul>
</li>
</ul>
<ul class="gdpr-policies">
</ul>
</div>
<div class="gdpr-tab-content">
<div class="gdpr-consent-management gdpr-active">
<header>
<h4>Consent Management</h4>
</header>
<div class="gdpr-info">
<p></p>
</div>
</div>
<div class="necessary">
<header>
<h4>Necessary</h4>
</header><!-- /header -->
<div class="gdpr-info">
<p></p>
</div>
</div>
<div class="advertising">
<header>
<h4>Advertising</h4>
</header><!-- /header -->
<div class="gdpr-info">
<p></p>
</div>
</div>
<div class="analytics">
<header>
<h4>Analytics</h4>
</header><!-- /header -->
<div class="gdpr-info">
<p></p>
</div>
</div>
<div class="other">
<header>
<h4>Other</h4>
</header><!-- /header -->
<div class="gdpr-info">
<p></p>
</div>
</div>
</div>
<input type="hidden" name="all_cookies" value="[]">
</div>
<footer>
<input type="submit" value="Save Preferences">
</footer>
</form>
<form id="jp-carousel-comment-form">
<label for="jp-carousel-comment-form-comment-field" class="screen-reader-text">Write a Comment...</label>
<textarea name="comment" class="jp-carousel-comment-form-field jp-carousel-comment-form-textarea" id="jp-carousel-comment-form-comment-field" placeholder="Write a Comment..."></textarea>
<div id="jp-carousel-comment-form-submit-and-info-wrapper">
<div id="jp-carousel-comment-form-commenting-as">
<fieldset>
<label for="jp-carousel-comment-form-email-field">Email (Required)</label>
<input type="text" name="email" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-email-field">
</fieldset>
<fieldset>
<label for="jp-carousel-comment-form-author-field">Name (Required)</label>
<input type="text" name="author" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-author-field">
</fieldset>
<fieldset>
<label for="jp-carousel-comment-form-url-field">Website</label>
<input type="text" name="url" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-url-field">
</fieldset>
</div>
<input type="submit" name="submit" class="jp-carousel-comment-form-button" id="jp-carousel-comment-form-button-submit" value="Post Comment">
</div>
</form>
<form autocomplete="off" role="search" class="jetpack-instant-search__search-results-search-form">
<div class="jetpack-instant-search__search-form">
<div class="jetpack-instant-search__box"><label for="jetpack-instant-search__box-input-1" class="jetpack-instant-search__box-label">
<div class="jetpack-instant-search__box-gridicon"><svg focusable="true" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="false" class="gridicon gridicons-search " style="height: 24px; width: 24px;">
<title>Magnifying Glass</title>
<g>
<path d="M21 19l-5.154-5.154C16.574 12.742 17 11.42 17 10c0-3.866-3.134-7-7-7s-7 3.134-7 7 3.134 7 7 7c1.42 0 2.742-.426 3.846-1.154L19 21l2-2zM5 10c0-2.757 2.243-5 5-5s5 2.243 5 5-2.243 5-5 5-5-2.243-5-5z"></path>
</g>
</svg></div><input autocomplete="off" id="jetpack-instant-search__box-input-1" inputmode="search" placeholder="Search…" type="search" class="search-field jetpack-instant-search__box-input"><button tabindex="-1"
class="screen-reader-text assistive-text">Search</button>
</label></div>
</div>
</form>
Text Content
Skip to main content * Follow me on Mastodon * Follow me on Twitter * Fork me on GitHub * Subscribe to my RSS feed Seaside Testing On Testing, Patterns & Learning Skip to content * Work With Me * Book A Workshop or Tutorial * About AUTHOR AND COMMITTER DATES IN GIT – AN OBSCURE BUG Sun, August 4, 2024 StephanUncategorized No Comments THE CONTEXT While preparing a Git repository for my tutorial “The Disappearance of J. T. Womblegast — A Git Tutorial” for the Agile Testing Days 2024, I wanted to set the commit and author date for commits explicitly. In most cases, these dates are identical. Still, they can be different, as the author and committer can be different people (for details about the commit details, see the extensive Git documentation for commits). One interesting detail about the dates: The author date can be set with the command line option --date , while the committer date can only be set using an environment variable. HOW TO SET THE DATES I chose to set the author date using the command line option and the environment variable GIT_COMMITTER_DATE for the committer date. When there is a change in the Git index (or staging area), here’s how to commit it with the given date and time info: ? > GIT_COMMITTER_DATE="Sun Aug 4 11:14:08 2024 +0200" git commit -m "Demo commit" --date "Wed Jul 24 19:09:11 2024 +0200" [main (root-commit) cbaea5e] Demo commit Date: Wed Jul 24 19:09:11 2024 +0200 1 file changed, 1 insertion(+) create mode 100644 wahoodie All is good: I created a file with some content, added it to the staging area, and committed it. VARYING THE DATES Let’s be more daring with the commit dates and go a few years into the future and past. Add some more text to the file ‘wahoodie’ I used before, add the change to the Git index and commit: ? > echo "more text" >> wahoodie > git add . > GIT_COMMITTER_DATE="Sat Jan 1 00:00:00 2000 +0200" git commit -m "Another commit" --date "Tue Jan 19 2038 03:14:08 UTC" [main 133c21b] Demo commit Date: Tue Jan 19 03:14:08 2038 +0000 1 file changed, 1 insertion(+) It still looks good. WHEN IT’S NOT WORKING Now, let’s go far into the past (and future): ? > echo "another line" >> wahoodie > git add . > GIT_COMMITTER_DATE="Wed 11 Oct 1634 22:47:38 +0000" git commit -m "Updates file" --date "Tue Jan 19 2038 03:14:08 UTC" fatal: invalid date format: Wed 11 Oct 1634 22:47:38 +0000 Huh? Is something wrong with the (committer) date? It looks OK, but it could be the weekday that’s causing trouble. Let’s try to commit a change using the wrong weekdays: ? > echo "even more text" >> wahoodie > git add . > GIT_COMMITTER_DATE="Mon Aug 4 11:14:08 2024 +0200" git commit -m "Demo commit" --date "Sun Jul 24 19:09:11 2024 +0200" [main e2e848e] Demo commit Date: Wed Jul 24 19:09:11 2024 +0200 1 file changed, 1 insertion(+) stephan@seaside ~/dev/garble-git-repo/tmp/wahoodie ᚠ main > git log --format="Author Date: %ad %nCommitter Date: %cd %h" -1 Author Date: Wed Jul 24 19:09:11 2024 +0200 Committer Date: Sun Aug 4 11:14:08 2024 +0200 e2e848e The given date is used, and the offered weekday was corrected. Things look OK when leaving out the weekday altogether: ? > echo "one more line" >> wahoodie > git add . > GIT_COMMITTER_DATE="Aug 4 11:14:08 1987 +0200" git commit -m "further update" --date "Jul 24 2042 19:09:11 +0200" [main 696dc2b] further update Date: Thu Jul 24 19:09:11 2042 +0200 1 file changed, 1 insertion(+) > git log --format="Author Date: %ad %nCommitter Date: %cd %h" -1 Author Date: Thu Jul 24 19:09:11 2042 +0200 Committer Date: Tue Aug 4 11:14:08 1987 +0200 696dc2b THE REAL CAUSE OF THE ERROR MESSAGE After experimenting with the date & talking to folks on the Git Discord, I figured the epoch is the (lower) boundary for dates in Git. Let’s use the following shell script (‘demo-date-format-issue.sh’): ? 1 2 3 4 5 6 git init tmp cd tmp echo "Some content" > non-empty-file.txt git add . GIT_COMMITTER_DATE="31 Dec 1969 23:59:60 +0000" git commit -m "Commit 1" --date "12 Dec 1969 23:59:60 +0000" GIT_COMMITTER_DATE="01 Jan 1970 00:00:00 +0000" git commit -m "Commit 1" --date "01 Jan 1970 00:00:00 +0000" Running it gives the following output: ? > ./demo-date-format-issue.sh Initialized empty Git repository in /Users/stephan/dev/garble-git-repo/tmp/.git/ fatal: invalid date format: 31 Dec 1969 23:59:60 +0000 [main (root-commit) 9c0b65a] Commit 1 Date: Thu Jan 1 00:00:00 1970 +0000 1 file changed, 1 insertion(+) create mode 100644 non-empty-file.txt Aha! The first commit attempt fails and gives a misleading error message: The date format is perfectly valid. Apparently, Git can’t process a date before 1 January 1970 00:00:00 UTC. Remarkably, the next date that might cause trouble, ‘2038-01-19T03:14:08+00:00’, doesn’t. Instead, the last future date & time at which a commit is possible is ‘2099-12-31T23:59:59+00:00’, as the following example code shows: ? echo "More content" > non-empty-file.txt git add . GIT_COMMITTER_DATE="01 Jan 2100 00:00:00 +0000" git commit -m "Commit 2" --date "01 Jan 2100 00:00:00 +0000" GIT_COMMITTER_DATE="31 Dec 2099 23:59:60 +0000" git commit -m "Commit 2" --date "31 Dec 2099 23:59:60 +0000" The output of this is: ? fatal: invalid date format: 01 Jan 2100 00:00:00 +0000 I don’t understand why the year change from 2099 to 2100 is the upper boundary for the dates Git will process. To me, this seems a bit limiting since it’s ‘just’ ≈75½ years until then. (If you know why this limit has been chosen, please share.) In any case, printing an error message that claims a date format is invalid when it’s not is a bug. I said ‘obscure bug’ in the title. I reported the issue in the Git mailing list, but am not sure about how thigs develop from here. Someone proposed a better error message and I very much appreciate it. SHARE THIS: * Twitter * Email * Print * LIKE THIS: Like Loading... AGILE TESTING DAYS 2024 – PLANNED SESSIONS Tue, May 14, 2024 StephanConferences Learning Testing No Comments At Agile Testing Days 2024, I offer a full-full day tutorial, ‘The Disappearance of J. T. Womblegast — A Git Tutorial‘ (on 19. Nov.). As the name suggests, the tutorial is about working with Git. But it’s also a mystery journey about the disappearance of some J.T. Womblegast who strangely left nothing but a Git repository containing hints about this … retreat. Additionally, I’m available for a 45-minute team coaching slot; see https://agiletestingdays.com/groups/team-coaching/ for details. Possible topics are: * Behaviour Driven Testing * Pair programming * Test Techniques * Test first * Test automation * Considering Ruby for test automation Of course, other topics are possible. If you’d like to take this opportunity and have any questions or suggestions, talk to the conference organisers (or me directly). SHARE THIS: * Twitter * Email * Print * LIKE THIS: Like Loading... IT’S COMPLETE ‘SOFTWARE PEOPLE … WORK FROM HOME’ Thu, May 9, 2024 Stephanbook Projects No Comments The community-written book ‘Software People … Work From Home — Insights & Experiences From Planet Earth‘ is now complete. It contains contributions from 34 people and 28 countries (in alphabetical order): * Argentina * Australia * Canada * Denmark * Dubai * Finland * France * Germany * Greece * India * Italy * Lithuania * Luxemburg * Malaysia * Netherlands * New Zealand * Norway * Portugal * Russia * Scotland * Singapore * South Africa * Spain * Sweden * Tunisia * Turkey * USA * Wales I thoroughly enjoyed ‘managing’ this writing project: Talking to so many people from so many countries, figuring out a good way to generate preview PDF files automatically and getting the feedback and contributions from so many people, was just that: Enjoyable. Thanks everyone who was involved and everoy who got the book already. You can get it too: It’s avaiable at LeanPub for free at https://leanpub.com/softwarepeopleworkfromhome Enjoy! SHARE THIS: * Twitter * Email * Print * LIKE THIS: Like Loading... ADRESSING A NODE IN XML Tue, February 6, 2024 StephanNote To Self No Comments This is another note to my future self. For a project, I wanted to address a given XML node of which I knew the name with something that resembled a path in a folder structure. Let’s say the XML file in question is this completely contrived example in a file called ‘file.xml’: ? <project> <test> <configuration> <url> http://example.com/test-system/ </url> <parameters> <some_parameter>0</some_parameter> <another_parameter>1</another_parameter> <token>some_token_or_other</token> <answer>fortytwo</answer> </parameters> </configuration> </test> </project> I needed to reference a node in this file in a format like a path in the directory structure, I.e. like ‘~/tmp/somefile.txt’ for a file ‘somefile.txt’ inside ‘tmp’ in the user’s home directory. Surprisingly, the IDEs and editors I was using displayed this information, but I couldn’t find a way to copy this to the clipboard. I reverted to my go-to tool: Ruby (and the Nokogiri Ruby gem). In a Pry session, I only needed these steps: 1. Load & parse the XML file 2. Find the node name I was looking for 3. Get its parent node (and its parent elements…) 4. Insert the node’s name at the beginning of the list 5. Combine it into a String Here’s the abbreviated Pry session: ? > pry -r nokogiri [1] pry(main)> d = Nokogiri::XML(File.open("file.xml")) => #(Document:0x140 { name = "document", --- 8< --- lines were cut out here --- 8< --- [2] pry(main)> n = d.search('answer').first => #(Element:0x1f4 { name = "answer", children = [ #(Text "fortytwo")] }) [3] pry(main)> n.ancestors.map(&:name).unshift(n.name).reverse.join('/') => "document/project/test/configuration/parameters/answer" SHARE THIS: * Twitter * Email * Print * LIKE THIS: Like Loading... AGILE TESTING DAYS 2023 – A SUMMARY Tue, November 21, 2023 StephanConferences Learning Testing Uncategorized No Comments The Agile Testing Days stage DAY ‘0’: TUTORIAL & EVENING KEYNOTE Note: I denote this as day zero since the conference starts counting the conference days, with ‘day one’ being the first day after the tutorial day. As every year, the Agile Testing Days start with a tutorial day. I chose ‘Breaking into AI and Machine Learning’ by Tariq King. The tutorial followed a top-down approach. We did not have to (re-) learn linear algebra and the like before getting started. Instead, after a brief introduction to the topic, we could work on an example task: Classifying irises. A CSV file containing typical attributes of various flower species was used to create a model that could classify a flower as one of the species the model was trained on. Tariq introduced this as the ‘Hello world of AI’. We saw how overfitting a model can cause issues when a model is used with new data it wasn’t trained on. This happens when the model matches the test data (nearly) perfectly, which usually causes larger misclassifications when new data is put into the model. We also learned how models can be trained on images to classify them. This is the next step since it requires processing much more data. Then ChatGPT was introduced. While I am still a bit sceptical about some of its output since it’s known to (for example) ‘hallucinate’ citations for scientific papers. Yet, I am impressed with what can be achieved when it’s provided with enough data and prompts tuned to its needs. In the first keynote, Maaike Brinkhof wrapped the experiences in her software testing career in the story of a role-playing game. In this setting, she met increasingly hard-to-conquer ‘bosses’. Inspiring, entertaining – and providing input for the following keynotes. In other words, It opened my mind for the conference to come. DAY 1 – NO OVERNIGHT SUCESS & SOCIOCRACY In the day’s first keynote, Kristel Kruustuk presented her thoughts about ‘10x Software Testing‘. My takeaway was this: You don’t become a ’10× tester’ overnight. Instead, it requires persistence and regular training. This matched nicely with my personal experience and is linked to one of my sessions this year. The next session I attended was CraigRisi’s ‘Becoming an Open Sourcerer‘. He explained what teams should consider when they use open-source software. He also discussed the advantages and potential disadvantages of using open-source software. Finally, we learned about contributing to open-source projects. While contributing code changes is likely the most common way to contribute, providing documentation is another essential aspect, as are providing and improving bug reports and even (automated) tests. The next keynote, ‘Could Agile Testers Help Debug Management?‘ by John Buck, was about debugging organisations. I particularly like his explanation of consent: > Consent means “Good enough for now, safe enough to try” > > John Buck, Agile Testing Days 2023 As a tester, I’m unsure how to use this to debug management, and I will admit that I haven’t tried it yet. DAY 2 – WORKSHOP & INFOTAINMENT I missed the first keynote of the day since the next scheduled time slot included my workshop ‘Fun with U̡̟ͩ̊̏ͬͯni͑c͐̀͢od̲̎ͅḕ̶̩͙͆‘. Much to my pleasure, it was well attended, and folks were surprised at how bad some software is with processing Unicode. As Maaike tweeted: > Biggest lesson so far at the Unicode workshop: good luck in life with > computers if your name contains diacritics #agileTD > > — Maaike Brinkhof (@Maaikees) November 15, 2023 Or, as Elizabeth Zagroba puts it: After collecting my workshop material and winding down, I attended the keynote ‘Everyone is a Leader‘ by Zuzi Šochová. I liked how easy it was to follow along and the message that everyone can be a leader – at some time, for some topic. Leadership doesn’t have to be assigned but can be assumed temporarily when it makes sense. The following two keynotes were mindblowing! Dr. Rochelle Carr requested the audience to ‘MOVE THAT WALL‘. This talk was loud and inspiring and made me think about which walls I have that I may want to move – or tear down entirely. ‘Don’t go breaking my code‘, by Lena Nyström & Samuel Nitsche, was a keynote in a musical or rock opera format: Loud, entertaining, and fun. It also explained where and why testers and developers have different points of view. Not only that, they also demonstrated ways to get along with each other better. I ended the day by spending time at the Agile Testing Days Book Fair, organised by Tobias Geyer and Maik Nogens. Thankfully, I got the books I was looking for: Zuzi Šochvá’s ’The Agile Leader’ and John Buck’s ‘We The People’. They were even kind enough to sign the books for me. Thank you! DAY 3 – CONFLICT RESOLUTION, MICROPOWERS & JUDGMENT DAY In the morning keynote ‘A Fighting Chance – Learning the Art of Conflict Resolution‘, Alex Schladebeck presented pitfalls to avoid when dealing with conflict and good ways to deal with them. Planned as a pair keynote, the second speaker, Sophie Küster, couldn’t be at the conference. Sophie, you were missed, and we all hope you’re back next year! My key takeaway: Noticing that someone perceives a conflict goes a long way to mitigating it. – Especially if the affected parties know about the pitfalls, such as saying, ‘You always/never do XY’. After this, Eveline Moolenaars and I prepared our talk ‘Micropowers: Learn to Speak Up and Be Heard‘. This was about our shared experience of recovering from cancer and its treatment and how that helped us to start asking for help – and helping others. We found the term ‘superpower’ intimidating and came up with the term ‘micropower’. We defined this as an ability one can trust that helps to act when we see things that should be changed. In the morning keynote, ’A Fighting Chance – Learning the Art of Conflict Resolution’, Alex Schladebeck presented pitfalls to avoid when facing conflicts and good ways to deal with them. Planned as a pair keynote, the second speaker, Sophie Küster, couldn’t be at the conference. Sophie, you were missed, and we all hope you’re back next year! My takeaway: Noticing that someone perceives a conflict goes a long way to mitigating it. – Especially if the affected parties know about the pitfalls, such as saying, ‘You always/never do XYZ’. After this, Eveline Moolenaars and I prepared our talk ‘Micropowers: Learn to Speak Up and Be Heard’. This was about our shared experience of recovering from cancer and its treatment and how that helped us to start asking for help – and helping others. We found the term ‘superpowers’ intimidating and came up with the word ‘micropower’. We defined this as an ability one can trust that helps to act when we see things that should be changed. The keynote ‘Wait! That’s Not Tested’ by Heather Reid introduced the idea that not all things need to be tested. We need to consider time, cost and risk when testing software. And since there is never enough time to test everything anyway, we must make bets. This connects nicely to John Buck’s definition of consent: ‘Good enough for now, safe enough to try’. The keynote, ‘The Rise of Generative AI: Judgment Day’ by Tariq King, was the perfect ending to the official program since it nicely connected to my tutorial day. He presented content (paintings and music) in pairs: One an original from a human artis, the other one created by AI is the style of that artist. The audience was tasked to tell which one was the original and which one the ‘copy’. – I found it shocking that we, the audience, did not perform particularly well. My overall impression of the Agile Testing Days: It was a very well-planned conference, with sessions that connected ideas and concepts. I am already looking forward to Agile Testing Days 2024 – and have many ideas for proposals already. Thank you to everyone I have met and talked with this year. I hope to see you again in 2024. SHARE THIS: * Twitter * Email * Print * LIKE THIS: Like Loading... RELOADING CSS IN A RAILS APP AUTOMATICALLY Sun, October 22, 2023 StephanNote To Self Rails Ruby No Comments Another installment of a #NoteToSelf. To illustrate the topic of a workshop I’m preparing, I wrote a small Rails (7.1.1) app that uses Tailwind CSS. While preparing the application, I wanted to tailor the CSS of buttons, tables, etc. and wondered why the layout didn’t change when I edited the CSS classes of HTML elements. While the information about the formatting was present in the HTML displayed, it did not affect how the page looked. As an example, take this HTML snippet: ? <h1 class="font-bold text-4xl text-green-800">New submitter</h1> I expected the h1 tag to be displayed in a light font weight. After changing the tag to ? <h1 class="font-bold text-4xl text-red-800">New submitter</h1> I expected the text to be red, and it wasn’t. It took some searching to figure out that in config/environments/development.rb, I had to add a set config.assets.debug to true: ? config.assets.debug = true After adding this line and restarting the Rails server, changes to the layout were displayed immediately. Yay! Details about this setting are documented at https://guides.rubyonrails.org/asset_pipeline.html#turning-source-maps-on. SHARE THIS: * Twitter * Email * Print * LIKE THIS: Like Loading... WRITE MEANINGFUL ERROR MESSAGES IN AUTOMATED TESTS Tue, February 14, 2023 StephanNote To Self Testing No Comments Here’s a tip: Write your automated tests with the failure in mind. Especially, consider a future maintainer who may need a useful error message. This can help when the test fails in the future (and it probably will). A descriptive message helps understand the technical issue you’re looking at and will ideally guide you to finding a solution. Let’s look at some examples that leave something to be desired. These messages may be true, but don’t help to understand the underlying problem: * Expected true, but got false * The result message is malformed * fail Yes, I have seen these or very similar messages, that are rather useless. Imagine how much more helpful, the following messages are: * Expected condition XY to be true in context AB of object O * The message ‘<output the actual message>’, is malformed and cannot be processed further * Got <actual result> instead of <expected_result> when processing XY These improved messages can guide you, help you remember the context and figure out the underlying issue when the test fails. I find that this improvement shortens the time spent with failure analysis. It makes my days more productive because I get a message that tells me about the context where thing went wrong. Do you have similar ideas about how to improve (automated) tests? I’d love to hear about them. SHARE THIS: * Twitter * Email * Print * LIKE THIS: Like Loading... POSTS PAGINATION 1 2 3 … 16 Next Search for: MEMBER OF THE AGILE TESTING FELLOWSHIP Agile Testing Fellowship TAGS 2020 Agile Testing Agile Testing Days collaboration command line Conference Feedback LeanPub Learning macOS Ruby software testing Testing tools Word of the year Mastodon Days Until the "Agile Testing Days" Counter © 2012-2024 Stephan Kämper — Mastodon MENU NAVIGATION * Work With Me * Book A Workshop or Tutorial * About Search for: Privacy Preferences I Agree PRIVACY PREFERENCE CENTER Options * Consent Management * Cookie Settings CONSENT MANAGEMENT NECESSARY ADVERTISING ANALYTICS OTHER OK Loading Comments... Write a Comment... Email (Required) Name (Required) Website %d SEARCH RESULTS Magnifying Glass Search Close search results FiltersShow filters Sort by: Relevance•Newest•Oldest NO RESULTS FOUND FILTER OPTIONS SEARCH ARCHIVES * August 2024 * May 2024 * February 2024 * November 2023 * October 2023 * February 2023 * January 2023 * December 2022 * November 2022 * October 2022 * June 2022 * May 2022 * February 2022 * January 2022 * November 2021 * October 2021 * August 2021 * July 2021 * May 2021 * April 2021 * March 2021 * February 2021 * January 2021 * December 2020 * November 2020 * October 2020 * July 2020 * June 2020 * May 2020 * April 2020 * March 2020 * February 2020 * November 2019 * September 2019 * August 2019 * August 2017 * December 2016 * September 2016 * April 2016 * December 2015 * November 2015 * June 2015 * May 2015 * February 2015 * January 2015 * December 2014 * November 2014 * September 2014 * July 2014 * March 2014 * February 2014 * December 2013 * September 2013 * March 2013 * February 2013 * December 2012 * November 2012 * September 2012 * July 2012 * May 2012 * April 2012 * March 2012 MEMBER OF THE AGILE TESTING FELLOWSHIP RECENT POSTS * Author and Committer Dates in Git – An Obscure Bug Sun, August 4, 2024 * Agile Testing Days 2024 – Planned Sessions Tue, May 14, 2024 * It’s complete ‘Software People … Work From Home’ Thu, May 9, 2024 CLASSIFIED AS… 2020 Agile Testing Agile Testing Days command line Conference Feedback LeanPub Learning macOS Ruby software testing Testing tools TWEETS… BOOKS ARCHIVES * August 2024 * May 2024 * February 2024 * November 2023 * October 2023 * February 2023 * January 2023 * December 2022 * November 2022 * October 2022 * June 2022 * May 2022 * February 2022 * January 2022 * November 2021 * October 2021 * August 2021 * July 2021 * May 2021 * April 2021 * March 2021 * February 2021 * January 2021 * December 2020 * November 2020 * October 2020 * July 2020 * June 2020 * May 2020 * April 2020 * March 2020 * February 2020 * November 2019 * September 2019 * August 2019 * August 2017 * December 2016 * September 2016 * April 2016 * December 2015 * November 2015 * June 2015 * May 2015 * February 2015 * January 2015 * December 2014 * November 2014 * September 2014 * July 2014 * March 2014 * February 2014 * December 2013 * September 2013 * March 2013 * February 2013 * December 2012 * November 2012 * September 2012 * July 2012 * May 2012 * April 2012 * March 2012 BOOKS MEMBER OF THE AGILE TESTING FELLOWSHIP TWEETS… CLASSIFIED AS… 2020 Agile Testing Agile Testing Days command line Conference Feedback LeanPub Learning macOS Ruby software testing Testing tools Close Search Search powered by Jetpack