Presentation is loading. Please wait.

Presentation is loading. Please wait.

Florida International University 03/11/2009 Contact:

Similar presentations


Presentation on theme: "Florida International University 03/11/2009 Contact:"— Presentation transcript:

1 Florida International University 03/11/2009 Contact: Greg_Miller@UltimateSoftware.com Michael_Longin@UltimateSoftware.com

2 Ultimate Software: Mission Statement Our strategy is to provide US and Canada businesses with 200 or more employees, the highest quality and most complete unified global human capital management solution.

3 Today’s Attendees from Ultimate Software  Greg Miller – Engineering Talent Manager  Michael Longin – Software Engineer/Scrum Master/Product Owner  Jean Rodriguez – Software Engineer Intern  Analia Ibargoyen – Software Engineer Intern  Gunther Taborga – Software Engineer Intern

4 Agenda  Overview –Ultimate Software background, product, environment –Development Team and Agile Development methodologies we use  Swat/Fitnesse –Presentation and Labs

5 Ultimate Software – Who Are We?  Founded in 1990 to provide the highest quality integrated HR, benefits and payroll solution  Dedicated focus on HR/payroll & strategic talent management solutions, developed by actual HR/payroll practitioners  Award-winning UltiPro ® product and customer services  880+ employees -- with headquarters in Weston, FL

6  Quality product – Reputation for quality  Great service – 99% Intersourcing® customer retention rate HRMS/Payroll– The Core of What We Do. Since 1990 >1,500 Customers, > 3,000,000 Employees Creating Desire Execution  Long-tenured development team  Long-tenured implementation team  Long-tenured sales team Opportunity  Companies with > 200 employees

7 Our Best Reference is Our Customers Electric Works Ultimate Software Confidential – Internal Use ONLY – Not for Public Distribution

8 Forrester Research’s Wave Rankings, Q4 2008 Source: Forrester (October 2008) “Ultimate Software leads the pack. Ultimate Software’s well-rounded HRMS solution has strong core transactional capabilities, including payroll, as well as good flexibility and usability.”

9 Top on “Best Companies to Work For” list Medium-Sized Companies, #3 in ’06 & ‘07

10 We made # 1 in 2008

11 Our Development Team  WINNER Stevie Award – Best Product Development Organization –Given by the American Business Awards in 2008  Spend $30+ million dollars per year in R & D  Using the latest Processes & Technology –Microsoft Partner –Agile Development –Net 3.0 in the earliest stages of beta –SQL Server 2005 –Ajax/Atlas, Silverlight

12 Agile Methods We’re Using  Scrum  Test-Driven Development –Write the Automated test before writing code  Continuous Integration –Constant Builds  Pair Programming & Promiscuous Pairing

13 Scrum Characteristics  One of the agile processes  Self-organizing teams  Cross-functional teams of 5-8 people –QA and Programmers on the same team  Product progresses in a series of two week sprints  Requirements are captured as items in a list of product backlog

14 Functional Test Automation  Finds bugs in the functionality  Tools –SWAT – Simple Web Automation Toolkit –WinRunner –Fitnesse –MBUnit

15 Automation at Ultimate Software  Currently we have 700+ pages  5.7 million lines of code  89% test automation average

16 Goals For This Session  Show attendees how to create automated UI tests for web applications running in IE and Firefox –Using SWAT and Fitnesse  Demonstrate new ways to apply automation techniques in the classroom

17 Syllabus  Introduction to Fitnesse  Why We Test the UI  Introduction to SWAT  How Commands Are Created  Instantiating a Browser  Navigating a Browser  Bread and Butter Commands  Expressions  The SWAT Editor  Questions?

18 Fitnesse  FitNesse is a lightweight, open-source framework that makes it easy for software teams to: –Collaboratively define Acceptance Tests (web pages containing simple tables of inputs and expected outputs) –Run those tests and see the results  www.fitnesse.org www.fitnesse.org  On your machines located at –Localhost:8080  To install –Fitnesse.org –Swat installation guides located at SourceForge

