Wednesday, 16 July 2014

Enhancement of QA process and methodologies

QA testing process and methodologies have proved to be quiet beneficial. They resulted in more dynamic and segregation flows leading us to a quality throughput. For any work to be successful, proper schedules, plan and process should be followed.

Continuous enhancement of QA process and methodologies are beneficial as requirements of end users change day by day. There is a need to cope up with the demands.

To take QA process and methodologies to next maturing level enhancements can be done through:
1) Various Brain Storming Sessions
2) Knowledge Sharing
3) Discussion of Challenges faced
4) Revise/ Modify the practices used
5) Improvisation of models/ metrics and evaluation factors
6) Usage of new tools available in market
7) Apply testing mixture (Use Manual + Automated+ Performance testing in fine proportion)




"Nothing is permanent except change"

Up-scaling QA processes and QA testing methodologiesis one of the strategic move adopted by most QA Testing companies. Nowadays, the developmental life-cycles are more typical than traditional QA testing methodology or QA process can handle. Being so agile and flexible, it has become almost indispensable to follow strict QA guidelines and to even keep them documented for future references in order to track any instantaneous break in the application. Furthermore the products being so responsive in nature, the test strategies and methodologies should be at par with it, changing every-time in order to complement the same. For such products, test cases should be created at run-time to better match the requirements and therefore avoiding it from being obsolete.

Enhancement can be considered as a positive change and positive change in a process will always lead to development. Of course enhancement in testing field is beneficial, and when it is on a treadmill, it indubitably effects quality of work which is Creed in our Testing Religion, Our motto is to provide quality work in the form of test cases and scenarios so as to make an application as robust as it can be. Gaining client trust and enticing more clients or organization by our work.

As a QA testingengineer to stand globally, we have to adapt to certain process and protocols that are essential for the change, and by the change we mean growth success and achievements.

To grow as a QA Engineer and to help grow the organization it is very important to understand the processes and methodologies used earlier and will be using in near future as an emerging organization.

Software testing or say QA testing is a niche area and requires constant innovation. Continuous Enhancement increases quality which is Creed in Testing Religion, Peer review is one big factor which can be implemented in teams , giving pool of ideas for different scenarios in application and following the most relevant direction is what it is all about, this way individual's work becomes team effort and hence the results are always affirmative and Factual. Obviously it increases maturity of work as well as enhance work environment.

There could be various suggestions to take software testing to the next level. Starting from giving respect to the test engineer by helping him learn how to code which would levitate his confidence and rapport with the developer. Help him in becoming a system specific dedicated tester which makes him more output driven. Providing business training for what they are about to test.
Preparation of test cases should start during the development phase to ensure nothing is left behind during crunch time. Tester should be on toes to monitor any requirement change done by the business team or the stakeholders. All these things if implemented properly can lead to a better software and better quality.
If you are associated with a QA testing company, you will agree that continuous enhancement of QA process and methodologies are beneficial.  “Change” in processes and methodologies are important. Being a QA Engineer, if we are following a similar process every time there have been certain situations when we miss something or escape a defect as we are not in habit of applying change in our process. Thus we do require changes in QA process after following the existing for certain period of time. It is not possible to create a perfect process in first attempt. Limitations and problems are found when we practically implement them. So in order to make the process robust and perfect, there is a continuous requirement of change in it.
Let me explain this with a small example, if we are working on an application which is not new. We have certain set of test cases to execute on that same module in every release cycle. Executing same set of test cases every time there is a possibility that we are missing a defect/bug which is reproducible by applying a different scenario. Thus escaping the defect in every release. If we would have changed our workflow and tried to take a different path that defect would not have escaped.
Methodologies are defined using logic. Are we sure whether the logic defined is strong enough to work in every situation or scenario? There are certain possibilities where we may find defect or loop hole in our methodology. Thus removing this defect or gap in methodology is necessary as it is being followed in building processes. Therefore we should continuously work on finding ways in how to improve our methods which will make our process better and we leave no scope in compromising Quality of our testing product.

 Summary:

To grow as a QA Engineer and to help grow the organization it is very important to understand the processes and methodologies used earlier and will be using in near future as an emerging organization.Methodologies are defined using logic. Are we sure whether the logic defined is strong enough to work in every situation or scenario? There are certain possibilities where we may find defect or loop hole in our methodology. Thus removing this defect or gap in methodology is necessary as it is being followed in building processes.

Keywords:  QA Testing, QA processes,QA testing methodologies

Author:

Knowledge Sharing Team at QA InfoTech is responsible for research on new tools & technologies for effective software testing across all industry verticals. QA InfoTech (an ISO 9001:2008 & CMMI III certified) is one of the leading Quality assurance Testing Companies with five testing “Centers of Excellence” in the United States and India.  It offers end to end QA testing services.

Links:




Tuesday, 23 April 2013

How can software QA process be implemented without stifling productivity?



Software QA process can be implemented slowly over time, using a common understanding to reach to an agreement of process verification and by focusing tightly with organizational goals. To implement any process, you've to first test that process by running some parallel sample tasks and if it results into successful outputs then you can implement it practically. At the same time, attempts should be made to keep processes efficient and simple, minimize the paperwork and promote training as an essential part of QA process in an organization.
Well-written and summarized processes and procedures ensure the correct execution to facilitate a successful completion of a task and increase the productivity. While implementing any process, appropriate preventive measures should also be taken in order to reduce the problem detection and burn-outs and to improve the focus over the quality.

For instance, implementing a new process of automation in a project for increasing the productivity. For that, one or two of the resources will work on that process in parallel without hindering their tasks and will try to get the appropriate output so that the desired process can be implemented in a best possible way without stifling the productivity.

Generally it is very tricky to implement Software QA process without any change in productivity  because when you want to implement new things/processes – In actual you need little more time to reach agreement on process or adjustment of process to maintain the project shape.Although change is always better – We can summarize this to in such a way like Productivity will improved rather than stifling and for sure burn out alarm will be decrease. Focus would be more sharpen and it will cut down the wasted too.

QA process can be enhanced with attempt of simple and efficient process for the Project. Paper work can be minimized and in between we can promote the processes which are based on robot things (Machine dependent) can have track of reporting in an automated way. We can have conduct more training session to keep the people on same floor.However it is not necessary the things you are doing, would always good to reach out to the destination and implementation may do- slow down the running things a bit.

I believe that more time needed to develop things in a better way but definitely time amount would be less for late night bug fixing.

Implementing QA process or rather processes to avoid any impact on productivity is big challenge. One need to make note of following things to successfully implement QA processes:
- Know you audience: Prior to implement any new QA process, understand your target audience and then customize (if required) according to their needs.
- Understand key pain points: Implement something that solves purpose and help team in being more productive. Keep things bit slow and simple and make sure that will not conflict with existing set of system. If people can relate to new QA process, then they will indulge more quickly into it and productivity will surely be improved. Do not force any unrealistic process.
- Understand the system & implement in small chunks: Analyze prior data (different metrics) and based on that see scope of new processes and start with very basic and make it part of daily exercise and keep on enhancing that as time passes and people get used to new system.
- Get regular feedback from your audience: Once new QA process is implemented, make sure to get proper reaction from everybody involved and make necessary modifications. Do not be rigid in approach.

All this helps in gaining confidence of team and let the change (new QA process) be part of existing system with ease without impacting productivity rather it will enhance that.

Wednesday, 12 September 2012

QA Process


Introducing new software QA processes in any an organization will largely depend on the size of that organization and the risks associated with it.

1. Large/Medium Organizations: For projects which have high risk associated with them, both in terms of revenue, lives or property, serious management Buy-in is required and a formalized QA process is necessary. If required, external stakeholders or new Vendors can be introduced to the organization that has prior expertise and domain knowledge depending on the needs of the Project involved.

2. Small Groups or Projects: Ad-hoc processes may be appropriate, depending on the type of customers and projects. A lot will depend on team leads or managers, feedback to developers, and ensuring adequate communications among customers, managers, developers, and testers.

Most of the focus will be on the following area in both the above scenarios:

(a) Analyzing Requirements in a clear, complete and testable way so that the requirements specified in Project documentation is formalized for further QA process ,
(b) Periodic review and Design inspections by core functional group.
(c) Post-mortems/retrospectives among all members of development and testers to make process enhancements.


Monday, 6 August 2012

QA Process


What makes software testing an integral part of quality assurance?

QA is responsible to check whether the processes and the practices are carried out in the way they were laid out. But, it is actually the testing; the quality control that makes thing move, as that would accomplish a task or not accomplish a task as per the guidelines. Based upon this output the QA team would then determine whether the product development is going in the intended way or not. So, without the existence of software testing, quality assurance is not possible.

Thursday, 5 July 2012

QA PROCESS


Although every testing team follows their own set of processes. Is it possible to create a universal process that every tester must use to achieve best results?

When such type of question arises, often we find that people divided themselves in two groups i.e. Favor and Against .Let’s check out the both group’s viewpoint.

Favor: Yes It is possible to Create Universal Process to achieve best results. Every tester should know what is the test objective of his/her project, After tester knows the test objective clearly then he/she should know the different test Scenarios, along with different Test Scenarios Tester should know what is the expected result of his/her scenario. Testing process should be tracked by some logs or some different tools so that testing status can be tracked, When Testing is Completed then whole Testing Process should be reviewed by Team Lead so that QA for the featured can be certified. We  heard about a number of certifications like ISO and CMMi which focus towards establishing global processes across the organization and it’s projects through their set of protocols called as ‘process areas’. However, while implantation one can easily realize that all processes cannot suit the needs for all the projects and few deviations have to be made. But, all in all you can have universal processes in an organization which would ensure at least 85% of your projects follow the same processes; while 15% of the processes deviate.

Against :It’s quite difficult to have and implement a universal process which every tester can look up to as Software Testing is very vast field and every team/engineer has its own set of processes which might be very effective in the respective team. Though we can have few standard processes but those processes should be flexible in nature so that team can slightly modify them before implementing them in the respective project. There are some common guidelines that all testing teams’ follows like requirement analysis, test case creation, preparation of test plans etc. But it’s not feasible to have a universal process in place for all testing teams for many reasons like sometimes client requests to the respective QA team to follow specific set of process, lifecycle of products may vary. What methodology to follow is totally depends upon the nature of the product and mind set of the team. A testing team follows the set of rules according the need in a specific project. Few set of rules are developed by the team for a particular project according to the business requirements. 
But we also can develop few universal processes for an every tester that must guide him in any project. 

Below is little universal process which can be torch bearer for every tester.

1: Bug reporting should be perfect, comprehensive, exhaustive and flawless.
2: Testing should be focused on functional requirements and business logic.
3: Bug prevention should also be motive of every tester
4: Test case creation should cover all major and important scenarios.
5: Requirements are not very dynamic so that we can ingest automation in some areas to optimize our testing efforts.
6: Every team member should be in sync with each other and have good knowledge of application so that process can be well followed.

Monday, 25 June 2012

I would like to ask a very important question to you all that although every testing team follows their own set of processes. Is it possible to create a universal process that every tester must use to achieve best results?
Give your opinions

No, it is impossible to create a universal process that can be followed by every tester in order to achieve best results. No, one can create a set of processes to be followed in their project based on the type of application; projects needs etc and make it generalize so that if other team working on same line wants to reuse the processes they can do so. There is no way to universalize testing process as it is done to test different features and applications, which cannot be same in its behavior. Unique test plans are required to execute any application. Testing grows with the project so no pre-defined structure can be possible to test the future application. Testing will go with the new requirements documents proposed time to time for enhancing the features of the project.

Tuesday, 22 May 2012

Our QA processes and methodology are strongly built on:


A well defined test strategy and plan, to provide rigorous and structured testing, Transparent and periodic communication with all the stakeholders, Strong industry domain focus. QA is an indispensible part of SDLC and ensure the quality of the product being produced and even after it is produced. It does not monitor just the products but the process as well. Process assurance includes the approval of plans, procedures, analysis and standards as well while the product assurance makes sure the improved quality of the product on every phase of life cycle right from requirement, design, coding and test planning with the sole objective of identifying and removing every possible defect in the product and hence make it the best quality product.