<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Bits 'n Widgets - Acceptance Testing</title>
    <link>http://bitsnwidgets.com/</link>
    <description>&amp;nbsp;&amp;nbsp;Thoughts on real-world, practical, common-sense approaches to Agile software development using Scrum and XP</description>
    <language>en-us</language>
    <copyright>John E. Boal</copyright>
    <lastBuildDate>Sun, 14 Sep 2008 16:06:14 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>webmaster@bitsnwidgets.com</managingEditor>
    <webMaster>webmaster@bitsnwidgets.com</webMaster>
    <item>
      <trackback:ping>http://bitsnwidgets.com/Trackback.aspx?guid=38568418-bfa3-4f54-9804-e01a5c854c2f</trackback:ping>
      <pingback:server>http://bitsnwidgets.com/pingback.aspx</pingback:server>
      <pingback:target>http://bitsnwidgets.com/PermaLink,guid,38568418-bfa3-4f54-9804-e01a5c854c2f.aspx</pingback:target>
      <dc:creator>John Boal</dc:creator>
      <wfw:comment>http://bitsnwidgets.com/CommentView,guid,38568418-bfa3-4f54-9804-e01a5c854c2f.aspx</wfw:comment>
      <wfw:commentRss>http://bitsnwidgets.com/SyndicationService.asmx/GetEntryCommentsRss?guid=38568418-bfa3-4f54-9804-e01a5c854c2f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Acceptance criteria are the key to making
sure our stories are done, and have as few bugs as possible. When the criteria are
weak, not complete, unclear or misunderstood, this can be the root of a whole host
of problems. Acceptance criteria are a critical point on which a team can focus to
improve their results and delivery.<br /><br />
Acceptance criteria can be implemented as automated acceptance tests. The PO, the
Developers, and the QA people on the team should all be in agreement that the acceptance
tests do illustrate that the software works as desired.<br /><br />
I wrote another article with more thoughts on acceptance criteria, in a <a href="http://testdrivendeveloper.com/2008/09/20/AcceptanceCriteriaIsCriticalForTestDrivenDevelopment.aspx">recent
post on the TestDrivenDeveloper.com</a> blog site, please check it out!<br /><br />
Acceptance criteria can be a tricky bit, especially if the customer and the team don't
have much experience at generating and capturing them. I would definitely consider
it a process smell if I saw a continuing pattern of low quality acceptance criteria.
Really this can kill a project if left untended to fester on its own.<br /><br />
From what I have seen on several teams, we should all focus more time and effort on
acceptance criteria gathering and then automating it in the sprint as part of the
criteria for Done.<br /><br />
If you have mechanisms or practices that enhance or enable better collection or identification
of acceptance criteria, please post a comment below.<br /><p></p><img width="0" height="0" src="http://bitsnwidgets.com/aggbug.ashx?id=38568418-bfa3-4f54-9804-e01a5c854c2f" /></body>
      <title>Poor Acceptance Criteria is a Process Smell</title>
      <guid isPermaLink="false">http://bitsnwidgets.com/PermaLink,guid,38568418-bfa3-4f54-9804-e01a5c854c2f.aspx</guid>
      <link>http://BitsNWidgets.com/2008/09/14/PoorAcceptanceCriteriaIsAProcessSmell.aspx</link>
      <pubDate>Sun, 14 Sep 2008 16:06:14 GMT</pubDate>
      <description>Acceptance criteria are the key to making sure our stories are done, and have as few bugs as possible. When the criteria are weak, not complete, unclear or misunderstood, this can be the root of a whole host of problems. Acceptance criteria are a critical point on which a team can focus to improve their results and delivery.&lt;br&gt;
&lt;br&gt;
Acceptance criteria can be implemented as automated acceptance tests. The PO, the
Developers, and the QA people on the team should all be in agreement that the acceptance
tests do illustrate that the software works as desired.&lt;br&gt;
&lt;br&gt;
I wrote another article with more thoughts on acceptance criteria, in a &lt;a href="http://testdrivendeveloper.com/2008/09/20/AcceptanceCriteriaIsCriticalForTestDrivenDevelopment.aspx"&gt;recent
post on the TestDrivenDeveloper.com&lt;/a&gt; blog site, please check it out!&lt;br&gt;
&lt;br&gt;
Acceptance criteria can be a tricky bit, especially if the customer and the team don't
have much experience at generating and capturing them. I would definitely consider
it a process smell if I saw a continuing pattern of low quality acceptance criteria.
Really this can kill a project if left untended to fester on its own.&lt;br&gt;
&lt;br&gt;
From what I have seen on several teams, we should all focus more time and effort on
acceptance criteria gathering and then automating it in the sprint as part of the
criteria for Done.&lt;br&gt;
&lt;br&gt;
If you have mechanisms or practices that enhance or enable better collection or identification
of acceptance criteria, please post a comment below.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://bitsnwidgets.com/aggbug.ashx?id=38568418-bfa3-4f54-9804-e01a5c854c2f" /&gt;</description>
      <comments>http://bitsnwidgets.com/CommentView,guid,38568418-bfa3-4f54-9804-e01a5c854c2f.aspx</comments>
      <category>Acceptance Testing</category>
    </item>
    <item>
      <trackback:ping>http://bitsnwidgets.com/Trackback.aspx?guid=378af5de-9e67-49a0-8b4d-cbd81713eca6</trackback:ping>
      <pingback:server>http://bitsnwidgets.com/pingback.aspx</pingback:server>
      <pingback:target>http://bitsnwidgets.com/PermaLink,guid,378af5de-9e67-49a0-8b4d-cbd81713eca6.aspx</pingback:target>
      <dc:creator>John Boal</dc:creator>
      <wfw:comment>http://bitsnwidgets.com/CommentView,guid,378af5de-9e67-49a0-8b4d-cbd81713eca6.aspx</wfw:comment>
      <wfw:commentRss>http://bitsnwidgets.com/SyndicationService.asmx/GetEntryCommentsRss?guid=378af5de-9e67-49a0-8b4d-cbd81713eca6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">"Obviously, Development should be responsible
