Software Test Professionals... achieve, what you deserve !!
Covid-19 pandemic has hit on the life of each and every individual. Such long lasting pandemic was unexpected. Surviving through this pandemic is tough on everybody. Overnight lock-downs happening allover were unexpected. While working from home away from colleagues, one tend to give serious consideration to things visible on virtual social media world. There are many professionals who have lost their jobs and appealing their every connection to help find a suitable position. Those who are working or are on job, are under tremendous pressure - figuring out for extra efforts required to stand out and secure their spots. When a pandemic strikes software testing takes a toll. If one is a functional manual test professional, the role is now expecting little more than that. To achieve this 'more' first be the best version of yourself :
Explore and Compare your software with other similar software systems available in the market.
Understand the business aspect of the product under test. Do not depend solely on requirements provided. Use those requirements for reference and test documentation.
Ensure you understand all concepts of technology and methodologies you use.
Try if small automation is possible to reduce your efforts and to showcase testing efficiency. It could be excel comparison tool or a basic UI automation of workflow.
Prefer smart work over hard work. Do not wait for others to notice your efforts. Little bit of self advertising is acceptable.
Now, it comes to the improvisation. There are many different responsibilities which gets gradually added as a QA professional progresses with years of experience – test case writing, bug tracking, requirement analysis, agile testing practices, effort estimation, test management, test automation, team collaboration or CI/CD....it goes on. Continuous learning is the only key to success.
For progress :
Try to use in-house tools published on organization achievers portal for - API testing, test automation frameworks, mobile app testing or any project specific requirement. Find if similar enterprise tool is capturing success in market. Be keen to learn new tools and technology.
Observe activities performed by your immediate next level senior professional. Start practicing those activities in your day-to-day work and showcase them appropriately.
Keep an eye on open positions in current organization. It will help to set learning goals.
Set your job expectations and vision right. Do not let others define and/or justify your success or failure.
If some other profession or a role interests you more than a current role, analyze your aspiration with your current expertise. Work on learning required to achieve aspirations.
When it comes to some important decision, trust your instincts over superficial visible picture.
During crisis, people laid off by companies, are not because their piece of work was unnecessary. The same company has searched, shortlisted, interviewed and hired all those professionals, because they were needed. It is just a matter of change in time-frame. Now, due to crisis, it is difficult for company to reward all employees. If one is continuously trying to be the best version of self and focused on improvisation, such crisis won't let that one get exhausted.
Domain expert interacts with business stakeholders to fetch requirements, documents those requirements and provide inputs to dev-qa teams. If testing is a small task to navigate through application and verify what is written in requirements, domain experts can perform testing activities quicker. Then why separate testing team is required?
Development professional analyzes requirements, checks existing code, writes new piece of code, incorporates new piece of code into existing code, checks if old + new code integration works well. By the time feature reaches to test professional at-least 2 rounds of manual unit testing are already done by the developer. Developers have better understanding of technical side of the software. Developers can perform both test automation and manual testing. Then why separate testing team is required?
Testing is phenomenal activity in software life cycle. When a manual test professional is working in same team for long duration, domain knowledge of that QA become a crucial part of that team. Initially, to understand business workflows manual testing is important. There are certain other important testing aspects which requires experienced test professionals. Now a days, working with agile methodology, QA team is involved from early phase in software development process. However, from day one entire QA team cannot work full fledged. Senior QA professionals take responsibility of requirement analysis, impact analysis and test estimation. This cannot be done by a junior member. Senior QA first performs analysis of new requirement and impact analysis of new requirements on existing functionality. It has various aspects to look for like:
understanding of existing workflow,
knowledge of business idea driving change in workflow,
integration of workflows,
integration of a system with other systems in the environment,
check software dependency if any,
check availability of end to end test environment,
research real time difficulties faces by end users,
find out unwritten and assumed underlying requirement if any.
Once impact analysis is done, it comes to the test estimation. Scrum master plans total required sprints, each of 2-3 weeks duration with deliverables defined for each sprint. Each sprint has certain main proposed features and remaining scope of sprint is updated based on customer feedback at the end of every sprint. At this point both development and QA senior professionals plays critical role from their respective team perspective. This is a Senior QA job function. Domain expert of product owner details down the user stories. Based on expertise level of team members, user story points, prior experiences and time availability - QA estimates are prepared by senior QA. Then, it is time to prepare test artifacts. At this stage, more QA team members gets involved. Working on each user story, create mind maps or test cases, find defects by performing static testing, log defects in test management tool - are main tasks to be taken care of. Test artifacts are created for every aspect analyzed during requirement analysis and impact analysis phases. Different testing types required are validated like - database testing, API testing, UI testing, configuration testing, installation testing, integration testing or anything else specifically required. This phase is followed by test execution and defect tracking. Team collaboration is utmost important in these phases. Main focus of this phase is to achieve 100% execution as per the plan and track maximum defects to closure. In this phase, entire team is actively involved for the betterment of a software. Occasionally, during execution window, test automation team supports manual test team to achieve tight delivery timeline. Now, the time comes to find test automation candidate test cases. Regression cases are automated, existing automated test cases are checked for required updates and made ready to use for upcoming sprints. Automation test professional’s contribution is undoubtedly important to ensure through test execution. It is always obligatory to ensure nothing is broken as a side effect of upgrade.
Apart from above well established QA practices, software test professionals are adding value by their ingenuity. Test team has a record of production defects. During test execution, workflows having production defect history are executed diligently with high priority. This is done to reduce production defects in future and increase customer satisfaction.
Test cases are documented and reviewed by referring the requirement
documents. Though, approximately 60% of defects raised during test
execution are from combination complex scenarios which do not have a direct exact mapping with new or existing requirements. A point to note here is that almost all such
defects are valid and required to be fixed. Such defects clearly
highlights the in-depth requirement understanding and efforts of test
professional.
Sometimes, over the period UI design becomes so dominant that it drives the system workflow. By then system functionality has also become extremely complex. There are certain cases which gets overlooked as a side effect of such technical limitations. QA highlights and follow ups to get these special cases fixed.
Based on system understanding, domain knowledge acquired and sound testing practice command, senior test professional performs exploratory testing. This reveals some unexpected and extremely crucial defects. Such defects are sometimes rare but are of high severity. Hence, they are fixed on highest priority.
QA also focuses on user experience simultaneously while testing. Be it the impact of colors used on UI or ease of use of UI during execution of a certain workflow or some technical limitation or user friendliness. QA is capable of thinking from end user perspective and give in-time feedback. In agile methodology, customer feedback is incorporated in a software and the feedback is a deciding factor. When an engineering team has a test professional trying for continuous refinement of software under test, keeping end user needs in mind, it results into the great quality software.
Software testing is integral part of entire software development life cycle. During crisis QA teams might get impacted. One can reduce software testing team size OR make single QA person perform test automation+manual testing OR make development team engaged in testing activities OR any other cost effective decision is required be taken. Occasionally, software testing is overlooked by assuming a subordinate job function in entire software engineering process. Test professionals are dependent on domain experts and developers to perform day to day testing activities. But if we see the bigger picture, entire product success depends on quality and usability of delivered software. Each and every team member is indispensable for successful software, irrespective of their role QA / Dev / Domain expert. Current pandemic is just a phase and is a matter of time. Keep learning and focus on self improvement. There could be many 'if and but' reasons for those who don't want to respect software testing practices but a single reason 'Quality' is good enough for those who want to have skilled software test professionals. Software testing is a phenomenal part of software development life cycle.
Comments
Post a Comment