Friday, 22 March 2013

Learning to Share


Hi Readers.

I will be sharing with you the lessons I will be learning and that which will have an impact on the way we test software and from a wider perspective.
If you wish to be a guest writer, do leave a comment here. We can collate our learning 's and post it. 

Impact:

If you are excelling at one thing, the actions and results of act1 will have a profound impact on the other walks of life too.  The goodness of action1 reflects on action2 and vice versa. 


The beginning: 
  • Begin by unburdening from the idea of bifurcating or saying it 's not my forte. This helps to not to be blinded and biased. 
  • Be open to get into an argument and accept a challenge. At the end of which there is always a lesson learnt. 
  • Begin to contribute now though you are not an orator or an established writer, you can eventually qualify to be one.

Gratitude:


2 weeks after I thanked my first recruiter for my first job. (I precisely said this "Thank you for recruiting me as a Software Tester"). I chanced upon meeting with people that would help me learn more about it.
I mean to say "Am thankful for all my opportunities". They have all contributed in their own different ways.


I remember my confidence sky rocketing when I introduced a flow for testing at my first job, which was welcomed with wow by the senior members and I had felt good about. We were performing performance testing and all of us had assembled to discuss on how to go about testing the flow. We were a mix of developers and testers, it was essential to maintain a discipline because every action of each of the tester (comprising of both developers + testers) would help in contributing to capture the appropriate results. An idea can boast your products performance.

An enthralling experience at my second job. Great discipline at this place. As a newbie in the team, an eye opener kind of a day it was for me.
Had unearthed a bug (lurking for quite some time there) and there were the stalwarts in the team who had to convey this to the client. Tuesday came and we had a call with the client. The team announced the same.
The client’s questions followed:
Why was it not found earlier? (Heard this one before?)
Who found it?

These two days and the rest of the time that has elapsed since then have helped me learn, this about Software Testing and Myself.

  • Be yourself, be bold. No, you will not be penalized for doing what is expected of a tester. Yes, there could be consequences and I don't know how these consequences are derived.
  • Report every bug. Introduce this bug to your peers.
  • Ask questions (lots of them) and clear the doubts (Yes. Even if you think it is naive or if you are thinking someone else will think it is silly).

I felt a lot shy to clear my doubts while in a lecture/class until my botany teacher once told me this 'You have an unimaginable imagination'. I think he was encouraging me to ask questions. Though there are no answers. Ask.
  • Take the bug in question to a forum to discuss whether the bug is a fake or genuine.
  • Keep your head held high though its a reject.
  • Get busy testing. The end of the world came and left while you were busy unearthing bugs.
  • Encourage the new comer in the team. Do not despise.
  • Keep learning every day.
  • Welcome change.
  • Observe and Learn.
  • Observe and Unlearn.

Attitude:


When you set out to learn:
Carry your books, notes and your attitude with you.
Some soon presume that attitude is bad/negative! Where did this perspective stem from?
I was once told I have an attitude. I think everyone should have one.
How is it without having an attitude? Who am I without an attitude?
I am in the likelihood of knowing what attitude means to me. 
Is there any other definition of attitude? What does attitude mean to you?
  • Help others learn. Experience the joy of reading out to others.
  • Love to share your learning's. I am glad that I do not know the harmful effects of sharing the lessons learnt. By now am sure, there are none.
  • One can be strong in all areas.
  • Express yourself. 

Let the tester in you, sing songs worth a Grammy.
Let the tester in you, perform roles worth an Oscar.
Yet, if you feel caged for reasons specific. Find and meet up with someone like you. Help them and help yourself. Build your community and set yourself free.
  • Break the barriers.  
  • Bring your own ideas to the table. Never mind if its trashed.
  • Note your test ideas. They will be a treasure for you and others in another context. 


Do share your experiences and lessons learnt with others. 

Tip to every tester:
Break it, if it can be. So it can be built better. 

Monday, 4 March 2013

Reflections of a tester.