19 Fitnesse (con’t)  From this:

20 Fitnesse (con’t)  Results –Green Passed –Red Failed

21 Starting Fitnesse

22 Fitnesse – Creating a Test  Creating a test –^Filename Typing that into a fitnesse page will create a link Clicking that link will create a new test page

23 Fitnesse – Editing/Running Tests  Editing/Running –Suite Run multiple tests –Test Run a single test –Edit Edit a single test –Properties Turn on test and suite abilities

24 Fitnesse Syntax  Syntax –Pipe Syntax Tests are written with commands contained within pipes ‘|’ –{{{ }}} We use this to comment out sections of tests NOTE – slows the tests down –‘’’Bold’’’ –|!comment| Marks a table as a comment block –!contents –R Lists all the tests underneath the current folder –# Comments out a single line –!3 Creates a bold headline –!*** Section ***! Creates a collapsible section –Images Add the url/link image will automatically be added !img url-to-image-file

25 Fitnesse for Acceptance Testing  Import statement –Import the needed namespaces  Testing table –First line is the class name –Second line Input variables and methods –Input1 and 2 –Add/Subtract –Third line and after Actual Inputs and results –1+1 = 2 –1-1 = 0

26 Fitnesse in the Classroom  Allow you as professors to provide students with the testing key when handing out projects  Teach students to automate their work without the need of manually working a UI  Automate testing of SQL code in a database course

27 Questions About Fitnesse  Questions???

28 Why We Do UI Testing  All the way through –Through the product –Through the layers –It’s truly how the user will use your system –100% Functional

29 Tools for Viewing HTML  IE –IE Developer Toolbar  Firefox –Firebug  Can find other tools via Google  These tools read the real time HTML of the page –Viewing the page source via a browser only provides the source at creation

30 SWAT  SWAT –Simple Web Automation Toolkit –Meant to provide a simple way to test the UI of a website  C# Library –Not tied to the included editor or fitnesse (we just use these to launch SWAT)  Library of commands –UI –Database  Open Source –Anyone can download the program and the source –MbUnit and Fitnesse can be used to run SWAT, though we use Fitnesse internally

31 SWAT Documentation  SourceForge –http://ulti-swat.wiki.sourceforge.net/http://ulti-swat.wiki.sourceforge.net/

32 SWAT Demo  Demo…

33 Creating SWAT Tests in Fitnesse  What to Import –SWAT –SWAT.Fitnesse  Example !|Import| |SWAT| |SWAT.Fitnesse|

34 Instantiating a Browser  SWAT currently supports 2 browsers –IE –Firefox  Test determines what browser it’s testing against from one of these lines written below the import statement –!|InternetExplorerSWATFixture| –!|FireFoxSWATFixture|

35 Where We Are Now !|Import| |SWAT| |SWAT.Fitnesse| !|InternetExplorerSWATFixture|

36 How Commands Are Entered  All test blocks start with !|SWATFixture|  Commands come underneath  Example: !|SWATFixture| |OpenBrowser| |NavigateBrowser|www.google.com|

37 Navigation  Open Browser –|OpenBrowser|  Navigate Browser |NavigateBrowser|url| –Example |NavigateBrowser|www.google.com|

38 Navigation (con’t)  Attach to Window –Used to attach to an open browser or popup –Does not need to be exact –|AttachToWindow|WindowTitle|  Close Browser –|CloseBrowser|

39 Where We Are Now !|Import| |SWAT| |SWAT.Fitnesse| !|InternetExplorerSWATFixture| !|SWATFixture| |OpenBrowser| |NavigateBrowser|www.google.com| |CloseBrowser|

40 Lab 1 – Open a Browser and Go to Google  Goal: Be able to open a browser and navigate to a particular site  Specific objectives –Create a new test in fitnesse –Create an instance of the Internet Explorer browser –Navigate to www.google.comwww.google.com

