SSL failure

I’ve been seeing a lot of Lyrica commercials on television these days. So I went over to their website to see if they were prepared to provide a certain level of quality to the people going to their site.

I went to the Common Questions Page and decided that I wanted to check if the email was working correctly. Meaning, at a base level, it should just send out an email. To my surprise I couldn’t perform that function because the SSL was failing.

I got the following Error in Chrome v. 12.0.742.122 on Windows 7:


Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don’t have.
Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.

I tried the same case in Firefox 5.0 and got the same thing.


Secure Connection Failed

An error occurred during a connection to http://www.lyrica.com.

SSL received a record that exceeded the maximum permissible length.

(Error code: ssl_error_rx_record_too_long)

Along the way, there also a page that wouldn’t load or it was taking forever to load; I’m not too sure. That is another test case for another time. I also validated the certificate and everything seemed OK with it. This must be a configuration issue.

See it in action:

Date of Bug: 7/31/2011
OS: Windows 7
Browsers: Google Chrome v. 12.0.742.122 | Firefox 5.0

Advertisements

Music: Simple Minds – Don’t You Forget About Me – Regression Testing

How could anyone forget?

Thumbs up if you like Simple Minds!

Cheers,
Earl

I don’t have a personal vendetta against the Zyrtec site.

I really don’t as much as it would appear that way. I just hate bugs like this. There are many things going on here that are just wrong including a really terrible design that doesn’t handle dynamic changes to the UI.

I wanted to go to the Zyrtec Allergy Forecast Tool and find out the Allergy Forecast in my area. It’s sounds like a simple enough task.

As soon as the page loads in which this tool resides, I am presented with a default number of 0.0 in this tools display. Fair enough. I type in 10466 which is a valid zip code somewhere in the Bronx. I get no result, just another prompt telling me to enter in another zip code and the default 0.0 number is now gone. It is working? I’m not sure. Let’s try zip code: (90210). I thought it was a pretty cool show and everybody knows that one. I get the forecast and it’s 2.6 which tells me something is working. Perhaps it’s only works for popular TV shows.

However, the light box is covering this number now after I have gotten a clean result, so I can’t really see this number because the zip code light box is over the number. I type in another valid zip code (10010) and then nothing happens. I’m inclined to really believe now that this feature only works sometimes.

I then enter in zip code for Rose, NY (14542). It’s not really telling me either if there just isn’t a forecast for that area pr any of the failed queries I’ve initiated. I then enter in another valid NY zip code (11413) and still nothing.

I then click on the zip code anchor which looks like a link, and it is. Now I am getting a javascript void error. I click on that link again, again after closing out the light box for entering in my zip code, and it pops up again. I do believe this was the intended function for this anchor. However, where was the flag to tell the user what’s going on and that clicking this link will do two different things? Where is the UI experience that I was really hoping for where I can assign a function to a particular action as a regular user would using intuition.

At this point, I checked the validation which had worked. However the main function of this feature is to look up the allergy forecast in my area. NOT to validate zip code formats which produce no results. At this point in time, it was too late.

I just gave up on this feature of the site. I’m also not sure what the map requirements are as it only serves the purpose of being a static image.

See the test cases below:

Date of Bug: 7/30/2011
OS: Windows 7
Browser: Google Chrome v. 12.0.742.122

Cheers,

Earl

Can your bug get someone out of jail?

Apparently it can. Our bugs have real-world consequences

TAVARES, Fla. (Associated Press) — Authorities say an inmate at a central Florida jail used a glitch in the facility’s phone system to bond himself out.

The Lake County Sheriff’s Office says 32-year-old Larry Stone discovered the glitch earlier this month. The phone system charges inmate accounts for calls but refunds the money if the call doesn’t go through. But the system was reimbursing inmates twice for incomplete calls.

Authorities say Stone repeatedly made calls and hung up until he had more than $1,250 – enough to bond out of jail.

Find out more here after the jump: http://embed.5min.com/517134445/

Music: Whitesnake – Here I Go Again

I’m under the assumption that he is talking about AGILE, a new project with outdated documentation, and a 2 week turn around time to deploy to PRODUCTION.

Thumbs up if you are a Whitesnake fan.

My Allergies are Killing Me Pt. 2 – Cross-Browser DIsplay ft. CSS

I usually try not to blow the whistle twice in one day; but my allergies are driving my actions at this point since the pollen count is up and the heat index is at a record high. So is the defect count in this particular browser.

