<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Testing on Work You Can Explain</title>
		<link>https://workyoucanexplain.com/tags/testing/</link>
		<description>Recent content in Testing on Work You Can Explain</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
			<copyright>Copyright © Work You Can Explain</copyright>
		
		
			<lastBuildDate>Thu, 30 Jul 2026 00:00:00 -0500</lastBuildDate>
		
			<atom:link href="https://workyoucanexplain.com/tags/testing/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>From Autocomplete to Agents: How AI Coding Methods Are Evolving</title>
				<link>https://workyoucanexplain.com/posts/how-ai-coding-methods-are-evolving/</link>
				<pubDate>Thu, 30 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/how-ai-coding-methods-are-evolving/</guid>
				<description>&lt;p&gt;AI coding methods are moving from local suggestions toward repository-aware,&#xA;tool-using, and delegated work. The important change is not that typing code&#xA;disappears. It is that a person can ask a system to take more actions across a&#xA;larger part of the software process.&lt;/p&gt;&#xA;&lt;p&gt;As the action surface grows, the durable human work becomes more explicit:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;define the behavior;&lt;/li&gt;&#xA;&lt;li&gt;select the context;&lt;/li&gt;&#xA;&lt;li&gt;state permissions and boundaries;&lt;/li&gt;&#xA;&lt;li&gt;create acceptance checks;&lt;/li&gt;&#xA;&lt;li&gt;inspect actions and diffs;&lt;/li&gt;&#xA;&lt;li&gt;integrate the result; and&lt;/li&gt;&#xA;&lt;li&gt;explain why the final software should be trusted.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Use the smallest assistance level that fits the task. More autonomy is useful&#xA;only when its saved effort exceeds the cost of context, supervision, review,&#xA;and recovery.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Beginner’s First Programming Workflow</title>
				<link>https://workyoucanexplain.com/posts/a-beginners-first-programming-workflow/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/a-beginners-first-programming-workflow/</guid>
				<description>&lt;p&gt;Use one repeatable loop for beginner programming work: understand the task,&#xA;plan one small change, change the code, run it, test the expected behavior, and&#xA;create the checkpoint required by the project. A Git project can use a commit;&#xA;another course may require a working-log entry, saved version, or submission.&#xA;Each step produces evidence for the next.&lt;/p&gt;&#xA;&lt;p&gt;The loop prevents a vague assignment from becoming a large, unexplained edit.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-understand-the-task&#34;&gt;1. Understand the task&lt;/h2&gt;&#xA;&lt;p&gt;Before editing, state:&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Project Structure That Encourages Good Habits</title>
				<link>https://workyoucanexplain.com/posts/a-project-structure-that-encourages-good-habits/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/a-project-structure-that-encourages-good-habits/</guid>
				<description>&lt;p&gt;A useful project structure makes the next correct action easy to find. Keep&#xA;source, tests, documentation, scripts, and examples in predictable locations.&#xA;Start small, name each directory by responsibility, and add complexity only&#xA;when the project needs it.&lt;/p&gt;&#xA;&lt;p&gt;The goal is not a universal folder tree. It is a project another person can&#xA;inspect, run, test, and explain.&lt;/p&gt;&#xA;&lt;h2 id=&#34;begin-at-one-clear-project-root&#34;&gt;Begin at one clear project root&lt;/h2&gt;&#xA;&lt;p&gt;The project root contains the files that describe the project as a unit:&lt;/p&gt;</description>
			</item>
			<item>
				<title>AI Can Be Confident and Wrong</title>
				<link>https://workyoucanexplain.com/posts/ai-can-be-confident-and-wrong/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/ai-can-be-confident-and-wrong/</guid>
				<description>&lt;p&gt;AI confidence is a feature of presentation, not evidence of correctness.&#xA;Generated output can contain false citations, nonexistent APIs, code that works&#xA;only for the example, hidden assumptions, or unnecessary complexity.&lt;/p&gt;&#xA;&lt;p&gt;Break the response into claims. Verify factual claims in primary sources and&#xA;technical behavior with official documentation and reproducible tests. Mark&#xA;unsupported claims as uncertain or reject them.&lt;/p&gt;&#xA;&lt;h2 id=&#34;confabulation-can-sound-specific&#34;&gt;Confabulation can sound specific&lt;/h2&gt;&#xA;&lt;p&gt;NIST&amp;rsquo;s &lt;a href=&#34;https://www.nist.gov/publications/artificial-intelligence-risk-management-framework-generative-artificial-intelligence&#34;&gt;Generative AI&#xA;Profile&lt;/a&gt;&#xA;uses &lt;strong&gt;confabulation&lt;/strong&gt; for erroneous or false content that a generative AI&#xA;system presents confidently. The report notes that output can also contradict&#xA;the prompt or earlier output.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Automate Deterministic Work with Code</title>
				<link>https://workyoucanexplain.com/posts/automate-deterministic-work-with-code/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/automate-deterministic-work-with-code/</guid>
				<description>&lt;p&gt;Use code instead of repeated AI prompts when the same explicit inputs should&#xA;produce defined outputs through known operations. Keep AI at the interpretation&#xA;boundary: it can help explain an unfamiliar case or draft code, but deterministic&#xA;execution should be inspectable, tested, and repeatable.&lt;/p&gt;&#xA;&lt;h2 id=&#34;define-the-contract&#34;&gt;Define the contract&lt;/h2&gt;&#xA;&lt;p&gt;Before scripting, write:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Inputs:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Outputs:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Files or systems changed:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Valid and invalid conditions:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Expected failures:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Verification:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Rollback:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For example, renaming assignment files by a documented convention can be&#xA;deterministic. Deciding whether a student&amp;rsquo;s reflection demonstrates&#xA;understanding requires judgment and should not be hidden in a rename script.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Define “Done” Before You Start</title>
				<link>https://workyoucanexplain.com/posts/define-done-before-you-start/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/define-done-before-you-start/</guid>
				<description>&lt;p&gt;Define “done” before implementation. A useful definition names the scope,&#xA;expected behavior, tests, documentation, and submission or deployment evidence.&#xA;It turns “work on the project” into claims that can be checked.&lt;/p&gt;&#xA;&lt;h2 id=&#34;separate-outcome-from-activity&#34;&gt;Separate outcome from activity&lt;/h2&gt;&#xA;&lt;p&gt;“Spend three hours coding” is an activity. “Given a valid CSV file, produce a&#xA;summary containing row count and the mean of the score column” is an outcome.&lt;/p&gt;&#xA;&lt;p&gt;Start with:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The project is done when [reader or user] can [observable outcome] under&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[conditions], and the result is verified by [evidence].&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Do not write criteria after seeing what the current implementation happens to&#xA;do. That turns the checklist into a description, not a target.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to Review AI-Generated Code</title>
				<link>https://workyoucanexplain.com/posts/how-to-review-ai-generated-code/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/how-to-review-ai-generated-code/</guid>
				<description>&lt;p&gt;Treat AI-generated code as an untrusted proposal. Read every line before&#xA;execution, compare it with the specification, identify inputs, outputs,&#xA;assumptions, dependencies, and effects, then test expected, boundary, and&#xA;invalid cases.&lt;/p&gt;&#xA;&lt;p&gt;Do not accept code you cannot explain. Passing one sample is evidence about one&#xA;sample, not proof of general correctness or safety.&lt;/p&gt;&#xA;&lt;h2 id=&#34;confirm-that-generated-code-is-allowed&#34;&gt;Confirm that generated code is allowed&lt;/h2&gt;&#xA;&lt;p&gt;Course policies can distinguish among explanation, completion, code generation,&#xA;review, and disclosure. Before generating or using code, determine:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Test the Expected, the Boundary, and the Invalid</title>
				<link>https://workyoucanexplain.com/posts/test-the-expected-the-boundary-and-the-invalid/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/test-the-expected-the-boundary-and-the-invalid/</guid>
				<description>&lt;p&gt;A basic meaningful test set covers three categories: expected use, important&#xA;boundaries, and invalid input. This does not prove a program correct, but it&#xA;tests more than one friendly example.&lt;/p&gt;&#xA;&lt;h2 id=&#34;begin-with-a-specification&#34;&gt;Begin with a specification&lt;/h2&gt;&#xA;&lt;p&gt;Suppose a function calculates the mean of a non-empty list of scores from 0&#xA;through 100. It returns a numeric mean and rejects an empty list, nonnumeric&#xA;values, and values outside the range.&lt;/p&gt;&#xA;&lt;p&gt;The specification defines the tests. Without it, you may only confirm whatever&#xA;the current code happens to do.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
