Sunday, July 31, 2016

Mel's Take-Aways: #30daysoftesting

"Happiness lies in the joy of achievement and the thrill of creative effort." 

- Franklin D. Roosevelt

I found the exercise of #30daysoftesting a great way to think of other day-to-day things that I know I automatically apply my testing process to. While I wasn't successful at completing all of the challenges, I did a large number of them. A few I posted out on twitter and some I kept to myself or took notes of for future reference. 

Here are some of the highlights from the #30daysoftesting I enjoyed:

#2 - Take a picture of something you are doing at work - This was probably pretty creative for many of us that have NDA agreements. Mine was happenstance since I was installing SQL manager on Windows 10. I had a lot of woes that day, but I worked them out. 

#7 - Find an accessibility bug - While I didn't find a bug exactly, this was the inspiration, along with the movie Finding Dory to write something more about accessibility problems and issues with software and how they handle disabilities. 

#10 & 16 - Attend an event/ Attend a non-testing event - If you haven't heard or seen a tweet from me talking about Women Who Code or Chick Tech, look these two groups up. They are all over the world and they are doing great things for tech in general. One of my most inspiring moments came from doing a lighting talk at a Women Who Code meetup. 

#14 -  Step outside of your comfort zone - I've been working on I recently finished my first project for it, which is a tribute page for Sally Ride. I'm going to share it here, as sort of a double down on #14. It has been really hard for me to take time to code. Even then, I borrowed a lot from other people's work, but the modifications are my own. I just like playing when I have time and learning as I go along.

#17 - Find and share a quote that inspires you - If you missed the quote from Peter Welch, I suggest looking up his blog. It's pretty epic and funny.

#28 - Summarize an issue in 140 characters or less -  I'm wordy. I think I tried and failed to do this several times and ended up with multiple tweets. Ah well. 

Overall, while I wasn't able to completely get through all the challenges, I loved this idea, and I loved the attention the testing community gave to this idea. I hope it comes back around again, and gives us all more to learn and talk about down the road. 

Wednesday, July 27, 2016

Pulp Fiction Testing

"I'm here to help. If my help's not appreciated, lots of luck, gentlemen." - The Wolf

I've had this concept in my head for a while. I feel like it fits the software industry as much as it fits the fictional mob world of Quentin Tarantino's classic "Pulp Fiction". Maybe it's a little far fetched, but stay with me here and let me tell a story.

It's about makers and fixers. Makers make stuff, and fixers fix stuff. Simple concept, mostly. It's an idea that coders are basically guns for hire. They come in, they get an assignment, they make the code. They ride off into the sunset, or collect their pay, or wait around for another job; whatever analogy you want to apply there, but they do the thing that needs doing. They make stuff happen.

Two guys, making things happen.

But then, in the process of making things happen, something else happens that was an unintended consequence of doing the thing that they were told to do.

"Whelp, broke that, coffee time!"

What happens then? If you are looking square at a problem that needs to be solved, or at least need to find a plan of action, you call up a fixer.

"Excellent coffee, thank you!"

The makers are no dummies here, they can contain the situation, maybe hide the bad code, parking it in a garage, out of the way, until someone can assess the situation and come up with another idea to fix the problem. You call in a fixer, "The Wolf", or basically a tester. They know the app. They know what will work with customers, they might even work with you to come up with a plan of action. They work with everybody to assess the situation and then help assign how to deal with it. They even do some customer service to smooth over things, because, what happened wasn't pretty, an no one likes to wait for information. They make some calls, get info to the right people, maybe call in other fixers to help out with specific issues that are time sensitive. The problem made is solved, or at the very least, the people it impacted are happy with how it was handled. Even the makers are all cool about it because they got information, and a plan and a place to get things done. Because it's embarrassing for everybody when a problem is visible, and if you can contain a situation, it's better for everybody that way. Well, in the case of code and software at least.

I know it doesn't work this way for everybody, and it might not work this way for most testers on a project, but I think it should.

I also think "The Wolf" types can be proactive. Analyzing things before they become a problem, getting out ahead of it. When the "The Wolf says, "That's thirty minutes away. I'll be there in ten.", he's working to get ahead of things, and being proactive about how to handle it.

 I think testing and raising the quality bar is one of the most important things a fixer type can do. "The Wolf" aka the fixer is representative of the level of respect I have for the profession of testing. Testers may be creating more work for those maker/developer types out there, but at the same time, they are raising the bar, setting standards, and being efficient and professional as possible. Also, they know where most the skeletons are located.


Saturday, July 23, 2016

What are your "Top Five" - in Testing?

It's not how you do it, it's how you do it together. 

Ah testing. It's a passion. It's a lifestyle. For some of us more than others. We can't help but think about testing, and think about how that fits in our lives and what we can do with it. 

