Search This Blog

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.

Thursday, October 12, 2017

Mobile Testing ...Get Connected

Mobile Testing an interesting topic to discuss about a device that has become a part of our daily life the "Mobile phone". Its pretty much a small world inside for every person who has a Phone. Mobile Phones has come a long way from being a phone with keypads with small screen and also heavy to carry today phone's are advanced technically with touch screen , Internet enabled which makes an user to do everything right paying his bills to check his email and every individual is well connected.So in this advanced version of the current Mobile Phone its very important it delivers what it is designed for. 

Mobile Testing is split into Mobile Application Testing and Mobile Device Testing. So lets dig more on what is Mobile Application Testing is all about in brief then we will discuss on Mobile Device Testing. 
Application inside the Mobile
Applications inside a Mobile  
Mobile application testing is a process by which application software developed for handheld mobile devices is tested for its functionality, usability and consistency.The applications that work on mobile devices and their functionality is tested. It is called the “Mobile Application Testing”. Even in the mobile applications, there are few basic differences that are important to understand:
a) Native apps: native application (native app) is an application program that has been developed for use on a particular platform or device. Because native apps are written for a specific platform, they can interact with and take advantage of operating system features and other software that is typically installed on that platform.( As Defined in whatis.com)
Native - Hybrid- Combination 
b) Mobile web apps : Web apps are not real applications; they are really websites that, in many ways, look and feel like native applications, but are not implemented as such. They are run by a browser and typically written in HTML5
c) Hybrid apps are combinations of native app and web app: Hybrid development combines the best (or worst) of both the native and HTML5 worlds. We define hybrid as a web app, primarily built using HTML5 and JavaScript, that is then wrapped inside a thin native container that provides access to native platform features.
When Testing a Mobile there are certain important areas which we need to look into to ensure that the application is working fine.They are as below:

  • Application should be able to initialize the process of a proper download from any place it is stored. More Precisely from any Store.
  • The Application devised for should be able to perform across various platforms like Android, IOS, SymbianWindows Phone, and BlackBerry (RIM). Each operating system has its own limitations.
  • The Mobile Phone should be able to take up a phone call when we are working on a application.
  • Mobile devices should work well with different screen input methods (QWERTY, touch, normal) with different hardware capabilities.
  • When Testing a Mobile Application there different ways of approach one is Testing on Real Devices and the other Testing on Emulators.Though both approaches are perfect There are certain limitations as well when we test in emulators as they often miss issues that can only be caught by testing on real devices. Since Real Devices are expensive to purchase and time consuming to use for testing we tend to go back to emulators.
We execute various levels of Testing in Mobile Application which includes:
  • Functional
  • Performance
  • Interrupt 
  • Cross Browser
  • Installation
  • Lab Testing 
  • Memory Leakage
  • Certification
  • Usability
  • Security
  • Location
  • Load testing etc., 
The above we discussed more on what is mobile application testing is all about now let us learn more on what is mobile device.

Mobile Device Testing 
Mobile-device testing involves a set of activities from monitoring and trouble shooting mobile application, content and services on real handsets. Testing includes verification and validation of hardware devices and software applications.

Mobile Device Testing is done to ensure that the function of the devices are working as per expectation and in this type of testing both the hardware and software are tested to ensure that both are compatible to each other. A Mobile Device Goes through various levels of testing like the Unit Testing, Factory Testing and finally the Certification Testing.

Unit Testing

Unit testing is a test phase when portions of a mobile device development are tested, usually by the developer. It may contain hardware testing, software testing, and mechanical testing.

Factory Testing

Factory testing is a kind of sanity check on mobile devices. It is conducted automatically to verify that there are no defects brought by the manufacturing or while assembling. It mainly includes the following testing −
  • Mobile application testing
  • Hardware testing
  • Battery (charging) testing
  • Signal receiving
  • Network testing
  • Protocol testing
  • Mobile games testing
  • Mobile software compatibility testing

Certification Testing

Certification testing is the check before a mobile device goes to the market.
The Future of Technology is moving towards more into Hand Held Devices and in this Mobile Phones plays a very important role. And for the Software Testing Professionals a new venture of Opportunity to look out and to work on.