for the acceptance tests. The developers are the ones on the team who are the best
at writing good code. The developers are best able to turn the acceptance criteria
into valid executable specifications. Development then can use the automated acceptance
tests to drive the development TDD cycle."<br /><p></p><br />
"In QA, we never totally trust the developers. We do trust them to do the right thing.
However, we have a saying in QA - Trust but Verify. QA should be responsible for the
acceptance tests. At the end of the day, it is our job to make sure that the software
meets the criteria for acceptance, so it's really a QA ballpark. Dev's should focus
on unit tests."<br /><br />
Two strong opinions, and really I think both are right. Development should be using
acceptance tests to drive an ATDD cycle. Developers are (usually) better at writing
code than SDETs, so they do a more efficient job on acceptance tests. But QA probably
has a more even overall view of the software, and from a different and more independent
perspective, so they should be writing the acceptance tests as well as the other test
automation. QA also has the responsibility of signing off on the code, so they should
be writing the acceptance tests.<br /><br />
So, this may be one way to resolve the issue. Have developers and testers both work
on automated acceptance tests for the first story. When the tests are completed, developers
are free to begin working on the unit tests and code to satisfy the acceptance tests.
QA can then begin test case generation and automation implementation.<br /><br />
I believe that this solution is the best of both worlds, because Development and QA
will be completely in sync and on the same page for all of the stories where the acceptance
tests are co-developed. There won't be any ambiguity on whether the software meets
criteria, and both teams will be in agreement as to what is passing and what isn't.
The tests will be well-written, and they will run as efficiently and accurately as
possible. They will be written with multiple perspectives - the customer (who supplied
the acceptance criteria), QA who makes sure that the test accurately guarantees the
outcome, and Development, who makes automation quicker to implement and more efficient.<br /><br />
With automated acceptance tests co-written by dev and test, we have a great common
point of communication, and a good example of how teamwork can really help software
shine and inspire confidence and trust in the eye of the customer.<br /><img width="0" height="0" src="http://bitsnwidgets.com/aggbug.ashx?id=378af5de-9e67-49a0-8b4d-cbd81713eca6" /></body>
      <title>Automated Acceptance Tests - Who Should Write Them, Dev or QA?</title>
      <guid isPermaLink="false">http://bitsnwidgets.com/PermaLink,guid,378af5de-9e67-49a0-8b4d-cbd81713eca6.aspx</guid>
      <link>http://BitsNWidgets.com/2008/08/22/AutomatedAcceptanceTestsWhoShouldWriteThemDevOrQA.aspx</link>
      <pubDate>Fri, 22 Aug 2008 04:21:44 GMT</pubDate>
      <description>"Obviously, Development should be responsible for the acceptance tests. The developers are the ones on the team who are the best at writing good code. The developers are best able to turn the acceptance criteria into valid executable specifications. Development then can use the automated acceptance tests to drive the development TDD cycle."&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;br&gt;
"In QA, we never totally trust the developers. We do trust them to do the right thing.
However, we have a saying in QA - Trust but Verify. QA should be responsible for the
acceptance tests. At the end of the day, it is our job to make sure that the software
meets the criteria for acceptance, so it's really a QA ballpark. Dev's should focus
on unit tests."&lt;br&gt;
&lt;br&gt;
Two strong opinions, and really I think both are right. Development should be using
acceptance tests to drive an ATDD cycle. Developers are (usually) better at writing
code than SDETs, so they do a more efficient job on acceptance tests. But QA probably
has a more even overall view of the software, and from a different and more independent
perspective, so they should be writing the acceptance tests as well as the other test
automation. QA also has the responsibility of signing off on the code, so they should
be writing the acceptance tests.&lt;br&gt;
&lt;br&gt;
So, this may be one way to resolve the issue. Have developers and testers both work
on automated acceptance tests for the first story. When the tests are completed, developers
are free to begin working on the unit tests and code to satisfy the acceptance tests.
QA can then begin test case generation and automation implementation.&lt;br&gt;
&lt;br&gt;
I believe that this solution is the best of both worlds, because Development and QA
will be completely in sync and on the same page for all of the stories where the acceptance
tests are co-developed. There won't be any ambiguity on whether the software meets
criteria, and both teams will be in agreement as to what is passing and what isn't.
The tests will be well-written, and they will run as efficiently and accurately as
possible. They will be written with multiple perspectives - the customer (who supplied
the acceptance criteria), QA who makes sure that the test accurately guarantees the
outcome, and Development, who makes automation quicker to implement and more efficient.&lt;br&gt;
&lt;br&gt;
With automated acceptance tests co-written by dev and test, we have a great common
point of communication, and a good example of how teamwork can really help software
shine and inspire confidence and trust in the eye of the customer.&lt;br&gt;
&lt;img width="0" height="0" src="http://bitsnwidgets.com/aggbug.ashx?id=378af5de-9e67-49a0-8b4d-cbd81713eca6" /&gt;</description>
      <comments>http://bitsnwidgets.com/CommentView,guid,378af5de-9e67-49a0-8b4d-cbd81713eca6.aspx</comments>
      <category>Team</category>
      <category>testing</category>
      <category>Acceptance Testing</category>
    </item>
  </channel>
</rss>