While watching "Top Five", in which a great story about being true to yourself and finding your passion after a lot of life happens to you, I got this idea, about what would be my top five in testing. In the movie it was music which I think could apply to my life as well. I have a hard time making a top five of music or musicians, but of testing, I think it would be much easier, and even more to the point.

So here goes, my top five in testing, in no particular order:

Usability - because seriously, it should be the top of every tester's list to make the internet a better place. And if not the internet, maybe just the app you are working on right now.

 Data - I love me some serious queries. I love writing them, or figuring out how to write them. I love figuring out how the whole app uses data and where it goes to after it's pushed through the pipeline. And I love asking questions about why choices were made to handle data in a certain way or to replicate data or even finding points were we aren't capturing the data needed. That's all pretty freaking neat to me. Side note: If you think code comments are lacking, you haven't seen anything until you go through some stored procedures or look at a table structure and try to understand why someone put it together like that.

API - this might fall back a little on the data stuff too, but as things get more and more service-y, API is one of my go-to when tracking down a problem. Seeing if data isn't getting where it's supposed to go, or a call is just broken for whatever reason. Plus, playing with Postman is pretty fun.

Performance - I've been learning more about this critical but often neglected corner of testing. It has a little bit of automation to it, and maybe some voodoo as well, but if you get things working right, it can give you those magical tolerance numbers everybody talks about but mostly guess at until you do some testing with it.

Writing -  Communication, communication, communication! If you can't express yourself via text, or get a lot of questions about your defects, you might want to take up a writing class or two. This is the most used skill we have as testers. We practically write novels over the course of a career. There is a magic sauce of writing a great defect. Pictures are worth a thousand words, and words along with pictures are even better. If you are one of the lucky few that don't have to write up some kind of defect and have a very awesome iteration loop with your development department, cherish it. That's not the norm for everybody.

Comment here and let people know - what are your top five?

Friday, July 15, 2016

Finding Dory - The Nature of Usability

"I remember!" - Dory

Being in a crowded cinema is sometimes a good and a bad thing. I've been spoiled by the recent trend to have cinema houses with hard limits on when children can be in the audiences, cell phone use and even talking to your neighbor.

If you don't have one of these places where you can have a pint and watch a movie, I definitely recommend it. It does wonders for those moments where you are just in the movie and don't want the interruptions.


First off, Dory's parents are freaking geniuses. Dory reminds me, often, in this case, of setting a user off in a world on their own, and figuring out very quickly you need to set some parameters for that user, or they could get lost or hurt or worse. Her parents immediately take steps to remedy many of the things about their environment that could pose problems for Dory. And they sorta work, but at the same time, they are seeing the small failures and trying to actively fix them instead of shrug at their circumstances and go, "that's how it's going to be". They don't ever approach a problem like that. Granted, it's parents interacting with their kid so I would hope they would be active in their approach to fixing issues.  Which really makes me think, they made Dory's environment more user friendly, some of it by trial-and-error, some of it with mnemonic devices, some just by sheer repetition.

