miércoles, 25 de mayo de 2016

My First Weeks in QA.

When I entered at Pernix I didn't know much about quality assurance, and by I didn't know much I mean I just felt certain of the basic concepts. Now that I have worked the past two weeks I understand much more the purpose of my job and its goals. Our team of QAs have to implement a planned and systematic set of tests necessary to provide confidence that requirements are properly established and products (Livewatch webpage) conform to specified requirements to fulfill the expectations of our clients.   


First of all I started by learning about the different kind of tests that you can do to an application. For example one that I didn't know existed and called my attention is monkey testing (probably because of its funny name)  this kind of test is basically acting like a fool and trying to mess everything. Maybe if I act like a monkey I’ll find hidden bugs that will make the system crash. And hey! Sometimes real users act like monkeys in front of a computer and it’s better if I find them first :)
My mentor, Samuel was a big help in my process of orientation. He explained me the differences between manual testing and software test automation. In the beginning I wanted to start as soon as possible programming the automation tests, but Samuel told me to be patient and he gave me a tip: Always manual testing is a priority and it's more important than software test automation. Even though manual testing can seem repetitive and little challenging.


WHY? Because manual testing is more reliable and of course you can implement these tests in all devices and operating systems you want to check. Software automation tools often have compatibility issues. But this doesn't mean that automation does not has advantages, just that we cannot fully depend on them.


Lately i've been working on creating a framework, a portable software testing framework for the LiveWatch webpage. The main advantage of  developing such a framework is the low cost for maintenance. For example if the requirements change (as they usually do) only the internal classes needs to be updated. However the test code will remain the same. Here is an example:
This code is an example of a test case note that doesn't depend on Selenese (Selenium programming language) it's also easy to read and to analyze and it gives you the possibility to conclude how to write more tests, even if you're not a computer engineer.


[TestMethod]


       public void Can_Go_To_HomePage ()
       {
           Pages.HomePage.Goto();
           Assert.IsTrue(Pages.HomePage.IsAt());
       }


If something in the HomePage changes, like it's design, this code will always remain the same. We just have to go an change the HomePage class.

Finally my future expectation in Pernix is being able to be more involved in the huddles with the LiveWatch team and have the opportunity to talk directly to our customers and hearing their expectations about my job.