[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mifos-developer
Subject:    Re: [Mifos-developer] Introduction: Hi My Name is Ruth
From:       "Van Mittal-Henkle" <vanmh () grameenfoundation ! org>
Date:       2007-10-24 0:22:15
Message-ID: 9DD845C1ED0D5D40B4B56DF5A4B1EB0E020B541D () gfmail ! gfusa ! org
[Download RAW message or body]

great!

________________________________

From: mifos-developer-bounces@lists.sourceforge.net
[mailto:mifos-developer-bounces@lists.sourceforge.net] On Behalf Of Ruth
Frowein
Sent: Monday, October 22, 2007 7:59 PM
To: Developer
Subject: Re: [Mifos-developer] Introduction: Hi My Name is Ruth


Hi Van,

This makes sense.  I'll take a look at it.

Cheers,

-rutje


On 10/22/07, Van Mittal-Henkle < vanmh@grameenfoundation.org
<mailto:vanmh@grameenfoundation.org> > wrote: 

	Hi Ruth,
	 
	It is probalby worth evaluating how much work it would be to get
the Watir scripts running again, and then make a decision from there
about how to move forward.
	 
	Cheers,
	--Van

________________________________

	From: mifos-developer-bounces@lists.sourceforge.net
[mailto:mifos-developer-bounces@lists.sourceforge.net] On Behalf Of Ruth
Frowein
	Sent: Friday, October 19, 2007 3:20 PM
	To: Developer
	Subject: Re: [Mifos-developer] Introduction: Hi My Name is Ruth
	
	
	
	Hi Van,
	
	I think the Watir scripts should be translated to any tool used
in the future, as they provide a nice starting point and proof of
concept for testing the tool.  I don't know if it is logical to bridge
Ruby/Watir into the new tool, however, if the goal is to move away from
extraneous dependencies...  Would it make sense to continue to run them
as is (assuming they don't need major refactoring) using Watir for now,
gradually fading them out as new scripts become available? 
	
	Thanks,
	
	-r
	
	
	On 10/19/07, Van Mittal-Henkle <vanmh@grameenfoundation.org>
wrote: 

		Hi Ruth,
		 
		Welcome to the list!  Thanks for the detailed and
thoughtful presentation of ideas around QA technique and process.
		 
		There is enough here that it may take some time to
digest it all ;-)
		 
		The idea of using Selenium RC to keep test code in Java
is an appealing one.  Glad to hear that you're a fan of Fitnesse. Tom
(one of the developers working on Mifos) has been doing the work with
Fitnesse that you noted.
		 
		I would be interested to know if you feel the Watir
scripts could be used in the process of moving to Selenium RC or if
starting from a clean slate would be the likely path.
		 
		Cheers,
		--Van

________________________________

		From: mifos-developer-bounces@lists.sourceforge.net
[mailto:mifos-developer-bounces@lists.sourceforge.net] On Behalf Of Ruth
Frowein
		Sent: Friday, October 19, 2007 1:09 PM
		To: Developer
		Subject: [Mifos-developer] Introduction: Hi My Name is
Ruth
		
		
		

		Thought I'd introduce myself and get some feedback about
some thoughts regarding testing Mifos going forward...  Please forgive
the long post.
		

		
		

		About me:  I've been involved in testing for over seven
years.  I really love it.  Right now I'm between gigs, and thought I
would contribute to your project -to work on my development/QA skills
and do something meaningful with experience.  

		
		

		So I've been looking around your site and mulling over
some ways to add value with my QA skills (there isn't a whole documented
about opensource QA contributions :-)).  I'm just going to lay out what
I gather from what I read and hopefully someone can tell me if I'm on
track/point me to more resources.  Below is all IMHO --so let me know
what I've missed, paths you've already taken etc. etc.

		
		

		(n.b.:  I'm looking at this purely from a
functional/acceptance level.  I see that there is coverage with unit
tests/development automation and it looks like you're doing the right
things there.)

		
		

		It appears that most/all acceptance testing is being
done manually and there aren't any dedicated resources to this problem,
so I have a hunch that there is an awful lot of work falling on the
business team.  Because this is open source and many ideas are
converging, I think the best way forward is to automate now (and worry
about the long-term possible side effects later).    

		
		

		I see that there is work to provide functional
