Search This Blog

Friday, May 25, 2018

Intelligently Testing

Recently I happen to see a video clip of young Technocrat by name Tanmay Bakshi. It was a nice interview where this little wizard spoke a lot about AI and how important it’s going to be in the future days to come by. This made me thought to look more into how Artificial Intelligence is going to help Software Testing or how are we going to test AI. Am not going justify both the questions rather I will be discussing it and leave it to viewers to decide.

 This is a big topic to understand. Let me put it to you all in simple language... Here we go...

Need and Demand Intelligent Systems

The Need and Demand for Intelligent Systems are becoming more essential these days and people want more easy and better easy way of using their devices to make their living more peaceful and easy. Thus the need for evolution of Intelligent Systems came into existence and thus the need for Artificial Intelligence...

 What is Artificial Intelligence? 

Technopedia.com defines it as "Artificial intelligence (AI) is an area of computer science that emphasizes the creation of intelligent machines that work and react like humans. Some of the activities computers with artificial intelligence are designed for include:
·                     Speech recognition
·                     Learning
·                     Planning
·                     Problem solving

So we can say that AI is an intellectual Process of Creating or Developing programs or machines which can perform the human activities like reasoning, speech recognition etc., 

How AI is going to help Software Testing?

Most Software Testers believe or having thoughts that these Smart Machines or Tools is taking over their jobs and but it’s not actually true. These Tools simple help us in improving our productivity in a qualitative manner and also they assist you in lessening your daily day to day work. Software Testers Still has a lot of jobs in there in end right from preparation of execution of these tools, execution of the tool, reviewing reports and providing the correct solutions to the approach to the team.

AI is going to be next big thing in the field of Software Testing and it is going to really change the way we approach an Application or Software. All these years we have been doing one activity of the Software Testing repeatedly and that is Test Execution. We write Test Cases we execute them, A New patch or a fix to our existing Program we execute them and its all Test Execution all the time, Now you can write an algorithm that can operate like a user actually accessing the automation and figuring out with Steps to access within an application you should exercise.

With AI coming into 
Software Testing the approach of Delivery is going to be like we analyze and execute the application and do the process of continuous learning of the application and its business and keep the development team informed about issues that may occur in the future and ensure that we fix these before that incident occurs that saving the time and cost thereby improving the quality of the delivery and making business work as usual. 

Using AI you can Perform Tests based on Business Rules. These Business Rules will have all the Constraints of real-time business making the approach testing more real and more authentic which will result in better and effective outcome. Business rules are intended to assert business structure or control or influence the behavior of the business. 

 AI in Software Testing has a Preventive approach and not a reactive approach, which will pave way for Proactive and Intelligent Testing. 

To Conclude on this very interesting Topic we can say that AI is the future in the field of Technology and it has already taking over our daily walks of life and in this field of Software Testing AI's contribution is going change the way we deliver. The approach of testing is going to more accurate and more on real business needs.

Sunday, May 13, 2018

Let's Practice Process

 #Process what is it about? Can we say that Process is an orderly way of working or rather a discipline of action in a corrective way. Process should start right from us our mindset should be ready for a change. The Collins Dictionary Defines Process as " A process is a series of actions which are carried out in order to achieve a particular result." 

#Process brings in perfection which will enable any business of any discipline to work with a series of action to achieve the desired goal. In Software Engineering its combination of activities to achieve the common goal of delivering software products.In Software Testing it is not just a single activity but series of activity combined right from Planning for Testing to Design to Execution of Testing to Reports of Test Closure. 

Testing has always insisted of working along with the process. The Process for these can be termed as agile or any other name and the focus is only on Validation of Software wherein it verify that the Technical Requirement and Business Requirement is met, so the name of approaching the process can be anything.

Process - Think Plan Act
The Importance of the Process is that it is through this we would be able to evaluate the customer satisfaction and reliability and process paves way for this. Process are important as they describe why it is to be done and how it is to be done then it focuses on doing things in a better way and the result or can we say the outcomes determine how successfully we have implemented them. So for a successful quality Delivery of a Software, the process plays a very pivotal role. 

The Process that we implement or follow should be such that it is easy,efficient and more importantly repeatable.It should be inline of what business we are doing and more focus should be on customer satisfaction and finally the action of process should ensure that there is growth in business.

Even small changes in approach bring big difference in our business,changes are inevitable and how quick we are ready to accept it we will be able to do better. A step-by-step way of doing things with properly well-written procedures and policy documents and tools supporting it is what makes every process and rather a business guide towards its goal.

