Archive for July, 2010

Selenium IDE breaks firefox update 3.6.6

The new firefox update won’t start if the Selenium IDE is enabled.

System:
OSX 10.6 (snow leopard)
firefox 3.6.6
Selenium IDE

I updated my firefox version, then tried to start the browser. nothing happened. I opened firefox in safemode with all add ons disabled. It started fine. I added my add ons back one at a time until I added selenium IDE again, and it couldn’t start after that.

I also went into about:config and added a new Boolean  setting: extensions.checkCompatibility.3.6b (false) as recommended here. Nothing seems to be working so far.

Has any one else had this problem yet?

The Tester’s Scientific Method

We all remember the scientific method from jr. high science labs.  But as a tester, we still use it every day. The steps may entail different things, but the underlying philosophy remains the same. Testing is an interesting blend between scientific and creative, between destructing and constructing. It requires a flexible yet ordered mind and, as with any scientific approach, it requires curiosity.

1. Ask a Question: The most valuable thing a QA can do is to ask the right questions. Is this feature supposed to work this way? Could this functionality be broken if I do this?  How will this affect existing functionality? What does this mean for the user experience?

2. Do research: Talk to the engineers, look at the documentation, discuss with your fellow testers. Stand up meetings are a great time to hear what developers are up to and to ask any questions you have run into on those features.

3. Construct Hypothesis: Determine how the feature should work and all the ways you need to verify that it passes when it is supposed to pass and fails when it is supposed to fail. Write your automated and manual test cases

4. Test: Run test cases

5. Analyze Results: Evaluate what is failing and why. It is not enough to know that a feature has an issue, you need to know what exactly reproduces it? If you spend a moment looking at it, perhaps you will find related issues or other ways it can be reproduced.

6. Report results:  Carefully fill out your bug report. Stick to a bug filing standard. Spell check. Make sure that anyone could understand your bug and the information you have gathered from it.

7. Be prepared to test again. Bug fixes always bring with them the risk of inserting more bugs. Don’t just verify a bug fix, test the bug fix. It should get the same attention that the original feature did. Be aware that you may have uncovered a cluster of bugs or a series of new bugs that have appeared since the fix, so look at it with fresh eyes.

Extending Lighthouse bug tracking

We use lighthouse for bug tracking at my company. It is simple, flexible and has a great api that allows us to hook it into testlink to track bugs from our test management system. The search functionality, however, seems limited. I have often wished there were a dashboard feature that allowed for more of an overview. It might be different if I worked on only one project, but as a QA lead,  I care about all the projects all the time. So when my company decided to do a hackathon day, I wanted to find a way to extend lighthouse into a dashboard.

We had 8 hours and 4 people to complete our hackathon task. Since a number of us had just completed a basic intro to Rails class, we decided to make a separate page that pulls data from Lighthouse. We were able to get the info out of lighthouse pretty easily with the API and Rails (with web themes) let us get a basic page up quickly. With so much data coming in, we had to figure out how to paginate the results so that the system didn’t run into any lag while trying to display the results. And the profile creation and filtering process took us a while.

By the end of the day, we had a working profile up with dynamic info coming in from our Lighthouse projects. A user can log in and see a list of their current tickets for all projects, with priority and status displayed and link those back to lighthouse to update them, or they can go to a more project specific view and see tasks assigned to them – with details for each project.

We have more work to do- we want to work on the sorting so that tickets appear in different bins by status, by priority, date updated etc. We also want to make a “team view” so that leads can log in and see the release status for all the members of their team. Eventually, we hope to do similar integration with testlink to display test status, test cases assigned and test cases created by you. We also want to integrate with Pivotal Tracker, which is also great from the project perspective, but needs a cross- project dashboard for those of us who are always working cross- team.