automation using Fitnesse and extending it's features.  This is pure
genius :-)!

		
		

		I see some outdated scripts in Watir and one script in
Selenium RC/Ruby.  This is a great start, but using Ruby in a js/Java
environment introduces another dependency and adds a layer between QA
and Development.  I'd like to see Java based automation going forward
with a layer for Business to create acceptance tests.  This means anyone
working on the code base can update/extend tests as needed -instead of
expecting developers to have skills in an additional language (as sweet
as Ruby is).

		
		

		Skip to the bottom for implementation overview/tool
list.  
		


		
		

		****
		

		
		

		Process for an iteration (based on my experience this is
Shangri-La -but I've always loved to travel): 

		1.	Iteration is defined and the requirements
determined.  Part of this work is determining the test setup/tear down
for each feature (Development/Business/QA)

		2.	Development draws up tasks and begins work

		3.	Business using the automation creates the first
acceptance test skeletons

		4.	QA using the automation creates the functional
test skeletons based on tasks & requirements.

		5.	Developers drop code

		6.	Business/QA using the automation fills in the
acceptance tests

		7.	Development/QA writes the code and using the
automation fills in the functional tests

		8.	Bugs/New Stories/and automated regression
passes.

		9.	Relaxed Release and Celebration

		Some definitions & examples (according to Ruth -feedback
welcome):

		*Requirements are user story/use cases.

		The requirements to log on are:  Only registered users
are able to log on and the   

		  password must match the user name.

		*Test setup/tear down determine the set of data to test,
the state of the DB, the state of the  

		  application before and after the tests run.

		*Acceptance tests are UI driven.

		 Verify user X can log in using password 123 would
launch a browser and log in.

		*Functional tests are business layer driven.

		*The automation skeletons are assert the requirements
have been met by the code.

		Acceptance Tests:

		VerifyTextExsits | "Welcome to mifos userX"

		VerifyTextExists | "User Name or Password are
incorrect." (for incorrect login)

		Functional Tests:

		Assert getUserContext | X

		Assert getUserContext | null (for incorrect login)


		****
		

		
		

		

		The tools used to automate this process are:

		1.	Fitnesse:  http://fitnesse.org/  a wiki which
runs acceptance tests based on tabular inputs.

		2.	Selenium RC: http://openqa.org/selenium-rc/
drives the UI FF & IE

		3.	Selenium IDE: http://openqa.org/selenium-ide/
records the UI movements and outputs text in Fitnesse table format

		4.	Glue*:  Fitnesse fixture which translates runs
Selenium RC from Fitnesse and translates the table commands into
Selenium RC (DSL)

		5.	Fitnesse Fixtures for functional testing.

		6.	Ant/Cruise Control kicks off  suites tests
(Smoke/Regression/specific test)

		
		

		*I suggest the Glue be home grown.  I did find a tool
(open source) which provides this glue but is based purely on Selenium
core  and will thus only work in IE.  But it may provide a start if you
are interested, I've gone through the pain of setting it up and getting
testing going -so can offer that if you are interested.  Once the home
grown Glue is complete, there should be a relatively simple migration
path(as both are based on Fitnesse).


		
		

		****
		

		
		

		Again, apologies for the long post, but I wanted to get
wide feedback from anyone who is interested and provide a full
explanation of where I'm coming from -will limit scope/size in the
future promise! :-)

		
		

		Cheers,

		-r


	
------------------------------------------------------------------------
-
		This SF.net email is sponsored by: Splunk Inc.
		Still grepping through log files to find problems?
Stop.
		Now Search log events and configuration files using AJAX
and a browser. 
		Download your FREE copy of Splunk now >>
http://get.splunk.com/
		



	
------------------------------------------------------------------------
-
	This SF.net email is sponsored by: Splunk Inc.
	Still grepping through log files to find problems?  Stop.
	Now Search log events and configuration files using AJAX and a
browser. 
	Download your FREE copy of Splunk now >> http://get.splunk.com/
	