Now lets get into action mode and that mode is called Implementation. Yes its here that from papers of policies and procedures will come alive into action which will enable the business to achieve its strategic goals and objectives. Implementation is all important of phase where slowly from the planning phase we should start the execution of the plan until it is ready to go live. For the implementation of a process we initially should take up small pilot programs and start executing the defined process within the company where in we should run the system as trial for a finite period of time, this method of trial runs acts as a key component to any implementation process.

 We should also form a group of people within the company to try the new system because they these people are the real users and it be easy for us to understand how effective our process is and also these people would be most keen on picking out snag and the shortcomings of the system to further help the #implementation process.

 On Completion of trial runs we should focus on educating the users about the new system and how to use it before the system eventually is ready to go live. At the end of the implementation when the system is about to go live, companies typically review the entire process and verify that all tasks have been completed.Once all tasks are verified we should be good to go in proceeding with the new defined process.

 An Effective Process is always important as it acts as Collaborative mechanism which helps every company to do its routine jobs efficiently and where every individual is responsible for each step performed towards achieving company goals...

Monday, November 6, 2017

Hunger for Perfection

Hunger for Perfection
Word Perfection means "the action or process of improving something until it is faultless".It means to say that an act or rather an action performed by an individual or a group of individuals involved in something and doing that repeatedly in the right manner will achieve what is being referred as faultless. But are we able to achieve this act yes we can any act done with dedication and focus can achieve this. 

Perfection ensures that the anything that act or to be performed is being done in that right manner with proper rules and regulations. Perfection ensures and delivers Quality and Standard improvement. When we will look at the Business Prospective it gives you happy consumers which will ensure loyal consumers who buy only because they are assured that the standard and quality of the product they buy is their perfect choice.

Continuous Improvement 
To attain Perfection we need to take care of so many aspects of business and foresee things before they come and address those issues so that your business and your relationship with your consumers is complete and flawless. For that matter its not only for this relationship of business it is for every individuals we are connected to. If we take care and address issues, respond and foresee things am sure not only in business but in every relationship we will be very successful.

So what it takes to be a Perfectionist, you are either scolded or hated as you expect everything to be in order with proper rules and regulations adhered to the act that we associate with.I personally experienced this as i try follow the rules and regulations and the result being bullied and pushed and laughed but that didn't stop me from shying away from my duties and responsibilities. 

Even in our daily walks of life in the road out there when we travel how many of us as actually followed the Traffic Rules. Few Traffic Policeman standing and whistling will not make it proper it is us within us to do it. Pledging ourselves that i will drive safely and properly i will follow the traffic rules will make things Perfect. That is  what will make our lives a place to live.

Perfectionist as described in Wikipedia is that " Perfectionism, in psychology, is a personality trait characterized by a person's striving for flawlessness and setting high performance standards, accompanied by critical self-evaluations and concerns regarding others' evaluations". 

So Flawlessness is what we all are striving towards. Are we convinced to accept anything in life other the best in terms of clothes,what we drive ,how we live , how we travel etc., So for us it is very important that we get the best of everything. So Aren't we all Perfectionist then. 

Yardstick of Quality
Steve Jobs was a Great Entrepreneur his attitude towards perfection is mind blowing and the products he invented are so as well. Today Apple stands as the worlds best company in terms of Technology  and devices they make. How did he do it? He focused on what is to delivered he saw himself as a customer and his act of perfection is what made him do this. Whatever he learnt in life either it is learning the calligraphy or design of first iPod (the initial design of iPod was rejected by Steve Jobs as it was found to be too bulky). His vision and commitment to perfection is what has made Apple stands completely innovative and different from the rest of the companies in the World.

But is Perfection good yes of course it is good and we discussed on this above as well but can we find the same in individuals . Yes, I personally feel that the day you follow the act of perfection you attain divinity. But in practical life not all five fingers are the same and so is human beings as well. Not all people are perfect and not at all minds of the people are perfect . The Act of Forgive and Forget is important for us to maintain any relationship and as they" To Error is Human , To Forgive is Divinity"

So to Conclude i would say we should not look for Perfection alone we should strive for Continuous Improvement in everything we do and individually we need perform be a better person than what we were yesterday. And we focus and follow this am sure in any business or anything you perform Success will always be with you.

Wednesday, October 25, 2017

Artificially Testing

My 50th Blog

Hello Readers very happy to share with you that i have completed my first milestone of writing 50 articles in my area of interest.On this special occasion today i have written on a very interesting topic of Artificial Intelligence with Software Testing. Read On... 

It has been a very big learning curve for me. Thanks to all who have been part of this journey learning and unlearning and this journey of knowing and sharing will go on... thanks to all. 

Monday, October 23, 2017

Software is Insanely Smoking

 Smoke vs Sanity

Smoke Testing 
Smoke Testing is the initial of testing which is basically done to ensure that all the basic functions of an application is working fine. Smoke Testing is also called as a Build Verification Testing shortly called as BVT. A Set of Test focusing on the Core Functionalities of the application is run along with its test cases is executed on every new build to verify that  the build is good enough to proceed in testing .This type of testing is very essential to perform in the early stages of Testing as it identifies the bugs or issues that are inside the code. The results of this testing is used to decide if a build is stable enough to proceed with further testing and thus reduces the time and cost of Testing. 

