Tuesday 8 May 2018

"The PMP experience"


First time I thought about PMP exam in 2013 (When I heard a software tester passing the exam). Finally, registered for exam in Nov 2017 and passed on 22 Feb 2018.I followed almost a disciplined study schedule for over 2 months. DEC & JAN are the best months to go out and enjoy the weather but I chose to stay in house most of the time and make my dream come true!

When I started preparation, I used to score 60% in test papers. This gradually kept on increasing and in the last paper that I attempted, I scored 85%. I used to study 2-3 hours on weekdays and 5-6 hours on weekend. I had the plus point of working with CMMI level 5 companies in a defined process setup. So, I could understand most items defined in the books and tests.

Prior to starting my study schedule, I did little research on internet on how much study time is sufficient, what books to read, where to get the test papers etc. Then, based on my capability I got to know that approx. 2.2 months would be sufficient for me to attempt the final PMP exam. I read 2 books, "PMP Head Start" & PMP book of 'Rita Mulcahy'. First I completed Head start book and attempted all exercises. I did not attempt the final test paper after completing this book. I then read 'Rita Mulcahy' PMP book (along with PMI Guide) and it took little longer than planned to finish this book. I did all the exercises. I attempted my first full PMP test at this point.

I re-read entire 'Rita Mulcahy' PMP book and re-done the exercises as well. I attempted my 2nd full PMP test. Happy to score 75%+. I re-read the chapters but faster this time. Most focus on areas where I was not scoring well. I attempted my 3rd full PMP test, just 2 days before exam date. Happy to score 85%. I was ready to attempt the exam.

I scheduled the exam for the first available slot early morning. Test center was walking distance from my place. I kept myself cool though the entire period of 4 hours of the exam. Sometime 4-5 questions in continuation made me feel not very sure about the correct answer. I marked them to be looked later and kept moving forward. I took 2 breaks during the exam. I had enough time to review the questions that I did not answer early. Later, I answered all of them. Then, I clicked on End Test with full courage. I Passed!!


Thursday 3 May 2018

"Show Stopper"

Let's accept the fact, "You can not find all bugs just by going through requirements document".

I wrote all the test cases based on requirements document and added some more based on my experience. I got bugs, wherever system did not meet the requirements.

One day, when I Was showing the demo to a business user, He asked me to navigate to another module which was not in the scope of requirements document for customization. He asked me to check some data values and perform a workflow transaction. He was happy to see that data that he is
looking for is there.

I realized that this data is fine but it is showing duplicate records (for thousands of records). Business user did not see the duplicate record. He was just happy to see the data.

I drilled down the bug and found that the solution provided missed of doing customization in this module as this was not provided in the requirement documents. This bug turned out to be a "Show Stopper" and sent to a top ERP selling organization. They accepted the bug and are working to fix it in their product.

It is very important to have full understanding of business user's expectations. You should not stop the requirements gathering, when your requirements document is ready. Whenever you have the opportunity, discuss with business user about the product which is under development/testing/UAT
or at any stage.

In most of the cases, you have to agree to the business user's demand and your go live plan will get delayed. So, it's better to have courage and discuss the implementation with them. Else, you will have overruns in Revenue, Cost, Quality, Schedule, Resources. All !!! 

Friday 27 April 2018

Most Powerful word - "TEST"!


Delivery Manager : Make sure you #TEST all customization done in product prior to release!

Change Manager: #TEST report must be attached with all the Releases!

DBA: Are all SQL queries #TESTED?

Project Manager: When can we send this to #TEST? Why so many failures from #TEST?

Development Lead: Guys, make sure we #TEST our code and then release!

Developers: I must #TEST for all input and output parameters!

Deployment Teams: Let's make the #TEST instance ready!

Customer: When can we #TEST?

The list is endless. Make sure you #Test!

You have to think and run your test scenarios like a real user/customer!

I wanted to buy a book on Amazon. I was not sure about the cost and time of delivery but i needed asap and in my budget. I browsed the similar books and compared prices and popularity of the author. The price was on higher side as these were printed books and delivery time was also around a week. Then i checked digital editions of these books which were not expensive and were also available on all my devices immediately. I browsed some of the eBooks and purchased one of them. I paid using my credit card and the book was available for me to read on my laptop.

Check the above scenario created by a real time user while making a purchase on a online store. check the amount of time spent by the user for executing this scenario. Amazon worked fine and there were no errors. I was a happy customer. Can you cover this scenario while writing test cases/scripts? May be, No.

My point is, while going through the requirements documents, make sure to understand the real use of the software. How this is going to be used? How different functionalities/modules are going to interact? If you can cover these in your test scripts, nothing better than that. However, you need to be creative, focused, and use software tester's brain to get closer to the expected scenarios that can be created by the real user.

As you can not ask for unlimited amount of test time, You need to make sure that type of test execution done by you is measurable and metrics can be produced.

Friday 5 June 2015

Microsoft Azure DevCamp Hackathon :Our Solution

Our Solution:

We created a simple web application using visual studio 2013 & Azure. Our application was to ask user to enter Employee details (First Name, Last Name, Address and Email ID) and store this in Azure Table. The saved details were then displayed on a web page.

Steps to be followed to implement the proposed solution in VS 2013 & Azure:

1. Create a MVC Web Application with visual studio 2013

2. Install ‘Nuget Package’ : Install-Package WindowsAzure.Storage -Version 4.3.0


Note: Now, we need to create a table. So, we will use Storage feature of Azure

3. Create a storage on azure portal.



