I work as software test engineer in a medium sized IT company. My lead usually assigns me task for the day which I try to finish asap. Sometimes when there is no build to test or when all the test execution is done, i have nothing to do for rest of the day. I read in a self-improvement/productivity article that to be more effective always ask more and more work from your boss. Would this be the right thing to do as a professional?
Even better than asking for more work, demonstrate some initiative. Try and think of something you could do to improve some aspect of your job/division/company then take that proposal to your boss.
You know what bosses like even more than employees who get their work done? Employees who don't even have to be told what to do, because they'll create value of their own accord.
Yes, it's a good thing to do once in a while. It shows you're keen. Bear in my mind that it can also have two repercussions.
Firstly it adds more work to your manager, which he/she may or may not be happy about if it's constantly happening. They need to then find or make up more work for you to do.
Secondly you may find yourself lumped with all the more distasteful jobs available and it can become the norm to just assign those and any extra work to you.
But it is still a good idea in moderation. In that situation when I had time on my hands, before asking for more work I would look for other things to do first. So I would doublecheck my work, clean my work area thoroughly, organise my files and other things I may have been putting off. I spent a whole constructive afternoon once just organising my email folders and filing system on my computer. It wasn't wasted time, it made things easier and more efficient for me.
Yes, if you're just starting out. As a habit, no.
If you're new, it makes sense that your lead would have to search a bit to find work that you can do that fits your skills and knowledge. Then they would maybe want to review it before moving on to the next one.
As you gain experience, it is expected that you "dive in" more, understand the projects you're working on and the tasks that are needed to complete them, and those would take more than a few hours. When that happens, you should take more initiative and, while communicating and consulting your lead about the tasks (prioritization, design questions etc.), you would not ask them for a new task every day.
You should ask for more work.
The only exception is if your manager knows you are finished, knows you are looking for more work, and there is no more work, and you asked before, so you know that asking for more work is pointless and only gets on his nerves.
In that case you can search for useful things to do. Always an excellent thing to do is learning things that both improve your knowledge and value to the general world, and your value to the company. In your company's interest you pick something that is of value of the company, in your own interest you pick something that is generally useful out of the things you might learn.
And most people have a huge backlog of things that would have been nice to do, but never had high enough priority, and that you can do. Much better to go to your boss and say "Hey boss, I finished my tasks and have nothing else to do, so I decided to do XYZ, which we always wanted to do and never had the time for, unless you have something more important".
You may work on perfecting the given task. Could we have an extra Unit test? Could we improve the code? Have you tested everything properly, have you documented everything as required? Have you read all documentation you are supposed to know? And is it clear enough what this third party library method you call actually does?
Completing the task quickly but badly may not be the best way to impress. If the manager has allocated that amount of time for the task, maybe he wants the best possible implementation that could be written during this time.
Procedures like code reviews mostly aim to increase the quality of the work, even with understanding that it will take longer to complete it.