Dec 12, 2014

Content Delivery Network - CDN


Apr 11, 2014

SDLC - Software Development Life Cycle

The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process.
SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to plan, design, develop, maintain specific software product. The life cycle defines a methodology for improving the quality of software and the overall development process.
The following figure is a graphical representation of the various stages of SDLC.

Stage 1: Planning and Requirement Analysis

It is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational, and technical areas.
Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the planning stage. The outcome of the technical feasibility study is to define the various technical approaches that can be followed to implement the project successfully with minimum risks.

Stage 2: Defining Requirements

Once the requirement analysis is done the next step is to clearly define and document the product requirements and get them approved from the customer or the business analysts. This is done through SRS(Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle.

Stage 3: Designing the product architecture

SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS(Design Document Specification).
This DDS is reviewed by all the stakeholders and based on various parameters as risk assessment, product robustness, design modularity , budget and time constraints , the best design approach is selected for the product.
A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS.

Stage 4: Building or Developing the Product

In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle.
Developers have to follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers etc are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java, and PHP are used for coding. The programming language is chosen with respect to the type of software being developed.

Stage 5: Testing the Product

This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However this stage refers to the testing only stage of the product where products defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.

Stage 6: Deployment and Maintenance

Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometime product deployment happens in stages as per the organizations business strategy. The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing).
Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base.

Apr 3, 2014

XPATH and CSS, which one is suitable to use...

Lot of discussions happen over the topic. But this what I think.. Correct me if something is missed here :)


CSS
XPATH
CSS is more readable. and faster
Xpath is complex to read.
Css is more faster
Xpath is less faster than css
Generally good against Internet Explorer browser for finding the elements
Xpath bevomes slow and sometimes unresponsive with IE.
Getting dynamic loading of elements becomes complex.
Since Xpath has contains, start-with and ends-with functions, xpath works best for dynamically loading of elements.
Maintainace is easy for css
Maintainace becomes difficult with xpath being the complex structure.
Id is defined using "#"
Id is defined using "[@id='xx']"

Mar 28, 2014

Automation Framework Development - Various Stages

Stages

Activities and Steps

Output/Results

Application Study
    • Study application
    • Initiate Knowledge Transfer sessions
    • Review  existing Testcases
    • Analyze Test processes / environment
- High level understanding
- Know supported browsers,
 Test environment, test processes
Feasibility Analysis
    • Automation feasibility
    •   Prototyping
- Feasibility checklist
- Automation model
Scope
    • Identify scenarios to be automated
    • Estimation
- Features in scope of automation
- High level estimates
Test Planning
    • Schedule planning
    • Resource planning
    • Training needs assessment
    • Hardware needs assessment
- Automation Test Plan
- Team setup
- Training plan
Test Design
    • Define standards to be followed
    • Framework Design
    • Define Test cases, populate test data
- Coding standards
- Framework libraries identified
- Format of configuration, UI/Data map files identified
Test Development
    • Framework Development
    • Test Script Development
- Framework libraries
- Framework functions
- Page Objects
- Test scripts
Test Execution
    • Execution strategy
    • Script execution and analysis
    • Results reporting
- Formatted test results
- Test summary reports
Maintainance
    • Update test scripts
    • Add new test scripts
- Updated test scripts
- Updated function libraries

Mar 12, 2014

Testing GetWeather webservice using Nunit and .Net

We need .NET framework (Visual Studio 20XX) to carry out web services testing using NUnit. We would need to create new Project/Solution in Visual Studio from File > New > Project (as shown in below fig)

Select ClassLibrary Project and provide some name and click on Ok. (Class library is a library of classes, interfaces, and value types that provide access to system functionality.)
Once the project is created, add the NUnit dlls (nunit.core.dll and nunit.framework.dll) to integrate NUnit with .NET. Right click on References and click Add Reference.

Once the dlls are added, provide attributes [TestFixture] to Class and [Test] to method(s).

NUnit will understand from these attributes that the class is TestClass and the method is TestMethod which we are going to Test.

After this add a web-reference for WSDL by right clicking in references and select "Web Reference". and provide the WSDL URL. In this case : http://www.webservicex.net/globalweather.asmx?WSDL.

After the nunit reference and web service reference are being added, create a class and paste below code in class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using WebserviceX.GlobalWeatherWebService;


namespace WebserviceX
{
    [TestFixture]
    public class CurrencyConvert
    {
        private GlobalWeather gw=new GlobalWeather();
        public String city;
        public String country;

        [Test]
        public void TestGlobalWeather()
        {
            String weather = gw.GetWeather("Hyderabad Airport", "India");
            Console.WriteLine("weather : " + weather);
            Assert.IsNotNull(weather,"Null Response");
        }
    }
}
 Now build the solution file. After the build is successful you can see .dll file is created under bin/debug folder of your parent solution directory.

To test :
1. Open Nunit 
2. Load the .dll file which was generated after building the solution. From File > Open
3. Select the method and click on Run.

Using this you can get weather for any city in world. :)