4. View Page: Created a form with three input box and two buttons. On click,‘Save’ button is sending data to Controller.

5. Controller Class

5.1 Create CloudStorageAccount client with ‘Account Name’ & ‘Account Key’.
   _storageAccount = CloudStorageAccount.Parse(WebConfigurationManager.AppSettings["storageAccount"]);

5.2  Now, create the tableClient
                _tableClient = _storageAccount.CreateCloudTableClient();       

5.3  Create a model class extending TableEntity class.

5.4  Initialize table client.
 _table = tableClient.GetTableReference("mytable");
 _table.CreateIfNotExists();

5.5  Added data to Model, and called TableOperation class
    TableOperation insertOperation = TableOperation.Insert(model);
    _table.Execute(insertOperation);


6. Publish

6.1  Select project and right click, and click on publish



6.2  Enter Site name, select Region, and choose database if any, and click on next,


6.3 In next window, click on publish, Website will be published on azure and will be listed inside Web App on Azure Portal.



6.4 After Publish, to save record on azure table, open URL in browser

6.5 Manually Add data and, Click on save button to save data

6.6 To view data of Azure table, click on 'ViewData' from menu

We presented this on stage and yes, we were the first one to do so.


Sunday 31 May 2015

Microsoft Azure DevCamp Hackathon : My Experience



We reached the destination (Park Plaza hotel sec-17, Chandigarh) on time @ 8:30 AM. We filled up the registration form and received the ID card to attend the event. After waiting for approx. half an hour, we entered inside the conference hall. A very big hall with big projector screens near the stage, big logo of Microsoft all around, the red colored stage background and very good seating arrangements welcomed us. On our table, we got a notepad and a pencil for making notes during presentation.

We also got a feedback form from the registration desk. We saw the name of speakers for the very first time and also the topics which were to be talked about during the event.
We all took some time to connect our Laptops to Wi-Fi and when all was set, it was time for event to get started. Keynote on Azure was presented by ‘Saurabh Kirtani’. He introduced himself as ‘Technology Evangelist’ at Microsoft and operates from Delhi. I quickly googled and Wikipedia described this role as “A technology evangelist is a person who builds a critical mass of support for a given technology, and then establishes it as a technical standard in a market that is subject to network effects

Saurabh described iaas, pass and saas examples. He also explained ‘Pizza as a service’ analogy to describe these three services in the Azure cloud. Using PPT slides, he explained features of Azure and benefits that many organizations are leveraging. About 57% of top 500 fortune companies are using Microsoft Azure cloud services. Live game streaming is being done on this platform. He also explained how scalable this service is. We got a pass to login to manage.windows.azure.com and explore the various services of Azure. Overall his presentation was amazing. I saw the audience glued to the screens and wondering (just like me), can Azure do so much? He can be connected on twitter @saurabhkirtani

‘Runeet Vashisht’ was the next speaker. He introduce himself as Development lead of Azure in Microsoft. He talked about how virtual machines are configured on Azure, how powerful are the load balancers on Azure platform, Ramp-up and Ramp-down of threads running for a specific App. We practiced with him on our system and configured virtual machine, selected the data center and other features of Azure configuration. So, we saw a full demo of configuring a Web App on Azure including configuring Application server, Database server, number of thread selection, schedulers and other features. He also explained about the Web Role & worker Role concept and how we can publish from Visual studio. We got to know that deployed environments can be swapped as well. So, if a staging environment is up-to date then we can swap it with the production environment and make staging as updated production environment without the downtime. We also learned about scheduling the deployment in different deployment slots. Overall, this session was very informative and we all liked this. He can be connected on twitter @runeetv

We had a tea break for 15 minutes and we joined back for the next session. This session was very interesting as this was on ‘Storage’ feature of Azure. This session was presented by ‘Prabhjot Bakshi’ who works is also indirectly connected with Microsoft. With his unique presentation skills, Prabhjot explained about BLOB, TABLES & QUEUES. A storage can have a maximum of 500 TB of space. He made us think a lot as many concepts were new to us. He showed us how containers feature works in Azure storage. Quickly using a small code snippet in Visual studio, he uploaded an image to the BLOB. So we learned that how data (images, PDFs etc) can be loaded easily and accessed with a direct URL. He also explained about the PAGE BLOB and BLOCK BLOB. He can be connected on twitter @prabhjotbakshi

We had a lunch break of 45 minutes. I have to mention here that Lunch was super. We had a good time eating good food.

Next session was on Data Analytics and IoT in Azure and was taken by ‘Prabhjot Bakshi’. We were all very excited to know that we were going to learn about these topics. Prabhjot started with couple of very interesting examples. One was, how to track number of red cars currently running on road. So, the feature that does Data Analytics in Azure is called ‘Machine learning’. He defined this as ‘Predictive analysis of past data’ and ‘Machines to think like us’. Two programming languages are used for Data Analytics: R Language & Python Language. To be very frank, I heard the name R language for the very first time. Now was the time to see the live demo of Data Analytics inside Azure. By using Splitter feature and web services, data analysis was displayed. Data was displayed in a tabular format. We understood the concept of Data Analytics and knew that we have to do a lot of homework.

Next two sessions were more on Azure Mobile services, the number of programming languages it supports and many more services that are inside Azure. One was taken by Saurabh and other was by Runeet, both from Microsoft. A Microsoft User Group for Chandigarh was announced.

Another tea break, and then we were back for creating our individual solutions on Azure. We completed our solution in given time and got opportunity to present this on stage. Event ended with last presentation and was followed with Dinner.



A great day with a number of learning takeaways.