Whoever tested this site, not only neglected that I can’t enter in a zip code in the allergy forecast finder in currrent version of Chrome, but I’ve also noticed that there is a pretty bad display issue in the same Google Chrome 12.0.742.122. Since Google is pretty reliable for backwards compatibility, it probably displays like this in earlier versions as well. But that is only a hunch.

This site also functions differently than in other browsers as choosing a product in the Product Selection drop-down only should yield the default selection of ‘What Size’ until you make a selection in the first drop down which will determine the count and subsequently, the actual product in the second drop down. However, this only happens after initially making a selection in the first dynamic drop down. This is not functioning as expected in this particular browser and possibly the OS as well.

The drop downs below are not functioning as expected, and the size of the drop downs are aligned out of the call out box. The call out box also has too much bottom white space as well.

Cross Browser Testing should become a mantra to all QA Testers.

My Allergies Are Killing Me

Frankly, this is terrible because if I only had Google Chrome Version 12.0.742.122 and was trying to find out the Allergy Forecast nearest to me, I wouldn’t be able to enter in my zip code as I am not able to enter in my zip code in the interface.

However, I’m sure since my allergies are acting up, that the allergy forecast isn’t too good.

Note: This works in Internet Explorer

Time to Automate

Automated testing has always been the subject of a lot of criticism. This has been due to the fact that automation loses it’s meaning when the software is constantly changing. On top of that there is always the challenge of debugging these scripts when they fail due to a false positive. This is when the script fails not because of a bug in the software, but because these is a problem in the automated test framework. Possibly in the script, or maybe there is a problem with the proxy setting.

Therefore, it’s very crucial to all QA people to know when it is the right time to automate. The best and easiest to even think about if something can be automated would be when the functional requirements have been truly stabilized.
After deciding that this is the case there are a file things I would certainly consider before makin the decision.

1. Is this test repeatable? Can I execute the same script repeatedly and will this function that I am testing have to be tested over and over again where I will have to execute this script on a continuous basis.
2. What is the ROI or return on investment (time wise ), when you want to automate the test? I say time wise because there are many open-source automation tools available that are of no cost so if anything will be wasted; it will be time.
3. Script Death. If I am executing these scripts repeatedly and they fail on a regular basis because of some minor change to the software, it may not be worth the hassle of having to maintain and debug your scripts.
4. Is this script reusable. If we were moving a release from multiple environments during a deployment, then the tests that we are executing can be reused in these different deployment environments. Also, can this code that is not going to change, also be used to help your developers unit test their code? For example, a developer may not want to fill out a five-page form when unit testing that data transmitted through Web Services is functioning as expected.
5. The most easiest way to determine this if you are really not sure is to ask yourself; Has this manual test that I have been performing on a regular basic when regression testing become so tedious and repetitive that it literally becomes painful performing the test manually.

This is where automation seems like the a really good choice. Automating your functional tests will allow you to:
a)Test your Site
b)Write your scripts
c)Execute your scripts
d) Generate all of your Test Script pass/fail documentation, including screenshots, using third-party libraries specifically created for reporting test results in your chosen programming language and all done across different platforms and also cross browser to boot. This cuts your time by more than 80%.

These libraries also provide the programming support that allows you to run commands from a program of your own design.

After reports are generated, you can then set up a review where you might involve IT, your project manager, and Creative to view the results of your tests. Now you have your full QA functional tests and also you regression test and a way to re-export all of these reports again during upcoming release reviews.

Here are some free tools to get you started:

1) Selenium FireFox Plugin – http://seleniumhq.org/projects/ide/
2) Firebug – http://getfirebug.com/whatisfirebug -Firebug integrates with Firefox to put a wealth of web development tools at your fingertips. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.
2) Selenium Remote Control – http://code.google.com/p/selenium/downloads/detail?name=selenium-server-standalone-2.0b3.jar&can=2&q= – is a test tool that allows you to write automated web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser. It can automatically launch and kill browsers.
3) JUnit – https://github.com/KentBeck/junit/downloads – JUnit is a simple, open source framework to write and run repeatable tests
4) Eclipse IDE for Java Developers – http://www.eclipse.org/downloads/ – Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, Ruby (including Ruby on Rails framework) Scala, Clojure, and Scheme.
5) Selenium Java Client Driver – http://selenium.googlecode.com/files/selenium-java-2.0b3.zip – In order to create scripts that interact with the Selenium Server (Selenium RC, Selenium Remote Webdriver)or create local Selenium WebDriver scripts, you need to make use of language-specific client drivers. There are other client drivers available on the Selenium downloads Page.

