Basic information for Ready API (SoapUI): API Testing

API-Testing_The-Accountability-of-Testers-or-Developers

What is SoapUI?

SoapUI is an open-source web service testing application for service-oriented architectures (SOA) and representational state transfers (REST). Its functionality covers web service inspection, invoking, development, simulation and mocking, functional testing, load and compliance testing.

Basic kick off with SoapUI:

Once you get SoapUI installed, it will have the dashboard as shown below:

RA10

To add sample test, we need to select between SOAP or REST:

RA1

We will select URL as we want to test REST API. Once URL is selected, we need to provide the URL we need to test. For example I am using StackOverflow public API to get the users:

RA2

Once we click on Next, it will create one new project and in that project it will create a TestSuite where all your test will reside:

RA3

Once we run the test, it will show green or Red color whether the test is passed or failed:

RA4

If the test is passed, it will show the response in JSON which we have got with REST GET request:

RA5

Now as it is mentioned in very first image, if we perform some security tests then it will ask about the things we need to add in security test as shown below:

RA7

Once we click on Finish, it will show the result as below:

RA8

We can get detailed report as well:

RA9

I created one sample Web API on my machine which returns 2 values and I published the API project. When I gave localhost URL in ReadyAPI, It created one new project in ReadyApi and it gave the result as shown below:

RA11

So if the API would be installed on IIS then also APIs can be tested using Ready Api.

As it works with GET, it can work with POST\PUT\DELETE as well:

RA12

Virtual service:

SoapUI provides a feature called Virt in which we can create a virtual service, so if testers want to mock the service without calling the actual REST API, it is possible with SoapUI. We need to create a new Virt as below:

RA15

This Virt can behave as GET\POST etc as per your need and Once the Virt is created, we can even host that Virt on localhost by applying some settings.

To conclude this, if we want to test the scenario of a user account creation, we will create one project and in that there would be a test suite named “Test account creation” and in that suite we can add different test cases as shown below:

RA14

Try it out.

 

Infosys interview questions for experienced .Net developers

dot-net-interview-questions-for-experienced

Below are some of the most important questions which were asked during Infosys interview recently.

  • Tell me about yourself

This is the best place where you can showcase yourself. Tell as much as you can about yourself which should highlight all your achievements but that too in very short words. Do not stretch it for so long that interviewer gets bored.

  • Explain the architecture of your current project

https://softwareengineering.stackexchange.com/questions/92509/how-do-you-answer-explain-current-architecture-of-your-project-question-in-int

  • Write a program to swap 2 numbers, if you will be able to achieve it using the third variable then he would ask it to di it without using the third variable

http://www.sanfoundry.com/csharp-programs-generate-swap/

http://www.c-sharpcorner.com/blogs/swap-two-numbers-without-using-third-variable-in-c-sharp1

  • Tell everything about OOPS

In this, you should tell everything you know about OOPS, each and every concept which you know

  • How to achieve load balancing in SQL Server

http://searchsqlserver.techtarget.com/tip/Top-load-balancing-methods-for-SQL-Server

  • Tell me about the SDLC methods you have used

You can explain each and everything about Agile here

  • Different methods for passing data from controller to view in MVC

http://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/various-ways-to-pass-data-from-controller-to-view-in-mvc/

  • Explain different state management techniques in .Net

You can explain all state management techniques of Web forms and also explain the same for MVC

https://www.codeproject.com/Articles/492397/State-Management-in-ASP-NET-Introduction

http://dotnet-helpers.com/mvc/state-management-in-asp-net-mvc/

  • If you reset IIS then will it reset all application data?
  • How to know, how many times an object is initiated?

By using a static counter in the constructor. Explain by writing code

  • Explain the life cycle of .Net

https://www.tutorialspoint.com/asp.net/asp.net_life_cycle.htm

  • Explain the life cycle of MVC

https://www.tutorialspoint.com/asp.net_mvc/asp.net_mvc_life_cycle.htm

  • Explain all the joins in SQL

http://www.sql-join.com/

  • Explain about Clustered and Non clustered indexes in SQL

https://docs.microsoft.com/en-us/sql/relational-databases/indexes/clustered-and-nonclustered-indexes-described

  • Difference between function overloading and function overriding

https://stackoverflow.com/questions/11912022/differentiate-between-function-overloading-and-function-overriding

  • What are Telerik controls, and why do we require them?

https://stackoverflow.com/questions/18981214/why-should-i-use-telerik-radcontrols-over-visual-studio-built-in-controls

  • What is Ajax and write a sample code of Ajax call in Javascript or jQuery

https://www.w3schools.com/jquery/ajax_ajax.asp

  • Difference between stored procedure and functions

http://www.dotnettricks.com/learn/sqlserver/difference-between-stored-procedure-and-function-in-sql-server

  • How jQuery is better than Javascript?

https://blog.udemy.com/jquery-vs-javascript/

I will be adding new questions if I get to know it from somone, meanwhile you may also add them in below comments.

 

 

Query string in .Net core and MVC 6

download

As you all know that from MVC6 we are seeing some changes in our regular coding techniques.

We were using below lines in MVC5 for getting values from query string:

var myQueryString = Request.QueryString[“myQueryString”]

But in MVC6, above lines will throw errors in your code.

So, you might be wondering how can we achieve this in MVC6.

Below is the way:

We can use Request.Query which is new in ASPNET 5 and MVC6.

var myQueryString = Request.Query;

For example, you have an URL like:

http://www.myWebsite.com/Home/Index?myQueryString1=abc&myQueryString2=xyz

So to get all keys we will write below code:

var myQueryString = Request.Query;

Here myQueryString.keys contains all the keys which are there in your query string.

Now to take those keys out one by one, we will write below code:

foreach(var key in myQueryString.Keys)
{
   //// Do the operations as per your need with the key
}

That is it. You can easily get your values from the Query string in MVC6 and .Net core.

Visual studio 2015 exception: Connected to the…. but could not verify the server’s certificate. If you trust the server, connect again and allow untrusted certificates

Since last some days, I have observed that some people are seeing some errors while publishing the MVC6 project from Visual Studio 2015 so, I decided to write a post with the solution.

So generally people get below error while publishing:

ERROR_CERTIFICATE_VALIDATION_FAILED

Connected to the remote computer (“XXXXXXXXX”) using the specified process (“Web Management Service”), but could not verify the server’s certificate. If you trust the server, connect again and allow untrusted certificates.

To solve this, we need some option to allow untrusted certificates in publishing settings.

Solution:

Currently, there are not any options available to allow untrusted certificates so we need to do some tweaks which are as below:

  • Please search for Publish profile file within  /Properties/PublishProfiles folders and open it
  • set AllowUntrustedCertificate to True (<AllowUntrustedCertificate>True</AllowUntrustedCertificate>) inside the <PropertyGroup> element
  • Add below lines in the same file if tags are not available

<UseMsDeployExe>true</UseMsDeployExe>
<UserName>myuser</UserName>
<Password>mypass</Password>

That is it. It should not throw the exception now.

Hope it helps.