? QA Design Gurus: Software Testing
Showing posts with label Software Testing. Show all posts
Showing posts with label Software Testing. Show all posts

May 9, 2016

Introducing Artificial Intelligence into Software Testing



When I started my software journey, which is not very long time ago, releases used to be anywhere from an year to 2 years. Anything less than this is considered stressful. Fast forward to 2015 or 2016, we are delivering releases every few weeks, with zero downtime for customers, all in cloud with a switch.

I still have 20,000 tests that I need to execute all of them and only way we are surviving is by distributing. I want to choose what tests to run and run only 100 tests from the 20,000 tests that I have. Certainly possible, all we need to do is to induce artificial intelligence into our testing system.

In the current approach, QA teams runs the whole sets of test suites or frameworks in order to find out bug(s). If we see this on a bigger picture, there are cases where QA Cycle take more amount of time than the development cycle. So, what can be done to fix this? How about Introducing Artificial Intelligence (AI) to the Software Testing domain, where we can reduce the time gap between the development and testing cycles and can release the quality product into the market. Let see, how we can build a AI enabled testing framework.



Every test is tagged with a file system, a feature, a sub system. Whenever a file is changed, various triggers gets fired and different permutations are done to choose the right tests to run. This system will be tested and more intelligence added, just like any AI system. Once this is up, we are then ready for daily releases, how cool will that be.

Mar 30, 2016

Installing a new habit can improve software testing

In today's cloud world, and agile world, we are doing more releases than earlier. Organizations are working towards short goals and expecting more revenue. Due to all these QA engineers are getting more work than earlier. In the waterfall model, we used to write detailed test strategies and test plans. We used to get time for everything like feature testing, regression testing and automation. But now we are not getting time to complete all QA cycles. If you are working on a complex product/project, you can do only manual testing and you cannot complete automation in any case. Unit tests can help you but if you don't have unit tests in place then it is a tough time for QA engineers. Maybe you can consider UI automation but in these days UI also changing very frequently. UI automation requires regular maintenance and required more resources depending on the complexity of the product.

Assume that you love software testing, you love to find defects, you love to do automation and testing is your passion. You are perfectly suitable for this cloud and agile world. After few years, you may work overtime to complete schedules. As you are an experienced person you should complete the testing quickly and need to achieve other goals, so maybe a lack of sleep and time can prevent doing things you enjoy outside work. You stretch yourself beyond acceptable limits because you love to do the work. If it continues for a long time, it affects your health. You may easily miss the defects on the screen.
    
In these days, doctor's first question is "Are you a software engineer?" :)


What can we do here? We cannot change organization goals. We need to achieve more than last year to grow in the organization. Increasing the budget for the product/project or allocating more resources are not in our hands.

Install a new habit can help you in this case. A hobby should not be your passion and you should not make a profession as your main hobby. For example, professional athletes often play another sport in their spare time that they enjoy and that will help them do better in their primary sport. Enjoying hobbies help to bring a fresh boost of energy to get you going in your daily job. Everyone should have a hobby that can take them away periodically from what they do for a living, without constraints, goals, or targets, as you balance your job and your hobby.

According to scientists, to install a new habit It takes 66 days. Having a habit can definitely improve the software testing quality.