Happy Testing

Earl

Mind Maps and Mind Manager

More often than not, I’m brought in to project kick-off meetings and told of a project schedule in which I am to start QA on a project of which I know nothing about. Due to the fact I’m usually busy testing, I don’t necessarily have the time to really dig in until the requirements are all nailed down as my other 10 projects have a very HIGH priority as well. Or at least nailed down enough where I can start some testing.

Before this happens, everyone wants to see a Test Plan. Of course, after asking for all the materials needed to actually write this Test Plan (somewhere on the server), I normally come to the conclusion that after reviewing all of this content, that it is incomplete and out-of-data. I’m guessing the IA guy was also busy as well IA’ng, so he had no time to update these highly detailed, and highly important documents that serve as the very foundation of my testing. That’s another story for another day.

My story for today is that I am now stuck bobbing for requirements. Instead of these requirements being in a huge barrel of water, in which my hands are tied behind my back, and I easily grab these requirements with my teeth like a great white; something I would more than likely prefer; I am now stuck on the requirements gathering conga-line. But unlike a regular conga line, this one is 5 times as long as a lot less fun; and there are no steel drums, and coconut shakers either.

So what is a tester to do? I first came across the idea of using Mind Maps after reading the 1st edition of “Extreme Programming explained” by Kent Beck. I was pretty psyched about using my first mind map but never really got the opportunity. Since a picture is worth a thousand words; I could only imagine a picture can be worth just as many requirements.

Let’s start with what a mind-map is. A mind-map is a graph-like structure that starts with a central concept and the user is able to start drawing out branches from the center developing each feature from that core concept. You can even draw out small branches, and more details pertaining to each branch.

Here is a mind-map I drew while coming up with my Test Design for a recent project. See Figure 1.0


My map
[Figure 1.0]

What I was able to do here was just start with a central idea and since I knew of some ideas and requirements I was able to build this out in a clear and visual manner and I was able to convey the minimum information to move forward while welcoming changing requirements and also adding new ones. I was able to centralize some of that older documentation because it still had some use, and instead of reproducing it in a testing document, it was reused and distributed in a map.

Since the site was also still in Development, this allowed me to test certain features of the site that were testable, while Development was still happening much easier. We were also awaiting other pieces to the puzzle so it was important to know what we were waiting for, what was tested already, and what had passed, and what was dependent on other requirements. This is really hard to follow in a very long Word Document that you have to keep updating. Instead, anytime I had a question about a requirement or had learned of a new one; I was able to add it to my map easily and visually see all of it’s dependencies; informing me what to hold off on testing until that piece is ready.

For this particular map, I was using Mind Manager by Mindjet which comes with another host of options that would make your mouth water. I was able to place green flags for what has passed, red flags for what failed, even flags for requirements that might make it, and requirements that had to be deferred because of a dependency. With 5 clicks of the mouse, and approximately 10 seconds later I was able to put a Quick Filter on my flags in order to determine on a daily basis where we were with each requirement. When we moved the site into our hosting environment, I was able to do the same. Because everything is on one page, it’s easy to see the big picture and to start connecting things in some very surprising and truly inspiring ways. The true beauty of this is that I was able to summarize the entire site in a single page while the project was constantly and rapidly moving.

There’s some research that states that using Mind Maps engages both sides of the brain and using colors help you exercise the neglected part of your brain that may be analytically busy describing a concept using a linear list and slides with bullet points. I also noticed I was able to see new associations between concepts which made my tests more thorough.

So what about the Test Plan you might be wondering? Well after coming up with a comprehensive mind map in a relatively short period of time; using Mind Manager I was literally able to export this file into a 120 page Word document that could be used for military use showing what has to be tested, what is pending, and later, what had passed and failed. I ended up doing an HTML export and coming up with a small site that has a Table of Contents, The Test Plan, the Test Design Specification which was the map (since Mind Manager makes them look really sexy), the test scripts, and even the datasets that I had automated to submit with Selenium, in addition to screenshots.

I will get into how to write out Test Scripts using Mind Manager in another future post, but for now, I’m pretty excited about using mind maps and I certainly plan on using them extensively for all my projects.

Cheers!

Earl