Header Ads

What are the Challenges of Testing Process?

Manual and test automation passes through a lot of challenges.  For an external to quality engineers testing is a process to verify or test if an application is working perfectly or not. But inside testing world ,well there are so many things. More over I think testing is a thankless job. If you do correct catch the bug report correctly ...well thats your job!!! but on the other hand due to time pressure on any other factors,if there exists a bug in the application...well testers have done nothing.

So here we go with the top challenges:
1) Testing the complete application: Well this is a paradox,I,would say. Reality is different.No tester can test an application end to end in today's testing time frame. Best practice says 40% time of the development time is allocated to testing. But that is not enough to test the complete piece of Product. On the other hand if test engineers are going to take more time,it may delay the build release process. Testing process goes for a toss when it is said test the complete application withing so and so time frame.Also extensive automation is not good . It often leads to multiple feedback situation. Due to this main objective of the testing is shifted.

Now a days, there is a boom in the market that is agile testing.It gives a flexibility for a company to launch it's product faster in the market. The down side of this , testing become costly and even a miss is costlier. Many a times we do a risk based testing.
2) Processes of a Company: This is one more contributing point which leads to Test engineers confusion. I have worked in a company where few sets of test cases need to added before you start your actual testing. People like me did not understand why this needed to be done. No importance of these but still need to incorporate to show up the Test case number count. Yes, you read it correctly, just to show up the number of testcases few extra tests always there in the report, resulted the pass percentage high.This helped the team to bill more to the customer.(A bullshit approach that earned money). Putting all these cases resulted delay in testing process. Lack of knowledge of the application is also a sub contributor for this category. On the other hand the development team can also delay a process. As per organization a bug has to be logged as per Company specific template...even if development team knew the defect, they simply buy time by sending the bug for rework in documentation section!!!. After finding the bug there are so many documentation needs to be done , testing process becomes slower.
Testing in automation should not consist only complex flows. It should include simple flows like-boundary value testing,field level validation etc.We generally tend to miss these aspect.

3) Relationship between Test Engineers and Developers:
People say  relationship between Test engineers and developers is generally very bad. When I started my career, I found some instances that Development team delay a process as I mentioned point no -3. But generally there is a fight mode or not negotiable mode seen between themselves.When several white paper says managers should encourage effective testing by catching bug...but in reality  every manager takes his ground and save his/her own team. It leads to a big fight.Communication between all the stakeholders play a big role. 

5) Skill of a Tester: Skill of a Test engineers become very important , when we talk about efficient testing. Starting from requirement analysis to test case developing  to bug logging to customer facing, Test engineers take a greater role. So while recruiting a test engineer, management should be very clear about the skill set they need and the skillset the person is having who is getting recruited.Most often this section create a lot of ambiguity between team. Even if to become a successful test engineer one need to have good understanding about functionality of an application,technology , communication skill, requirement understanding for better solution.As I said tester engineers have a vast role to model the testing process,all these skill matters.
6) Time constraint: Testing process ..be it be an automation or be it be manual always given least priority in terms of Time allocation.I have seen projects getting delayed by development team due to poor coding...lots of bug logged..but at the end of the blame came to testing team for not certifying the build right time.40% standard time may be applicable for small application but for a long projects with lots of regression may need more that or equal time like development. But till the time people understand this law testers are burdened with time factor. This prime factor leads to another testing syndrome-Priority problem. Testers get real confusion which testcases to pick and what to run. Scenario get worse when there are a lot of regression.  

7) Automation testing:Major challenges - Should automate the testing work? General thinking about automation is that it is process to record and play it back.Most of the automation are based on coordinate based testing . Automation is all about record once and run multiple times. Result !!!!--less  time for automation..--But these people forget about the advancement of automation technology.Automation is not all about record and play back. There are several other parameters needs to be taken care. Till what level automation should be done? Do you have sufficient and skilled resources for automation? Is time permissible for automating the test cases? 
There are cases when functional people give general cases to automation team for regression testing.
Having said that ever changing requirements including User Interfaces,Business functionalities and business condition are the maintainability issue with Test Automation.
Reliability is also one important challenge for Automation. Each framework should support Error handling and recovery.Automation should be robust to support multiple environments. To make it portable is one of  the major challenge in now a days. Automation must follow re usability protocol to support frequent patches,releases and builds. This is one of the major challenge now a days. But to get better ROI, one must enable such functionality in framework level.last issue could be to determine how customised objects will be handled by framework. 
Testdata is another major factor of automation success. In an ideal condition,test data should not be a seeded one or generated. We should be able to use random testdata governed by application rules.This may also guide us towards high impact bug just hiding inside data.
8) Decision to stop the testing:When to stop testing? Very difficult decision. Requires core judgement of testing processes and importance of each process. Also requires ‘on the fly’ decision ability.Most of time test engineers lack in this matters.
9) Centralise QA Approach: In recent days there is a approach came in the market that there would a centralised testing team to verify all the application . The advantage may be optimum use of resources and reuse testcases or test scripts but there are challenges...
 to keep track of each task. Communication challenges. Many times results in failure of one or both the projects.This approach is bit time consuming.
10) Reuse of Test scripts:Application development methods are changing rapidly, making it difficult to manage the test tools and test scripts. Test script migration or reuse is very essential but difficult task.With a lot of changes in agile way of development, it is significant that we should take a object oriented approach for our testing. Otherwise automation can not really take so many changes.Automation should also looks for scripts which have long term life that generates greater ROI. In reality, we depend on manual testers to get the scripts.Which is wrong in my observation.
What ever scripts automation team is automating should get validated by functional experts otherwise later it might throw lots of false positive report later move to serious failures. Minor bugs with lower priority is often a set back for developers. But such kind of bugs may musk high priority bugs. Automation will continue to fail at the minor bugs. High priority bugs just hide themselves in the shadow of negligence. 

11) Testing Objective:Most of the organisations reward testers based on number of bugs . Yes even I got several prizes ...I agree this gives us motivation to work with the application but objective becomes finding easy bugs those don’t require deep understanding and testing. A hard or subtle bug remains unnoticed in such testing approach.When manual testing objective is to find out new bugs, automation is say there is no such bug found in the other part of the application.But we have to remember that automation is not always to maintain 100% pass or automation is only about faster way of testing.In regression testing we check if the new code push has not broken any existing functionalities. Automation has its own challenges-like screen changes,effect of changes in the GUI,Object description etc. So ,coming back to the point, automation may get 98% pass but still manual testing will get more bugs. But that does not mean that the automation is useless. But in order to get a stable automation, scripts need to be updated periodically. If not ,it may cause pesticide paradox effect. Tests will not be able to capture bugs.We forget to upgrade scripts.
12) To cope with attrition:Increasing salaries and benefits making many employees leave the company at very short career intervals. Managements are facing hard problems to cope with attrition rate. Challenges - New testers require project training from the beginning, complex projects are difficult to understand, delay in shipping date!
These are some top software testing challenges we face daily. Project success or failure depends largely on how you address these basic issues.

Powered by Blogger.