41 Bread and Butter  Setting the value of an attribute –SetElementAttribute Could be used to set a textbox |SetElementAttribute|IdentifierType|identifier|attributeName|attributeValue|tagName(optional)| –Identifier Type http://ulti-swat.wiki.sourceforge.net/QS_Fitnesse_IdentifierTypes ID Name InnerHTML Expression (we will get to this one in a moment) –Identifier Example my label |id|myID| |InnerHTML|my label| –NOTE* when using an identifier other than Expression must be exact –Attribute The Attribute that will be set Could be value,class,style –Attribute Value Whatever you want to set it to –Tagname Optional Speeds up tests Recommended

42 Bread and Butter (con’t)  StimulateElement –Could be used to click a button or change a drop down –|StimulateElement|IdentifierType|identifier|eventName| tagName(optional)| –EventName OnClick OnChange  AssertElementExists –Used to determine if an element is on the page –|AssertElementExists|IdentifierType|identifier| tagName(optional)

43 Where We Are Now !|Import| |SWAT| |SWAT.Fitnesse| !|InternetExplorerSWATFixture| !|SWATFixture| |OpenBrowser| |NavigateBrowser|www.google.com| !|SWATFixture| |SetElementAttribute|name|q|value|Ultimate Software|input| |StimulateElement|name|btnG|onclick|input|

44 Expressions  Allow more powerful searches  Uses regular expressions –Dev can help  http://ulti-swat.wiki.sourceforge.net/QS_Fitnesse_IdentifierTypes http://ulti-swat.wiki.sourceforge.net/QS_Fitnesse_IdentifierTypes  Can string together multiple attributes  Syntax –‘:’ vs ‘=’ ‘:’ means contains ‘=’ means exact –‘;’ used to break up attributes Example – my label –Expression|id=myID;innerHTML:my lab|  NOTE –Period ‘.’ is a wild card, can mean anything

45 Expressions (con’t)  Matchcount –Checks for multiple instances of an attribute –Example: innerHTML#2:ulti Reads as, “ulti” must be contained twice in the HTML  ParentElement –Can use the parent element –Example: parentElement.id:pid;class:hide

46 Expression (con’t)  Styles –Slightly different syntax –style:border: 2px solid #000000; background-color: #ffffff Notice style is called, and then individual styles are found

47 Where We Are Now !|Import| |SWAT| |SWAT.Fitnesse| !|InternetExplorerSWATFixture| !|SWATFixture| |OpenBrowser| |NavigateBrowser|www.google.com| !|SWATFixture| |SetElementAttribute|name|q|value|Ultimate Software|input| |StimulateElement|name|btnG|onclick|input| |AssertElementExists|Expression|href:UltimateSoftware|A|

48 Lab 2 – Searching in Google  Goal: Be able to use basic SWAT commands  Specific –Use Firebug to identify the names of the Google textbox and search button –Set the search term to “Workshop on Integrating Software Testing” –Press the Search button –Click on an anchor tag that includes ‘fiu’ in the href and ‘Software Testing’ in the Text –Ensure that Peter Clarke’s email address is present (clarkep@cis.fiu.edu)clarkep@cis.fiu.edu

49 SWAT in the Classroom  Allow you as professors to provide students with the testing key when handing out projects  Testing Web Applications in a web programming course  SWAT is open source, we would be happy to work with a professor on creating programming projects from the base source code

50 The SWAT Editor  Included in SWAT download from sourceforge  Up to date walk-throughs here: –http://ulti-swat.wiki.sourceforge.net/QS_SwatEditorhttp://ulti-swat.wiki.sourceforge.net/QS_SwatEditor  Tests can be run/written in the editor  SQL checks can also be created here  UI recorder is contained in the editor

51 Final Words  Additional Remarks –When testing in IE, run fitnesse in Firefox and vice versa –The SWAT Editor recorder is meant to help, not to do all the work

52 Where to Get Help  Questions –Open forum on sourceforge  Websites –http://ulti-swat.wiki.sourceforge.net/http://ulti-swat.wiki.sourceforge.net/

53 Questions  Questions????


Download ppt "Florida International University 03/11/2009 Contact:"

Similar presentations


Ads by Google