February 24, 2014

Our Nest in Maine



We recently had a narrow escape in our house in Maine. copyrightjoestrazzere

In a normal week, we spend at least a few days there - more in the warm weather, a bit less in the cold weather - but we're there almost every week. But a few weeks ago, we weren't able to get there, for one reason or another, for over two weeks. When we finally arrived, it was freezing. The furnace wasn't working.

We have radiant heat which uses warm water in tubes under the slab. If that freezes it can be a major expense. It might have even required adding a new heat source. Fortunately, we were able to get the furnace repaired, and nothing had frozen. It was a very cold night, but otherwise we escaped unharmed.

So I needed a solution. I could have purchased a freeze alarm, so that I would know when the temperature dropped unexpectedly. But I was hoping I could do better by purchasing a new thermostat. In my mind, I had the following requirements:

  • I wanted to be able to monitor the current temperature remotely
  • I also wanted to be able to set the thermostat's temperature remotely, so that I could keep it low most of the time, but have the house warm (which takes a long time with radiant heat) when we arrived.
  • I wanted it to be easy to install. I can do a bit of electrical work, but I didn't want to do any in this instance. Install, setup, and no more worries - that's what I was after.

After a bit of research, I also learned an additional requirement:
  • Work with just two wires servicing the thermostat

I'm glad I did my research. I hadn't even considered that the wiring might not support a new thermostat. It turns out that most newer thermostats need power for their display and for driving their remote capabilities. Most thermostats draw that power using a "common" wire. But not all older wiring has this common wire. My wiring had only two wires - neither of them was a common.

While I checked out many, the only thermostat I felt had a chance to meet all these requirements was the Nest Learning Thermostat. The Nest has a lot of capabilities for learning your heating/cooling needs and automatically adjusting your thermostat settings accordingly. The newest version claimed to support 2-wire connections, and be easy to install. It's more expensive than most others, and the reviews questioned the 2-wire support in some circumstances, but I gave it a shot anyway.

It was indeed as simple to install an set up as claimed. The engineering is excellent - they clearly put a lot of thought into installation, and made it as simple as pretty much anything I've ever installed.

I've had the Nest running for over a week now, and it's been doing everything I needed. I can see the current temperature or change the settings from anywhere, using my computer or smartphone.

The Pros:
  • Very, very easy to install and set up
  • Easy to read the temperature remotely
  • Easy to set the desired temperature remotely
  • It does indeed seem to work fine with my 2-wire setup (at least so far)

The Cons:
  • Expensive
  • No emailed or texted alerts if the temperature drops unexpectedly. Many other remote thermostat systems can do this. I'm hoping Nest adds this feature as a software upgrade soon.
  • The Nest is a bit aggressive about "learning" my schedule. It seems to want to slip into "Away Mode" more often than I'd like. It was easy to override this feature for now.

Overall, I'm very pleased. If the Nest continues to work as it does now, and doesn't experience problems with the 2-wire installation that some others have experienced, I'll be very satisfied.

And on a professional note, how much fun would it be to test this device and the accompanying infrastructure?

If you are interested in a Nest, click here.


This article originally appeared in my blog: All Things Quality
My name is Joe Strazzere and I'm currently a Director of Quality Assurance.
I like to lead, to test, and occasionally to write about leading and testing.
Find me at http://AllThingsQuality.com/.

February 5, 2014

What's The State Of Testing? The Results Are In!

What is the state of Testing today?


Back in early December I asked you to help out my friend Joel Montvelisky conduct a survey about the state of testing in the world today.

Many of you responded - thank you!

And now the results are in!


What do you think? Does any of it surprise you? (I have to say the answers to the question "How do you report your testing?" surprised me a bit.


This article originally appeared in my blog: All Things Quality
My name is Joe Strazzere and I'm currently a Director of Quality Assurance.
I like to lead, to test, and occasionally to write about leading and testing.
Find me at http://AllThingsQuality.com/.

February 3, 2014

Have You Ever Faked It? I Have.


One of our web applications is designed to present one User Interface when viewed from a desktop system, and a different User Interface when viewed from a mobile device or tablet. That way, the UI can be more tailored to the capabilities of the device being used. copyrightjoestrazzere

In order to accomplish that trick, we use WURFL to detect the device type from the User Agent String, and tell the web application about the device being used. When WURFL tells us that it's a mobile device or tablet, a redirect occurs - into the mobile-optimized UI.

When testing this application, we used a wide variety of mobile devices. We used desktops, phones, and tablets. But the vast majority of functional testing was performed using just a desktop system and a few tricks. Those tricks allowed us to "fake out" the web application, and make it think that the requests were actually coming from a phone or a tablet.

WURFL (Wireless Universal Resource FiLe) is an API and database that uses the User Agent String sent with every web request to determine characteristics about the requesting environment. Properly used by the web application, the API can divide the requests into desktop requests versus phone/tablet requests.

Normally, your browser presents the web application with a User Agent String that reflects the characteristics of your actual device, operating systems, browser, etc.

For example Chrome on Windows 8 might present this for a User Agent String:
Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36

While Safari on an iPad might present this:
Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 Mobile/9B176 Safari/7534.48.3

Thus if you could tell your browser to use a "Safari-in-iPad" User Agent String, the web application would think you were actually coming from an iPad, and redirect you to the Mobile UI. This is exactly what we did.

We used two different ways to fake the User Agent String. Primarily, we used Firefox and the User Agent Switcher from Chris Pendrick. We also used Chrome and the command line switch --user-agent.

By faking the application out, we tested both the desktop and the mobile UI from the same browser on the same desktop machine. This saved us a lot of time, and made it far simpler to automate as well.

Sometimes faking it is easier, and more efficient as well.


User Agent String:
http://en.wikipedia.org/wiki/User_agent

WURFL:
http://en.wikipedia.org/wiki/WURFL

For Firefox:
User Agent Switcher
Chris Pederick

For Chrome:
Override User Agent
http://peter.sh/experiments/chromium-command-line-switches/#user-agent



This article originally appeared in my blog: All Things Quality
My name is Joe Strazzere and I'm currently a Director of Quality Assurance.
I like to lead, to test, and occasionally to write about leading and testing.
Find me at http://AllThingsQuality.com/.