We will be speaking this year about applying modern software development practices to UI automation. If your going to the conference be sure to check us out!
We will be speaking this year about applying modern software development practices to UI automation. If your going to the conference be sure to check us out!
As we work toward in enhancing our agile practices, we(the team) took it upon ourselves to enhance the way we handle our stand ups. However this practice may not work for all teams, but as a team of larger size who works a lot in pairs and feature sets we thought these following things would be beneficial to the team organizing there day efficiently.
At South Florida Code Camp right now presenting with Mike Longin on SWAT at 9:50, and Applying Modern Software Development Practices to UI Automation at 11:10. When all is done, I will give an update on how it went and will attach the power points on our presentation.
Some links to check out in the mean time.
http://sourceforge.net/projects/swat/
http://www.fitnesse.org
as well as devxero.wordpress.com.
Updates will come after 1pm.
Update:
Both presentations went extremely well(minus the demo failure for presentation #2). I have uploaded the slides here.
An Introduction to UI web testing using SWAT
Applying modern software development techniques to UI testing
Thanks for everyone who attended our two presentations. It was great to meet everyone and we look forward to future presentations.
Testing out the new shared content system of Contribute CS4, for being CS4 seems a bit bared bones, but I can see the appeal for ease of user and content updating on simple blogs or php websites.
In the Agile world, adaptation and constant change may be something your use to, but experiencing those changes in the team itself may not. Most people fear change, and not in the sense that change is negative, but it is unknown, therefore comfort zones that have been established will no longer be applicable.
One of the biggest types of changes in a Development world is Team change. As the organization discovers its strengths and weakness it than has to begin adapting the structure to best support the overall mission(deliverable) of the org.
So this affects us, mostly with team level changes, whether that be gaining new members(new to org or transfer), loosing members(experienced team members), or changing leadership(reporting structure).
Now there is most likely many other scenarios that can affect teams besides personnel changes. This also may include environment(team rooms, employees going remote), project(moved to another project, project canceled), etc.
As a Scrum Master in an agile world it is your main responsibility to maintain team communication, quality and velocity. This breaks down to being able to make sure the team communicates with each other in order to meet the second goals of maintaining a quality product and delivering that quality at the highest quantity possible.
For Example: Team A joins Team B, and looses Employee X to Team C.
The example above is a standard team combination with maybe an overlapping resource being moved to another team, possibly two scrum masters, architects, product analysts, two specialty testers, etc. Team A and Team B most likely have reached a comfort zone if they have been existing teams, and already know there team mates work habits, and are able to adapt to them to continue productive forward progress. However now that Team A and Team B have combined, they have now returned to the “New Kid in School” mentality as they are entering an environment in which some people know each other very well and some may not know each other at all.
In Agile Development it would be accepted that the new team, will be able to spend a sprint or two in learning the team dynamic, adapting to change and transferring knowledge. This is where the Scrum Master’s ability as a team facilitator can be the most useful.
Here is a few things that a Scrum Master can try to do to facilitate a smooth transition and make a positive change to the team.
These are just a few idea’s that I have tried and there is definitely more ways out there to make change a positive experience for everyone. Remember most importantly that no matter what everyone is equal and by treating team mates with respect and kindness will be more than enough to start off on the right foot.
“Retrospective meetings are the heart of agile methodologies. Scrum teams follow this religiously at the end of each iteration. ” – Agile World
A Quick History on the Sprint Retrospective
“Retrospectives initially were not a part of Scrum at all. There was supposed to be a retrospective part during the sprint review. Over the time it evolved into two separate sections: Sprint Review focused on what and Sprint Retrospective focused on how.” – AgileSoftwareDevelopment.com
Iteration Retrospectives
“Iteration retrospectives are carried out at the end of the every iteration. The main goal is the daily habits improvement. By discussing of what went wrong, what went well team gets a chance to share the individual observations, aid daily problems and eventually grow as a constantly improving team. Not to loose the power of periodic retrospection it is very important for an iteration retrospective to result in a specific set of changes. Reviewing own work takes emotional energy and people would not be willing to invest it if it won’t result in a visible outcome.” – AgileSoftwareDevelopment.com
Through personal experience with Agile and using a Retrospective as a method to “tune up” team performance and how we as a team handle outside interactions, I have found a few key things to focus on that help improve the Retrospective Experience.
SWAT or Simple Web Automation Toolkit is an open source web automation testing tool developed by software engineers and testers who work at Ultimate Software. Currently SWAT is used in-conjunction with Fitnesse Framework however it is not dependent on FITNESSE being installed, but currently formatting is based of Fitnesse Pipe formatting.
Here are some screen shots of the currently public version 2.0
Check out fellow Scrum Master and Developer’s blog and a lead contributor to open source project SWAT
Also check out Software Architect and Founder of DVDFriend.us technical blog
“Exploratory Testing” Defined
An approach to software testing that emphasizes the personal freedom and responsibility of each tester to continually optimize the value of his work by treating learning, test design and test execution as mutually supportive activities that run in parallel throughout the project.”– Kaner, Bach. June 2007
No Preconceived Notions
“Testing is exploratory to the degree that you are not bound by preconceived ideas. Testing is scripted to the degree that you are bound to follow what has been designed in advance.” – James Bach
Don’t Do what you always do! Your pre-existing conditioning will dampen your testing efforts. Try to take the beaten path.
Exploratory Testing
Missing Requirements?
ET (Exploratory Testing) can be used as a great method for finding missing requirements.
The Difference between a bug and a missing requirement is that a bug is a requirement that is failing, and a missing requirement is one that was never defined.
Helps finds holes in requirements
ET Vs Automation
Automation is great for regression and existing tested functionality
ET is great for discovery and exploring “undocumented” features.
They both can co-exist. A healthy balance of both will increase quality, while a lack of either will decrease it.
Misdirection
Focusing a set test plan all the time may leave you too focused to notice what’s going on outside of the test plan.
Tester’s Investigative Tools
Transition to ET Strategy
How do I apply to QA
One of my favorite presentations of the whole conference, happened on day 4 regarding Google’s “Testing on the Toilet” keynote. In the testing world this is a pretty popular story, but just in case you haven’t read about it already, here is a link to read.
The idea here is that anyone in an organization can make a difference. It is a common misconception that Testers are an after thought in the development process and only are there to reassure that “Quality” is a term lightly used and rarely influenced. But the real question to ask is, “Why is this so, and How can I(the tester) make a difference?”
Now not every corporate world is the same, so there is no sure fire way to guarantee your message will be heard, and quality will be enforced, practiced, or even noticed. However that does not mean it is not your responsibility to make a change. Here is a few idea’s that a tester can use to inspire ones self to make a difference.
Now go out and make a difference! And just remember don’t stop until you do, not every idea may be right for you, and it will take effort to see it through, but the end result will be a better way, and you will be the reason for it.