{Writers note: How cool is it that Dory has parents, plural. Not a dead one or missing one, but both. I think that's pretty neat! It also surprised me, because I went in with the notion that certainly something bad happened to them, even before you see them in the small flashbacks.}

The ideas in Finding Dory, making Dory's world a safer one, as best they could, should definitely be mimicked and even used as a measure for usability design and even testing.

No matter what the app is, usability should always approach things relative to the consumer. Will this make sense? Will this allow ease of use? Can I improve someone's situation? The questions you don't think of, often are the ones that come up in progress, much like when cell phones became widely used, the sudden rise of traffic accidents where cell phones were involved increased dramatically, then jumped tenfold as texting became more popular. Maybe that could have been predicted, but I would imagine that since the initial use of cell phones, in the commercial sector, were by individuals that weren't driving themselves or were working from remote locations were land lines weren't available, they probably weren't using the phone and driving. Especially since most of those first phones didn't work very well while they were in motion. Because of this, there have been increases in consumer awareness and even technologies to help prevent distractions with text or calls while driving.

In the case of software testing, and usability, testers should approach everything like Dory's parents. See a problem with a feature and how it works for the user, whether that's workflow, or the placement of a button, say something. Make a plan. Make it better. Make a fix until a better plan comes along.
Be the advocate your customer needs every time. Not just some times. Not just when it's in your face. Or your customer is upset. Invest in people that can see the larger picture, or even have some kind of trend analysis to know when an update would be the most useful. We can't predict the future, but if I've learned anything from the massive amount of Sci-fi I've read growing up and loving, you can sure as hell influence it in a lot of ways. Testers can definitely be that influence. We should be advocates of sound design and changes right along with the UX designers. Wireframes should have a spin through the testing group before they go to development. It should be a practice more companies take, but often rarely do.

Usability Vs Accessibility 

Be especially aware of issues dealing with accessibility. Some things are specifically made for users that have specialized needs, but often, software especially, doesn't think about anyone but the average user first and foremost.

TEST CHALLENGE: Can you navigate your software with the sound off? Or the monitor off, and only by using sound? Can you gray-scale your software and tell the difference between features, buttons, colors? 

Developing something for the average user isn't a bad thing. There are a lot of average users, and by that I mean a lot of people that can read directions and use a computer without any physical or mental limitations. The domain your software inhabits might not need to consider users with specialized needs, or consider it too costly to address needs. But how would this be any harder than addressing Localization problems? I'm sure there is a cost comparison in there somewhere. Something that would justify creating a version of software that is translated to Spanish, while not worrying so much about making voice activation usable and interactive with the software under development. I know it's a complex problem and there is no one, easy solution, but it's something to strive for.

The Knowledge 

If you are actively testing any UI, I recommend a couple of really good books by Steve Krug.

These two books are quick reads and very good at getting the point across about what to look for in good design patterns and usability. "Don't Make Me Think" is more about web usability, and "Rocket Surgery Made Easy" is more about finding issues with a website and how to run usability tests with prompts and recorders. If you haven't read them already, I think you'll be pleasantly surprised about how easy it is to find issues to fix which do not run into a massive amount of technical debt.

If you have other recommendations or experiences with UI and usability that would great for others to know about, please comment on this blog and share them!

Wednesday, July 6, 2016

Mel's Prediction Corner: Windows 10 - Is it the next Windows XP?

I recently got a new laptop at work. Considering how often that happens, I was surprised I was one of the first people on the list to get a new machine. Granted, a lot of people in my office use Mac laptops. I myself have worked with a Mac laptop for a year or so at one job and eventually grew to like it for the most part. However, I have been in the PC camp for most of my career. Actually, most of my childhood too.

My first computer was a Tandy SL 1000. I suspect it was cheaper than a Macintosh and my mom was able to get it with a line of credit. My mom was ever definition of the early adopter. She loves her tech and I think that passed down to me. Though I do tend to wait something out to see if it's a "fad" or something that will actually be usable.

Our company has a contract with Dell, so out with the old Latitude circa 2010 and in with the Latitude E5470 (Interesting part of that article is saying it's great for Win 7 Pro users and it was from this year!)

This computer came with Windows 10 Enterprise version installed and ready for me to complain about. Except, I can't find much of anything to really complain about. 

Smooth install process for most of my work applications. The only exception was SQL Manager 2014 and that has more to do with SQL Manager using an .Net framework 3.5 instead of the more current 4.6. (It could be that Microsoft is working on an update now, but still, annoying) Also, enabling the 3.5 framework was a bit of a chore, because of security features enabled, but the upshot was, I didn't have to actually download the 3.5 framework. It's already waiting in the OS. You just have to turn it on. Another thing I noticed where the more helpful links to help and error messages that meant something which allowed me to resolve the issue faster.

The display settings are a little over simplified for power users. I'm constantly tweaking the text and icon size depending on what displays I'm using. I wish they had left those more granular. However, once I've used the display setup, whether at home, or in the office, it remembers them. I don't have to reset it unless it's new.

The solid state drives made things super fast too. Really fast. What might have taken me more than a week with installation and configuring software and preferences, took about two days. I haven't had any trouble navigating due to the similar look and feel of a Windows 7 machine. The other awesome thing is the inclusion of tiles in the start menu.

{Writers note: I loved the Windows 8 tiles. I miss my Windows 8 phone actually. It was a neat interface that didn't catch on as much as I would have liked. It was hard to get apps for and it didn't play nice with photos from an iPhone either. Maybe with the adoption of some of the android OS into the Windows phone OS, this problem might get resolved. My personal opinion was that Microsoft waited too long to jump onto the smartphone band wagon.}

Notifications/Action Center widget in the icon tray is pretty cool. Allows for quick access to functions and messages. It also has some nice features with the Quiet Hours and being able to quickly switch into Airplane Mode without having to hunt it down in the Control Panel.

I'm still playing with Cortana, so my thoughts on that are mostly in the curiosity stage of things. Other than being an uber search function, I haven't found much of a reason to use it. And if you have used a Mac before, you'll recognize Windows trying to use some of the same design displays as a Mac, especially with the "Task View" icon.

My home computer has been updated from Windows 7 to Windows 10 as well. I like the integrated features so I can check my social media and my Xbox live account. The notifications that come across the bottom right of the screen are minimal and usually helpful. I haven't seen any performance hits either. I would have expected it since my home PC doesn't have a SSD for the OS, but I haven't had an issue from what I can tell.

So far, I think Windows 10 is definitely a solid performer and worth checking out, despite the download debacle which gave many people problems earlier this year. I think this OS has the potential to be around for quite a long time.