Sanity Testing is usually an unplanned activity done with a unscripted approach when we do not have much time to test. This type of testing is done to ensure that the basic menus,commands,functions etc are working well after a small change in the code. It helps to identify the dependent missing functionalities. It is narrow way of testing where it focus on one or few functionality to test to ensure that the application or a software is working fine.

Difference between Smoke and Sanity 

Difference Between Smoke and Sanity 
Smoke Testing is a methodical way of execution of testing where we have a set of test cases written for it and executed whereas Sanity is a unscripted rather non documented approach of testing where we execute the act of testing without any test cases to execute.

Smoke Testing is done in the initial stage of testing when the build is deployed in the Test Environment to ensure that Build given for testing is working fine to proceed further on testing while Sanity Testing is done in the later stage of testing .

Smoke Testing is performed on end to end testing to ensure that stability of the application where as Sanity Testing is performed for a particular part of the system or component of the application to ensure that the fix or code change is not affecting the behavior of the system.

To Conclude on the above topic i would say in the Industry both these words are often confusing use them wisely according to your needs.

Lets Explore One More Time


Regression Testing a testing which has lot of significance in ensuring that the application is working well even after a code change or enhancements. Generally this type of testing plays its role after the functional testing is done. Its more likely done when after a patch for a code is fixed. Regression Testing is done to ensure the application as whole is working fine.

Regression Testing 
Regression is an act or an instance of going back to an earlier and lower level especially of intelligence or behavior the regression to really childish behavior that boys often undergo when put in large groups.

So here in Software Testing, Regression Testing is a Verification Process where we go back to the Software Application that has been changed by the act of a patch or fix due to its already existing program which put together should make the application work properly as it was functioning before.

Guru99.com defines Regression Testing as 

"Regression Testing is defined as a type of software testing to confirm that a recent program or code change has not adversely affected existing features."

ISQTB Defines as :

When any modification or changes are done to the application or even when any small change is done to the code then it can bring unexpected issues. Along with the new changes it becomes very important to test whether the existing functionality is intact or not. This can be achieved by doing the regression testing.

Difference between Regression and Re-Testing 

There is a difference between Re-Testing and Regression Testing. Though both has a common approach verifying the application after a fix in a code is done.
REG vs ReT

While Re-Testing tests the functionality to ensure that the code is fixed and no bug is comes back. If the Code works well then it is closed else if the defect raises its opened again. Here we focus more on the Failed Test Cases. 

But in Regression testing, verifying your software application when the code is changed and ensuring that the this code is not affecting the application as whole . Here we focus more on the application as a whole whether the new code is not affecting the other areas of the software.

Regression Testing is useful when
Regression Testing Useful Areas
  • Code is modified due to change in requirement
  • Any New Feature is added to the Application
  • Any Performance issue and there is a fix for it 
  • Resolving Bugs and Defects Raised to ensure a quality software  delivery.

Regression Testing is a very effective strategy which actually helps big organisation save lot on time and money. As bug fixes cost a lot and an effective Regression will help companies in reducing this cost and produce a quality product.

Friday, October 20, 2017

Let your Case Begin on Testing!!!

                                               Is Test Case Necessary

Few days back an interesting topic came in for a discussion in one of my LinkedIn group. Where a topic on Test Case came into light on "Is Test Case Necessary" Though i have replied to it . I felt i will not do justice to it if i not talk in detail about this topic so hence.

Here we go...

What is a Test Case?

My Definition a Test Case 

Test Case is a Step by Step Approach of achieving our expected result by fulling the functional requirements of a Customer.

Let us now see definition of a Test Case from Various sources

ISTQB Definition of a Test Case:

A test case is a document which consists of a set of conditions or actions which are performed on the software application in order to verify the expected functionality of the feature.

Guru99.com Defines a Test Case:
A Test Case is a set of actions executed to verify a particular feature or functionality of your software application.

If you see the above two definition both describe one common point is that a Test Case is a set of actions or condition to verify the requirement of a customer where in the functionality is been given importance.
Test Case a Right Approach

Yes - functionality is a very important in order to ensure the smooth operation of an application. Functionality is a the quality of being suited to serve a purpose well practically.  

So let us come to the topic now. Is Test Case Necessary ... Yes according to me it is a very important aspect of Verification where we Validate the very existence of an application and ensuring that it works functionally. 

So What exactly a Test Case Contains... There are so many ways the test case template has evolved over a period of time .

In General a Test Case Contains

Test Cases 
  • Test ID
  • Test Case Scenario
  • Test Steps
  • Test Data
  • Expected Result
  • Actual Result

The above are the basic for any testing but there is no had and fast rule for this in how a test case template should be to me it is very important u have your Scenario / Situation i would say defined well and to achieve them write steps for it and have your Expectation on what will be the out come for this situation and record your actual result. If you can derive this i would say you are in right path of Test Case execution. You name the heading in any name for your Test Case Template but ensure that the above basic are available to make your Test Cases effective. Thus to conclude to me a Test Case indeed plays a very pivotal role in Software Testing and without which there will not be a correct approach or rather right way to ensure the actual requirement and functionality are compared.