Here I have penned down my thoughts on my journey so far as a tester.
This is all my perspective, if found resemblance to anyone living or dead is not purely co-incidental. It simply is a ‘me too’ experience.
I had bagged a job in a company, where there was a lot of scope for learning, as test engineers me and the rest of the team who had joined, our first assignment was to evaluate test automation tools. Till this day there has been no such opportunity in the other two firms that I have worked/working with. Reasons could be many but the one on top of my mind is due to lack of faith in the employees.
Just out of college and full of confidence, many engineers are released into the world, who would want to embark on the journey of their best times ahead in the professional world. One such was I with an attitude that could not be broken easily. But after 1.5 years I was losing my attitude and I quit my first job, reason being I thought I lacked people skills. I was beginning to realize that Honesty is rarely appreciated. I was going to office to serve my notice period and a few days before I quit I was diagnosed with chicken pox and I had to prove it to my manager for him to believe it.
Next job, I was happy with the way the interview went. It made me realize that I deserved another chance to be myself at what I was going to be doing there.
3.5 years of my journey in the firm ended where I pushed myself to leave the firm because it was going great but there was no scope to express me as myself.  In one meeting I conveyed this to the CEO. Post that meeting when I was confronted by an HR with the comment: Oh how brave! I replied I was speaking the truth. It did not require courage at that point.
Moving on, my third job I did speak with the higher management regarding the concerns that many of us had, but it fell on deaf ears. The climax is a sad one. I don’t know why some of us are so stuck up on few(silly) things like ego, gender bias, like there is no tomorrow, bring him/her down to make your way up, old thoughts are enough, you can‘t do your tasks without me/my permission, I know it all, you have to obtain my approval to attend a training, we don’t have funds... this coming from a ‘big’ company, it is ok to live with problems, there is no other way out, you can’t install this feature into your brain without my knowledge, it is OK to salute someone to get the job done. Many of us have for sure heard one or more of these. And finally when you gather all your energy to bring yourself together and try again there’s the ‘who told you to do it’.
Did I Survive and how?
I stuck to being myself in spite of these tantrums. It is HARD. You will have fewer friends and fewer opportunities. More complaints and you will be the easy target and more at the receiving end.
I spent a considerable amount of time and effort to tell the others that this is NOT how it is! And it’s OK to stand up for your own self but in-vain. Most of us are tuned to one frequency, anything else is just noise.
And then I met another learner who reassured me that am headed in the right direction and to continue to tread that path in style. I was introduced to more knowledge sources and my learning in the past week included.
Concepts of web testing:
1. Fiddler (Web Debugging - Functional and security)
2. Web Traffic
3. Search Engine Optimization (Business Perspective)


What did I learn?
Testing types, techniques and tools:
a. Accessibility testing and tools used – Ability to access an application/system by the differently-abled. Wave is used to an extent where it captures a few of the features built in to the web application/system for the differently-abled/for the end user.
b. Adware – advertising ware
c. Alexa – www.alexa.com – site information. Searching pattern of the users can be used to derive keywords for a website.
d. Bots – What are robots.txt? It’s usage. Where the file needs to be placed and how can it used for security testing.
e. Bug advocacy – Get the dev team to fix the bug if it affects the end user in any which way. How to put forth your case? help them to fix it And in the process save the cost and building credibility.
f.  Captcha – What is captcha, can it be automated, www.free-ocr.com – to decode the captcha, how to remove it from the browser.
g. Checking v/s Testing
h. Client Side validations
i.  Database auto -increment – Why is this used in a DB query? Where is it applicable? If not what happens? What are the other approaches?
j.         Data generation – www.generatedata.com
k.        Ethical Hacking
l.         Fav icons
m.      File and Image types
n.        Firefox (Mozilla) and its add-ons
o.        Google Adsense, Google analytics
p.        Grub – Grand Unified BootLoader – allows the user a choice to boot one of the multiple OS.
q.        Heuristics to Test the Login Page
r.         IETF – Internet engineering task force
s.         Mind maps – Usage
t.         Moolya – About the testing community, weekend testing, talks, people. http://moolya.com/
u.        OS and its history
v.        OWASP - Open Web Application Security Project
w.       Profiling – w3techs.com
x.        Rapid Software Testing
y.        Section 508 – https://www.section508.gov/
z.         Security testing
aa.      Server requests
bb.     Server side validations
cc.      Short cut keys – Alternate keys
dd.     Spider – Crawler – Keywords used on the webpage’s to fetch the result page based on the user search criteria.
ee.     Testability – Is the version released for testing worth being tested.
ff.        W3consortium – Standardization of html code

And about: http status codes, content-type, different browsers, html tags, Google analytics, security testing, concept of ethical hacking, functional testing, installation testing, types of keyboards.

ADD ONS for Mozilla Firefox:
ColorZilla – Used to capture the pixel, a colored dot on the screen and areas on the page that which requires to be reported as a bug.
FireBug – Used in RST, unearthing client side validations, to gather if there are any comments in the source code that which needs to be excluded from the source code. (Inspect, selecting each element on the webpage to learn more on the same)
FireShot – To capture screen shots and formatting which helps reduce steps to reproduce while reporting a bug and help understand the problem.
IMacros – Used for performing functional, load and security testing.
TamperData – Alter real data before submitting the data to the server... Used for security testing and for the purpose of ethical hacking.
  Web Developer Tool

Links for reference:
a)        www.99tests.com
b)        www.alexa.com
c)        http://browsershots.org/
d)        www.bugcrowd.com
e)        http://www.cynthiasays.com
f)         http://www.developsense.com/
h)        www.issuu.com
j)         www.opensourcetesting.org
k)        http://testingcircus.com/
l)         www.Utest.com

Apart from this I did learn the below:
  Building credibility
  Having a vision and being an agent of change
  How a combination of tools like excel, notepad++ can be used for the purpose of checking and rapid software testing
  How to learn, remember and revise
  Implement the learning’s to tackle life and work and in general help improve life
  That there are more than one ways to solve a problem
  To start living with zeal and to never give up no matter what and
  Yes the trick on how to boot the laptop with a disobeying charger :)


A tip to every tester:
Don't be shy when it comes to admitting something you don't know. Grab every opportunity to introduce yourself to the way of unlearning and learning the new age testing approaches.