[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3199" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=843082200-24102007><FONT face=Arial 
color=#0000ff size=2>great!</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> 
mifos-developer-bounces@lists.sourceforge.net 
[mailto:mifos-developer-bounces@lists.sourceforge.net] <B>On Behalf Of </B>Ruth 
Frowein<BR><B>Sent:</B> Monday, October 22, 2007 7:59 PM<BR><B>To:</B> 
Developer<BR><B>Subject:</B> Re: [Mifos-developer] Introduction: Hi My Name is 
Ruth<BR></FONT><BR></DIV>
<DIV></DIV>Hi Van,<BR><BR>This makes sense.&nbsp; I'll take a look at 
it.<BR><BR>Cheers,<BR><BR>-rutje<BR><BR>
<DIV><SPAN class=gmail_quote>On 10/22/07, <B class=gmail_sendername>Van 
Mittal-Henkle</B> &lt;<A href="mailto:vanmh@grameenfoundation.org"> 
vanmh@grameenfoundation.org</A>&gt; wrote:</SPAN>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) \
1px solid">  <DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Hi 
  Ruth,</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>It is 
  probalby worth evaluating how much work it would be to get the Watir scripts 
  running again, and then make a decision from there about how to move 
  forward.</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2>Cheers,</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2>--Van</FONT></SPAN></DIV><BR>
  <DIV lang=en-us dir=ltr align=left>
  <HR>
  <FONT face=Tahoma size=2><SPAN class=q><B>From:</B> <A 
  onclick="return top.js.OpenExtLink(window,event,this)" 
  href="mailto:mifos-developer-bounces@lists.sourceforge.net" 
  target=_blank>mifos-developer-bounces@lists.sourceforge.net</A> [mailto:<A 
  onclick="return top.js.OpenExtLink(window,event,this)" 
  href="mailto:mifos-developer-bounces@lists.sourceforge.net" 
  target=_blank>mifos-developer-bounces@lists.sourceforge.net</A>] <B>On Behalf 
  Of </B>Ruth Frowein<BR></SPAN><B>Sent:</B> Friday, October 19, 2007 3:20 
  PM<BR><B>To:</B> Developer<BR><B>Subject:</B> Re: [Mifos-developer] 
  Introduction: Hi My Name is Ruth<BR></FONT><BR></DIV>
  <DIV><SPAN class=e id=q_115ca21fcfa6bc72_3>
  <DIV></DIV>Hi Van,<BR><BR>I think the Watir scripts should be translated to 
  any tool used in the future, as they provide a nice starting point and proof 
  of concept for testing the tool.&nbsp; I don't know if it is logical to bridge 
  Ruby/Watir into the new tool, however, if the goal is to move away from 
  extraneous dependencies...&nbsp; Would it make sense to continue to run them 
  as is (assuming they don't need major refactoring) using Watir for now, 
  gradually fading them out as new scripts become available? 
  <BR><BR>Thanks,<BR><BR>-r<BR><BR>
  <DIV><SPAN class=gmail_quote>On 10/19/07, <B class=gmail_sendername>Van 
  Mittal-Henkle</B> &lt;<A 
  onclick="return top.js.OpenExtLink(window,event,this)" 
  href="mailto:vanmh@grameenfoundation.org" 
  target=_blank>vanmh@grameenfoundation.org</A>&gt; wrote:</SPAN> 
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) \
1px solid">  <DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Hi 
    Ruth,</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Welcome 
    to the list!&nbsp; Thanks for the detailed and thoughtful presentation of 
    ideas around QA technique and process.</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>There is 
    enough here that it may take some time to digest it all 
    ;-)</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>The idea 
    of using Selenium RC to keep test code in Java is an appealing one.&nbsp; 
    Glad to hear that you're a fan of Fitnesse.&nbsp;Tom&nbsp;(one of the 
    developers working on Mifos) has been doing the work with Fitnesse that you 
    noted.</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>I would 
    be interested to know if you feel the Watir scripts could be used in the 
    process of moving to Selenium RC or if starting from a clean slate would be 
    the likely path.</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2>Cheers,</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2>--Van</FONT></SPAN></DIV><BR>
    <DIV lang=en-us dir=ltr align=left>
    <HR>
    <FONT face=Tahoma size=2><B>From:</B> <A 
    onclick="return top.js.OpenExtLink(window,event,this)" 
    href="mailto:mifos-developer-bounces@lists.sourceforge.net" 
    target=_blank>mifos-developer-bounces@lists.sourceforge.net </A>[mailto:<A 
    onclick="return top.js.OpenExtLink(window,event,this)" 
    href="mailto:mifos-developer-bounces@lists.sourceforge.net" 
    target=_blank>mifos-developer-bounces@lists.sourceforge.net</A>] <B>On 
    Behalf Of </B>Ruth Frowein<BR><B>Sent:</B> Friday, October 19, 2007 1:09 
    PM<BR><B>To:</B> Developer<BR><B>Subject:</B> [Mifos-developer] 
    Introduction: Hi My Name is Ruth<BR></FONT><BR></DIV>
    <DIV><SPAN>
    <DIV></DIV>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Thought&nbsp;I'd 
    introduce&nbsp;myself&nbsp;and&nbsp;get&nbsp;some&nbsp;feedback&nbsp;about 
    some&nbsp;thoughts&nbsp;regarding&nbsp;testing&nbsp;Mifos&nbsp;going 
    forward...&nbsp;&nbsp;Please&nbsp;forgive&nbsp;the&nbsp;long&nbsp;post.<BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">About&nbsp;me:&nbsp; 
    I've&nbsp;been&nbsp;involved&nbsp;in&nbsp;testing&nbsp;for&nbsp;over 
    seven&nbsp;years.&nbsp;&nbsp;I&nbsp;really&nbsp;love&nbsp;it.&nbsp; 
    Right&nbsp;now&nbsp;I'm&nbsp;between&nbsp;gigs,&nbsp;and&nbsp;thought 
    I&nbsp;would&nbsp;contribute&nbsp;to&nbsp;your&nbsp;project&nbsp;&#8211;to 
    work&nbsp;on&nbsp;my&nbsp;development/QA&nbsp;skills&nbsp;and&nbsp;do 
    something&nbsp;meaningful&nbsp;with&nbsp;experience.&nbsp; </P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">So&nbsp;I've&nbsp;been 
    looking&nbsp;around&nbsp;your&nbsp;site&nbsp;and&nbsp;mulling&nbsp;over 
    some&nbsp;ways&nbsp;to&nbsp;add&nbsp;value&nbsp;with&nbsp;my&nbsp;QA 
    skills&nbsp;(there&nbsp;isn't&nbsp;a&nbsp;whole&nbsp;documented&nbsp;about 
    opensource&nbsp;QA&nbsp;contributions&nbsp;:-)).&nbsp;&nbsp;I'm&nbsp;just 
    going&nbsp;to&nbsp;lay&nbsp;out&nbsp;what&nbsp;I&nbsp;gather&nbsp;from 
    what&nbsp;I&nbsp;read&nbsp;and&nbsp;hopefully&nbsp;someone&nbsp;can 
    tell&nbsp;me&nbsp;if&nbsp;I'm&nbsp;on&nbsp;track/point&nbsp;me&nbsp;to 
    more&nbsp;resources.&nbsp; Below is all IMHO --so let me know what I've 
    missed, paths you've already taken etc. etc.</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><FONT face=Arial 
    color=#0000ff size=2></FONT><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">(n.b.:&nbsp;&nbsp;I'm 
    looking&nbsp;at&nbsp;this&nbsp;purely&nbsp;from&nbsp;a 
    functional/acceptance&nbsp;level.&nbsp;&nbsp;I&nbsp;see&nbsp;that 
    there&nbsp;is&nbsp;coverage&nbsp;with&nbsp;unit&nbsp;tests/development 
    automation&nbsp;and&nbsp;it&nbsp;looks&nbsp;like&nbsp;you're&nbsp;doing 
    the&nbsp;right&nbsp;things&nbsp;there.)</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">It&nbsp;appears 
    that&nbsp;most/all&nbsp;acceptance&nbsp;testing&nbsp;is&nbsp;being 
    done&nbsp;manually&nbsp;and&nbsp;there&nbsp;aren't&nbsp;any&nbsp;dedicated 
    resources&nbsp;to&nbsp;this&nbsp;problem,&nbsp;so&nbsp;I&nbsp;have&nbsp;a 
    hunch&nbsp;that&nbsp;there&nbsp;is&nbsp;an&nbsp;awful&nbsp;lot&nbsp;of 
    work&nbsp;falling&nbsp;on&nbsp;the&nbsp;business&nbsp;team.&nbsp; 
    Because&nbsp;this&nbsp;is&nbsp;open&nbsp;source&nbsp;and&nbsp;many 
    ideas&nbsp;are&nbsp;converging,&nbsp;I&nbsp;think&nbsp;the&nbsp;best 
    way&nbsp;forward&nbsp;is&nbsp;to&nbsp;automate&nbsp;now&nbsp;(and 
    worry&nbsp;about&nbsp;the&nbsp;long-term&nbsp;possible&nbsp;side 
    effects&nbsp;later).&nbsp;&nbsp;&nbsp; </P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">I&nbsp;see&nbsp;that 
    there&nbsp;is&nbsp;work&nbsp;to&nbsp;provide&nbsp;functional 
    automation&nbsp;using&nbsp;Fitnesse&nbsp;and&nbsp;extending&nbsp;it's 
    features.&nbsp;&nbsp;This&nbsp;is&nbsp;pure&nbsp;genius&nbsp;:-)!</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">I&nbsp;see&nbsp;some 
    outdated&nbsp;scripts&nbsp;in&nbsp;Watir&nbsp;and&nbsp;one&nbsp;script 
    in&nbsp;Selenium&nbsp;RC/Ruby.&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;great 
    start,&nbsp;but&nbsp;using&nbsp;Ruby&nbsp;in&nbsp;a&nbsp;js/Java 
    environment&nbsp;introduces&nbsp;another&nbsp;dependency&nbsp;and 
    adds&nbsp;a&nbsp;layer&nbsp;between&nbsp;QA&nbsp;and&nbsp;Development. 
    &nbsp;I'd&nbsp;like&nbsp;to&nbsp;see&nbsp;Java&nbsp;based&nbsp;automation 
    going&nbsp;forward&nbsp;with&nbsp;a&nbsp;layer&nbsp;for&nbsp;Business 
    to&nbsp;create&nbsp;acceptance&nbsp;tests.&nbsp;&nbsp;This&nbsp;means 
    anyone&nbsp;working&nbsp;on&nbsp;the&nbsp;code&nbsp;base&nbsp;can 
    update/extend&nbsp;tests&nbsp;as&nbsp;needed&nbsp;&#8211;instead&nbsp;of 
    expecting&nbsp;developers&nbsp;to&nbsp;have&nbsp;skills&nbsp;in&nbsp;an 
    additional&nbsp;language&nbsp;(as&nbsp;sweet&nbsp;as&nbsp;Ruby&nbsp;is).</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Skip&nbsp;to&nbsp;the 
    bottom&nbsp;for&nbsp;implementation&nbsp;overview/tool&nbsp;list.&nbsp; 
    <BR></P><BR>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P 
    style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; TEXT-ALIGN: center">****<BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><FONT face=Arial 
    color=#0000ff size=2></FONT><BR></P>Process&nbsp;for 
    an&nbsp;iteration&nbsp;(based&nbsp;on&nbsp;my&nbsp;experience&nbsp;this 
    is&nbsp;Shangri-La&nbsp;&#8211;but&nbsp;I've&nbsp;always loved to travel): 
    <OL style="MARGIN-LEFT: 0.2in">
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Iteration 
      is&nbsp;defined&nbsp;and&nbsp;the&nbsp;requirements&nbsp;determined. 
      &nbsp;Part&nbsp;of&nbsp;this&nbsp;work&nbsp;is&nbsp;determining&nbsp;the 
      test&nbsp;setup/tear&nbsp;down&nbsp;for&nbsp;each&nbsp;feature 
      (Development/Business/QA)</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Development 
      draws&nbsp;up&nbsp;tasks&nbsp;and&nbsp;begins&nbsp;work</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Business 
      using&nbsp;the&nbsp;automation&nbsp;creates&nbsp;the&nbsp;first 
      acceptance&nbsp;test&nbsp;skeletons</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">QA 
      using&nbsp;the&nbsp;automation&nbsp;creates&nbsp;the&nbsp;functional 
      test&nbsp;skeletons&nbsp;based&nbsp;on&nbsp;tasks&nbsp;&amp; 
      requirements.</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Developers 
      drop&nbsp;code</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Business/QA 
      using&nbsp;the&nbsp;automation&nbsp;fills&nbsp;in&nbsp;the 
      acceptance&nbsp;tests</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Development/QA 
      writes&nbsp;the&nbsp;code&nbsp;and&nbsp;using&nbsp;the&nbsp;automation 
      fills&nbsp;in&nbsp;the&nbsp;functional&nbsp;tests</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Bugs/New 
      Stories/and&nbsp;automated&nbsp;regression&nbsp;passes.</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Relaxed 
      Release&nbsp;and&nbsp;Celebration</P></LI></OL>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Some&nbsp;definitions 
    &amp;&nbsp;examples&nbsp;(according&nbsp;to&nbsp;Ruth&nbsp;&#8211;feedback 
    welcome):</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">*Requirements 
    are&nbsp;user&nbsp;story/use&nbsp;cases.</P>
    <P 
    style="MARGIN-TOP: 0in; MARGIN-BOTTOM: \
0in">The&nbsp;requirements&nbsp;to&nbsp;log&nbsp;on&nbsp;are:&nbsp;&nbsp;Only   \
registered&nbsp;users&nbsp;are&nbsp;able&nbsp;to&nbsp;log&nbsp;on&nbsp;and   \
the&nbsp;&nbsp; </P>  <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: \
0in">&nbsp;&nbsp;password   must&nbsp;match&nbsp;the&nbsp;user&nbsp;name.</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">*Test 
    setup/tear&nbsp;down&nbsp;determine&nbsp;the&nbsp;set&nbsp;of&nbsp;data 
    to&nbsp;test,&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;DB,&nbsp;the 
    state&nbsp;of&nbsp;the&nbsp; </P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">&nbsp;&nbsp;application 
    before&nbsp;and&nbsp;after&nbsp;the&nbsp;tests&nbsp;run.</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">*Acceptance 
    tests&nbsp;are&nbsp;UI&nbsp;driven.</P>
    <P 
    style="MARGIN-TOP: 0in; MARGIN-BOTTOM: \
0in">&nbsp;Verify&nbsp;user&nbsp;X&nbsp;can&nbsp;log&nbsp;in&nbsp;using   \
password&nbsp;123&nbsp;would&nbsp;launch&nbsp;a&nbsp;browser&nbsp;and   \
log&nbsp;in.</P>  <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">*Functional 
    tests&nbsp;are&nbsp;business&nbsp;layer&nbsp;driven.</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">*The 
    automation&nbsp;skeletons&nbsp;are&nbsp;assert&nbsp;the&nbsp;requirements 
    have&nbsp;been&nbsp;met&nbsp;by&nbsp;the&nbsp;code.</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Acceptance Tests:</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">VerifyTextExsits 
    |&nbsp;"Welcome&nbsp;to&nbsp;mifos&nbsp;userX"</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">VerifyTextExists 
    |&nbsp;"User&nbsp;Name&nbsp;or&nbsp;Password&nbsp;are&nbsp;incorrect." 
    (for&nbsp;incorrect&nbsp;login)</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Functional Tests:</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Assert 
    getUserContext&nbsp;|&nbsp;X</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Assert 
    getUserContext&nbsp;|&nbsp;null&nbsp;(for&nbsp;incorrect&nbsp;login)</P><BR>
    <P 
    style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; TEXT-ALIGN: center">****<BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">The&nbsp;tools 
    used&nbsp;to&nbsp;automate&nbsp;this&nbsp;process&nbsp;are:</P>
    <OL style="MARGIN-LEFT: 0.2in">
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Fitnesse: &nbsp;<A 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="http://fitnesse.org/" target=_blank>http://fitnesse.org/</A>&nbsp; 
      a&nbsp;wiki&nbsp;which&nbsp;runs&nbsp;acceptance&nbsp;tests&nbsp;based 
      on&nbsp;tabular&nbsp;inputs.</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Selenium RC:&nbsp;<A 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="http://openqa.org/selenium-rc/" 
      target=_blank>http://openqa.org/selenium-rc/</A> 
      drives&nbsp;the&nbsp;UI&nbsp;FF&nbsp;&amp;&nbsp;IE</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Selenium IDE:&nbsp;<A 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="http://openqa.org/selenium-ide/" 
      target=_blank>http://openqa.org/selenium-ide/</A> 
      records&nbsp;the&nbsp;UI&nbsp;movements&nbsp;and&nbsp;outputs&nbsp;text 
      in&nbsp;Fitnesse&nbsp;table&nbsp;format</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Glue*: 
      &nbsp;Fitnesse&nbsp;fixture&nbsp;which&nbsp;translates&nbsp;runs 
      Selenium&nbsp;RC&nbsp;from&nbsp;Fitnesse&nbsp;and&nbsp;translates 
      the&nbsp;table&nbsp;commands&nbsp;into&nbsp;Selenium&nbsp;RC&nbsp;(DSL)</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Fitnesse 
      Fixtures&nbsp;for&nbsp;functional&nbsp;testing.</P>
      <LI>
      <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Ant/Cruise 
      Control&nbsp;kicks&nbsp;off&nbsp;&nbsp;suites&nbsp;tests 
      (Smoke/Regression/specific&nbsp;test)</P></LI></OL>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">*I&nbsp;suggest 
    the&nbsp;Glue&nbsp;be&nbsp;home&nbsp;grown.&nbsp;&nbsp;I&nbsp;did 
    find&nbsp;a&nbsp;tool&nbsp;(open&nbsp;source)&nbsp;which&nbsp;provides 
    this&nbsp;glue&nbsp;but&nbsp;is&nbsp;based&nbsp;purely&nbsp;on 
    Selenium&nbsp;core&nbsp;&nbsp;and&nbsp;will&nbsp;thus&nbsp;only&nbsp;work 
    in&nbsp;IE.&nbsp;&nbsp;But&nbsp;it&nbsp;may&nbsp;provide&nbsp;a&nbsp;start 
    if&nbsp;you&nbsp;are&nbsp;interested,&nbsp;I've&nbsp;gone&nbsp;through 
    the&nbsp;pain&nbsp;of&nbsp;setting&nbsp;it&nbsp;up&nbsp;and&nbsp;getting 
    testing&nbsp;going&nbsp;&#8211;so&nbsp;can&nbsp;offer&nbsp;that&nbsp;if 
    you&nbsp;are&nbsp;interested.&nbsp;&nbsp;Once&nbsp;the&nbsp;home 
    grown&nbsp;Glue&nbsp;is&nbsp;complete,&nbsp;there&nbsp;should&nbsp;be 
    a&nbsp;relatively&nbsp;simple&nbsp;migration&nbsp;path(as&nbsp;both 
    are&nbsp;based&nbsp;on&nbsp;Fitnesse).</P><BR>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P 
    style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; TEXT-ALIGN: center">****<BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Again,&nbsp;apologies 
    for&nbsp;the&nbsp;long&nbsp;post,&nbsp;but&nbsp;I&nbsp;wanted&nbsp;to 
    get&nbsp;wide&nbsp;feedback&nbsp;from&nbsp;anyone&nbsp;who&nbsp;is 
    interested&nbsp;and&nbsp;provide&nbsp;a&nbsp;full&nbsp;explanation&nbsp;of 
    where&nbsp;I'm&nbsp;coming&nbsp;from&nbsp;&#8211;will&nbsp;limit 
    scope/size&nbsp;in&nbsp;the&nbsp;future&nbsp;promise!&nbsp;:-)</P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"><BR></P>
    <P style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in">Cheers,</P>
    <P 
    style="MARGIN-TOP: 0in; MARGIN-BOTTOM: \
0in">-r</P></SPAN></DIV></DIV><BR>-------------------------------------------------------------------------<BR>This \
  SF.net email is sponsored by: Splunk Inc.<BR>Still grepping through log 
    files to find problems? &nbsp;Stop.<BR>Now Search log events and 
    configuration files using AJAX and a browser. <BR>Download your FREE copy of 
    Splunk now &gt;&gt; <A 
    onclick="return top.js.OpenExtLink(window,event,this)" 
    href="http://get.splunk.com/" 
  target=_blank>http://get.splunk.com/</A><BR></BLOCKQUOTE></DIV><BR></SPAN></DIV></DI \
V><BR>-------------------------------------------------------------------------<BR>This \
  SF.net email is sponsored by: Splunk Inc.<BR>Still grepping through log files 
  to find problems? &nbsp;Stop.<BR>Now Search log events and configuration files 
  using AJAX and a browser. <BR>Download your FREE copy of Splunk now &gt;&gt; 
  <A onclick="return top.js.OpenExtLink(window,event,this)" 
  href="http://get.splunk.com/" 
target=_blank>http://get.splunk.com/</A><BR></BLOCKQUOTE></DIV><BR></BODY></HTML>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic