Showing posts with label QA Perspective. Show all posts
Showing posts with label QA Perspective. Show all posts

Thursday, 25 August 2016

How can I enhance/improve my selenium skills?

Two months ago, when it was just six months in automation using Selenium and then I had a question - how can I enhance/improve my selenium skills? In this post, I am trying answer this question. 

 

You might think, why do I think that I have eligibility to answer this question? OK, here is the story- it's been just eight months that I have started with Selenium and I got an amazing opportunity to explore all aspect of Selenium and related tools like Selenium WebDriver API for Web-App automation, Selenium Grid for test distribution, TestNG for controlling test flow, Extent Reporting for awesome test results, Appium for mobile automation, AutoIT & Sikuli for handling native OS control opened from browsers (Browse window for file upload) & bit of Maven for dependency management & testsuite invocation. I have even designed two automation frameworks for two different products.


    As I worked on whole set of tools in six months, I was exposed to very high learning curve in early phase and later I found out my learning curve is going stagnant so I have to make an effort to keep enhancing my skills. Below are the list of the things which I did and doing and benefited on my quest to enhance/improve selenium skills:-
  1. Follow Leaders

If you need to sharpen your any technical skills, you should try to write about it more often. This has helped me a lot. This is one of the reason why I post.   Basically writing any post needs research and you also need to articulate the thoughts in a way so that it make sense to others. If you learn something new today, write about it. Writing about any topic in Selenium, first,  you need to have an understanding of that topic and then you have to develop the ability to make it simpler for others. Writing helps us to recall our learning curve and that sort of thing stick with a mind for a very long time.

If you have time every  day and wanted to utilise your knowledge to help someone you can always turned up to Stackoverflow without hesitation.  What is stackoverflow?
“A language-independent collaboratively edited question and answer site for programmers.”
You can follow tags like Selenium, Selenium-WebDriver and testng, so that you will found related questions easily.

This is just like any other google group where user seek product related help. Lots of guys do answer to posted questions. If you want to know what kind of issues are others in community are running into, you can subscribe for summary email. One of the advantages to be active in such  community is finding different approaches for same issue which of course helps to build better perspective for automation.

This is Linkedin group for selenium related queries, it also does helps user with the same way that Google Group does. But this not official group of Selenium.

  1. Follow Leaders:-

Follow who are doing great in Selenium and their posts/answers can take you to next level. Few suggestion from me:


This is all for now.
Cheers!!
   
   

Saturday, 9 January 2016

Sunday, 8 November 2015

Discussions, Meetings, Emails & One-on-one

I have been thinking lately, how much average person in IT industry spent time in meetings /discussions in his/her entire career. Below tweet from friend leads to the inception of this post



I decided to break down the post in few questions which would help me to conclude by end of the  post
  1. Why we need meetings/discussions?
  2. What are we doing wrong about the meetings/discussions?
  3. What are possible alternatives to  meetings/discussions? - Emails & One-on-one
  4. What agile has to say about meetings/ discussions?
  5. How can you make meetings/ discussions fruitful?
Let's discuss this question one by one-


1. Why we need meetings/discussions?
       Below are the reasons I can think of why discussions/meetings are called for, in general:-
  • To bring every team member on the same page about a current status of Project.
  • To discuss and define the roadmap.
  • To have everyone's opinion & discuss possible options on particular problem
  • Discuss loopholes in the current processes.
And this list can go on and on ...but in general, these reasons are enough to have an idea what I'm talking about.


2. What are we doing wrong about the meetings/discussions?
        Do you found yourself in a situation where you wonder 'what you are doing in the meeting?'
        Do you hear voices in your head screaming 'what's wrong with these people, why are we wasting so much time?'

Take a deep breath, you are not alone. Here is the list of things that makes a meeting a wrong meeting.


  • Meeting/Discussion without an agenda - If you don't define the purpose of your meet, it's most certainly be unfruitful.
  • 11th-hour invite for a meeting - People leaving their desks with something in a mind and have no clear idea about the purpose of a meeting, It's going to be a disaster for them.
  • Accepting invitation without thinking - 'Do I really need to attend this meeting?
  • Sending a meeting request to everyone in a team instead of required stakeholders. - If you schedule a meeting for an hour for a team of eight members (1 * 8 =8hrs ), do you think it would be that productive as work of the single person in a whole day?
                        And that person can be anybody - a fresher who recently on boarded your team or principal architect of the project.


3.What are the possible alternatives to meetings/discussions? -     Emails & One-on-one



I was wondering isn't it entirely possible to remove discussions & meeting from software professional's calendar. So before actually writing this post, I started Q & A on WhatsApp with few intelligent minds. And below are few awesome replies. 

- "Email cannot always convey emotions or urgency,  even if a message is conveyed."
- "Language itself is ambiguous, body language & emotions helps while conveying matter."
-  "It is possible to convey priority over an email but its most likely impossible to convey severity."
- "Mail, Skype can help in communication but in person, face to face meetings / discussion helps to create bonding essential for a team."

All above point seems to be valid to me and yes at some point we must need to have meetings/discussions. We should set some rules/protocol/standards when to have a meetings/discussions, email & one-on-one.


4.What agile has to say about meetings/ discussions?

    Manifesto for Agile Software Development states that importance must be given to Individuals and interactions over processes and tools.

source :- LeadingAgile


Though Scrum, which is an agile software development model, have regular meetings like Stand-up meeting, Sprint review meeting & Retrospective meeting, according to manifesto one-on-one & discussion meeting should get preference over email.


5. How can you make meetings/discussions fruitful?
    
I would be doing a separate post on this ...




PS: - These are funny replies that I have received while doing WhatsApp Q&A, Hope you will enjoy it.











Friday, 25 September 2015

Summary of Dzone’s 2015 Guide to Code Quality and Software Agility


Recently  I went through ‘Dzone’s 2015 Guide to Code Quality and Software Agility’ and learned few things.
Summary points: –

  1. Quality is perception of individuals.[Quality is value to some person.]
    • In same product, the term quality used by individuals can mean different things.
      Example: –

    Different perspective about quality

      • Quality is more than just ensuring a lack of software defects. It can also include project cost, feature release time, and even team skill development.
    • Continuous Delivery for better software, faster
      • When organizations build quality into the product, they begin a virtuous cycle of better and faster releases.
      • Being time is factor in quality,  continuous delivery and automation is must for better software.
    • Your Code is like a Crime Scene
      • Sometimes, only a small percentage of the codebase is responsible for the majority of historic defects. By narrowing down their efforts, developers can often solve a large number of defects by working on a very small section of code.
    • Testing Practices can be improved using following techniques: –
      • Analyze “release day” emotions of team
      •  Pick one unanswered question that the team has at release.

    I also like article by Gerry Claps – ‘What Elon Musk Can Teach Us About Agile Software Development '    

    Copyrights held by Amol Chavan. Powered by Blogger.