Monday, June 30, 2014

Microsoft Services openings

Are you ready to take BIG challenges and passion about Microsoft Technologies? Microsoft Services Global Delivery is looking for software professionals in following disciplines..

Architect/Development/Testing/PMO
CRM/SharePoint/AX/BI/Azure


Thursday, May 29, 2014

Selenium WebDriver test in C#

I was trying simple C# test by using Selenium. It is very simple to use and noticed that few changes. You should have NUnit, Visual Studio 2013 and Selenium DLLs. You can go through the links, which are available at the end of post.

Bing Search - Selenium Test - C# Code

using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Support; using OpenQA.Selenium.IE; using NUnit.Framework; namespace BingSearch { [TestClass] public class SearchTests { public static IWebDriver WebDriver; [TestInitialize] public void setupAppTest() { try { System.Console.WriteLine("Test setup started..."); InternetExplorerOptions ieOptions = new InternetExplorerOptions(); ieOptions.IntroduceInstabilityByIgnoringProtectedModeSettings = true; ieOptions.IgnoreZoomLevel = true; WebDriver = new InternetExplorerDriver(ieOptions); } catch (Exception ex) { System.Console.WriteLine("Exception Occured in Init @ " + ex.Source); } } [TestMethod] public void testBingSearch() { //Navigate to the site WebDriver.Navigate().GoToUrl("http://www.bing.com"); // Get Search text field info IWebElement query = WebDriver.FindElement(By.Name("q")); // Enter Search String query.SendKeys("Selenium"); // Submit the form query.Submit(); // Sleep for 5 seconds System.Threading.Thread.Sleep(5000); //Get all the links from result page System.Collections.ObjectModel.ReadOnlyCollection links = WebDriver.FindElements(By.TagName("a")); //Print all the links foreach (IWebElement link in links) { System.Console.WriteLine(link.GetAttribute("href")); } //Assert the title text Assert.AreEqual("Selenium - Bing", WebDriver.Title); } [TestCleanup] public void testCleanup() { // Cleanup activites WebDriver.Quit(); WebDriver.Dispose(); System.Console.WriteLine("Test cleanedup & completed successfully.."); } } }


Below links might be useful to make setup to execute the Selenium tests.
How To - Setup C#, NUnit, Selenium
Capturning Screenshots

Wednesday, May 28, 2014

Top 5 Requirements for test automation tool

Recently there is an interesting discussion about top five requirements. Expectations are varied in group and few interesting thoughts...

Priorities for Advanced automation tool

  1. Robust Hybrid (Keyword driven+ Data Driven, etc) framework - None of the tool vendors are giving the libraries for Keyword driven Framework
  2. Language and OS independent - Should support multiple languages or libraries developed from multiple languages. Also tests should able to run in different type of OS. If I look test automation for past 15 years, tools are started to support multiple languages in last 6 years.
  3. Multi-browser and Multi-device support. For Mobile & Table support, tool should be lightweight app. Should use less storage for installation and less memory for execution.
  4. Ability to hook/hack custom object through programming or libraries
  5. Support for Continuous Integration tools - Automatically Should be able to deploy the build and then initiate the test suites and sent the report through email or SMS or any other devices.


To see few more experts answers - Discussion - What are the top five requirements for a test automation tool?

Tuesday, May 27, 2014

Share photos from XBOX play

Kinect Sports, Kinect Adventures, and Kinect JoyRide Games have functionality to upload pictures taken during game play. The pictures load to KinectShare.com. In the games there is a Remember and Share style section, where you can look at the pictures that were taken. From there you can select which items you would like to upload.

The pictures on KinectShare are only accessible from your Microsoft (Hotmail/Live/Outlook) login and are only stored for 14 days. They can be shared to Facebook or other social network site from there. They can also be removed from KinectShare.com (such as, as soon as you get the Achievement....)


Change your privacy settings to allow Kinect Sharing

  1. On your console, sign in using your Xbox LIVE gamertag.
  2. Go to Settings, then select Privacy
  3. Select Change Settings
  4. Select Customize
  5. Select Kinect Sharing.
  6. Select Allowed or Blocked. Allowed: You can upload and share photos and videos using websites and services such as KinectShare.com, Blocked: Photos and videos cannot be uploaded and shared on photo-sharing websites and services.
  7. Press B on your controller
  8. Select Save and Exit.


Steps to Upload photos

  1. Enable Internet connection through Wi-fi in XBOX Console
  2. Get the Pictures from games
  3. Go to the photos menu and choose which photos/statues you want to upload
  4. Uploaded to www.kinectshare.co
  5. Go to kinectshare.com, Login and you can see your photos
  6. You can download the pictures and share it


Thursday, April 24, 2014

Cloud Computing and Windows Azure Platform

I was going through couple of URLs in last week and liked the way, example was given by Arun.


What is Cloud Computing?


To start with let’s understand what exactly “Cloud computing” is?


Cloud computing is providing computing resources (Software, Platform and Infrastructure) as a service over the network. Cloud computing users can use the services provided by the Cloud Computing service provider without taking the trouble of planning, procuring, building, configuring and maintaining the infrastructure. Cloud is a metaphor used for Internet.



To take a real world example, it’s more like if you need to travel from one city to another you don’t buy a train. You just buy a ticket and “pay as you use”. And train service provider will take care of maintaining trains and rail-treks and manpower. Similarly cloud computing is using computing resources managed by provider and “pay as per usage”. The service provider will take care of infrastructure management and user needs to pay only for services used.

To know more about the cloud basics, go through Arun's blog
One more article by Arun --> Windows Azure - Step by Step guide for Designing, Developing , Deploying and Administrating a Windows Azure Applications

Wednesday, April 16, 2014

Windows Phone 8.1 Update Developer Preview

Microsoft has done many updates in Windows phone 8.1 version. Right now it is available only for windows phone developers.

To know more about the updates, check following links.

Windows Phone 8.1 Developer Preview with Cortana
Windows Phone 8.1 developer preview released; here's how to get it first

Monday, December 30, 2013

Robot Framework Test Automation Book

Found a book for Robot framework and eagerly read through all the pages. It covers majority of the features of Robot Framework.

Book Title: Robot Framework Test Automation
Author: Sumit Bisht
ISBN: 9781783283033
Book Page @ Packtpub


Robot framework is an advanced test automation framework. Primarily it is tool independent and OS independent. This book is very helpful for the novice.

Sumit has explained debugging methods, parametrized re-usable tests and Results reporting with different options in better way. Must read for the professionals to get to know major capabilities of Robot Framework.

Sunday, December 1, 2013

Code Coverage in Testing

Primarily code coverage is used for unit testing and many test teams are practicising code coverage for test execution. Visual Studio team have been doing many improvements on code coverage area. Code coverage is available for Unit tests in prior version. In Visual Studio 2012 Update 3, Code coverage can be measured for manual and automated tests. Also there are few integrations with MTM (Microsoft Test Manager) tool.

Advantages of Code Coverage on Testing
  • Increase the confidence level on Quality
  • Measure the code coverage through tests
  • Help to improve testing to cover un-touched code
  • Additional test cases to increase code coverage


Limitations of Code Coverage on Testing
  • Unable to find incomplete or dead code
  • Not a proof whether code is written against specifications

You need to add your application DLLs into codecoverage.config file which is available at "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Dynamic Code Coverage Tools". Then use following commands in Administrator mode to get the coverage data. After stopping the code coverage, you can open the coverage results file in Visual Studio and expand the DLLs to method level.

Useful Commands
 
Path==> C:\Program Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Dynamic Code Coverage Tools Command to run codecoverage tool ==> CodeCoverage.exe collect /IIS /session:WebSession /output:MyApp_20131009.coverage Command to stop codecoverage tool ==> CodeCoverage.exe shutdown /session:WebSession
Different attributes and options are available in code coverage tool. YOu can check your environment. CodeCoverage Help command
 
Usage: CodeCoverage Available Commands: Collect coverage data to the given coverage file. Usage: collect [options] [command line] Options: /config: [optional] Override default configuration with configuration file specified. /IIS [optional] Collect code coverage for web applications running under Internet Information Service (IIS). IIS Worker process (w3wp.exe) will be registered for collection and all the application pools will be restarted. /output: [required] The file to output coverage data to. /session: [optional] The name for the session. If a session name is not provided, a unique session name will be used /verbose [optional] Turn on printing of diagnostic information during runtime. Example: CodeCoverage collect /IIS /session:WebSession /output:MyWebApp.coverage Shut down a logger with a given session name. Usage: shutdown [options] Options: /session: [required] The name of the session to shut down Example: CodeCoverage shutdown /session:WebSession Analyze data from one or more coverage files and output XML. Usage: analyze [options] [file2 [...]] Options: /include_skipped_functions [optional] Includes skipped functions in the results. /include_skipped_modules [optional] Includes skipped modules in the results /output: [optional] The file to output the analyzed coverage data to The default is to use standard output /test: [optional] The test identifier string to limit the coverage data to. This option can be specified multiple times to merge coverage data for different tests together Example: CodeCoverage analyze /include_skipped_functions /include_skipped_modules /output:results.xml MyWebApp.coverage

Sunday, September 22, 2013

Cloud Comparison

Today Cloud techniques are growing more and more. Comparing the vendors is much complex for different aspects of cloud. You need to look at pricing, technology, efficiency etc. Thoran Rodrigues did a comparison with many parameters and it goes like below:
  • Cost reductions / optimizations
    • Variety of Pricing Plans –The more variety offered (hourly, monthly, etc.) the better a provider is considered.
    • Average Monthly Price - Estimated cost in US$ for an instance as described above. When available, hourly pricing was used, based on 730-hour months. Otherwise, monthly pricing was used.
    • Cost of Outbound Data Transfer – The cost, in US$, for each GB of outbound data sent from the server. Companies that offer a per second (Mbps) connection for free have costs listed as zero.
    • Cost of Inbound Data Transfer – Same as above, but for inbound data.
  • Scalability and Automation
    • Scale Up – If it’s possible to scale up your servers automatically, by adding more disk space, RAM or processing units.
    • Scale Out – If it’s possible to quickly and easily deploy new images based on existing VMs.
    • APIs – If the company offers APIs to interact with the servers or not.
    • Monitoring – A 3-level subjective scale measuring the easy availability of monitoring tools:
      • Poor – Companies that have no monitoring/alert solutions integrated, requiring the deployment of third-party tools or that extra services be purchased
      • Average – Companies with very simple integrated monitoring tools (few indicators or no alerting)
      • Extensive – Companies with very complete integrated monitoring tools offered for no additional cost
  • Choice and Flexibility
    • Number of Data Center Locations – The number of different data center locations where cloud servers can be hosted.
    • Number of Instance Types – The number of different available instance types, in terms of RAM, CPU, disks and so on.
    • Supported Operating Systems – The number of different supported operating systems (regardless of version) available as pre-configured images.
  • User Concerns
    • Security Features
      • Certifications – If the vendor has compliance- and security-related certifications, such as PCI or SAS 70.
      • Protection – If the vendor offers the possibility of protecting servers with firewalls and other security functionality. A 3-level subjective scale:
        • Poor – Companies that only offer the most basic security features (such as a basic firewall), or no features at all
        • Average – Companies that offer a more advanced mix of security features.
        • Extensive – Companies that offer not only several security features, but also some security automation.
    • Ease of Migration
      • Open Standards – If the vendor employs or supports open standards in cloud infrastructure.
      • VM Upload – If the vendor supports uploading your own machine images (made locally) to the cloud
    ... To Read More - Top cloud IaaS providers compared - By Thoran Rodrigues

    Sunday, May 19, 2013

    Cloud Computing

    Today many companies are providing cloud computing related services. Cloud computing has many different types and different features altogether.

    What is Cloud Computing
    Cloud computing is the use of computing resources (hardware and software) which are available in a remote location and accessible over a network (typically the Internet). Users are able to buy these computing resources (including storage and computing power) as a utility, on demand. The name comes from the common use of a cloud-shaped symbol as an abstraction for the complex infrastructure it contains in system diagrams. Cloud computing entrusts remote services with a user's data, software and computation. [ Source: Wikipedia - Cloud Computing ]


    Advantages of Cloud Computing
    • Low initial Cost-No need to spend so much on setting up hardware and software. Also you can get world-class service in less cost.
    • Accessibility-Applications would be available on internet and can access from anywhere and any time.
    • Utilization-Charges are based on utilization of hardware, software and time.
    • Focus On Demand-Customer can focus on the business, instead of managing hardware and software
    • Quick Revenue-Customer can scale up or down their services based on business demand. Plus the deployment stuff should be simplified
    • Risk Reduction of Data Center-Currently many players are having global data centers for cloud computing. Customer can manage the data and application well on disaster events
    • Best Practices & Advanced Technologies-Users can leverage vendors' advanced technologies and best practices on security, authentication etc.

    Also refer Wiki Answers & Cloud Weeks

    Limitations of Cloud Computing
    • Less control on data-How the organization's data is managed and secured? It would be maintained by cloud vendors.
    • Long run-Charges are made based on the time and usage. How much a company has to spend, If an enterprise application is hosted for 15-20 years and serving for millions of users.


    Top 10 cloud computing companies
    • Microsoft
    • Amazon
    • IBM
    • Google
    • Salesforce
    • CSC
    • Rackspace
    • BlueLock
    • Joyent
    • Verizon

    [ Source: Cloudcomputing-companies.org ]