Saturday, 1 November 2014

Test Automation – when?

Test Automation – when?\


We all know that test automation is the key to quicker, efficient and error free test execution. However, for the question ‘When to automate?’ there is no single line answer. Automation is not always done in all testing projects. Typically, automation option is evaluated considering following factors.
  • Frequent execution cycles  –  This can be due to system being in maintenance phase with frequent releases or  being developed in incremental / iterative or agile way
  • Regression testing scope –  High volume of test cases for regression , Shorter span for regression testing, New data set for every regression cycle
  • Testing volume –  Use of multiple sets of test data and configurations, Repetitive set of actions and multiple validations
  • Ease of automation –  Stabilized functionality , automation friendly test cases and application, automation expertise
Automation need analysis phase is focused on evaluating these factoes to decide whether to automate or not.
ROI calculation is normally done to create a business case for automation project

For more details visit SEED Infotech Wagholi Pune Blog at : http://seedinfotechpune.blogspot.in/

Locate us on Google Map : https://www.google.co.in/maps/place/SEED+Infotech+Pune/@18.580642,73.976231,15z/data=!4m2!3m1!1s0x0:0xc4d19be6006792c9?sa=X&ei=-dFUVMiFFcGLuwT6qIL4BA&ved=0CHwQ_BIwCg

For any enquiry leave your details here for call back : http://seedinfotechwagholi-pune.co.in/enquiry.php

Google+ : https://plus.google.com/+SeedinfotechwagholipuneCoIn412207/posts

Test automation – What is ROI?

Test automation – What is ROI?


You may hear a term ROI (Return on investment) when you are in the initial phase of test automation project. For success of any project, it is important to get the returns or benefits from the investment done in that project. Test automation project is not an exception. ROI calculation is done while creating business case for the automation project.
Simply speaking it a cost – benefit analysis, estimating the one time and recurring costs and projecting the direct and indirect benefits to find out when the investment would start giving return. The one time automation costs include tool cost and costs of efforts required for scripting. Recurring costs would be the tool administration and support costs and automation script maintenance costs. Direct benefits include savings in manual testing efforts. Business benefits include quicker turnaround time for testing and better regression coverage.
So it can be seen that lesser the costs, better and faster will be the returns. Optimal balance between tool cost and automation efforts, higher automation productivity help in reducing the initial costs.  Robust design and sturdy framework reduce script maintenance, thereby lowering the recurring costs.  Higher coverage of automation would reduce manual testing efforts significantly in regression testing providing better savings. Also, ROI would be faster when there are more execution cycles in a given period because saving in each cycle contributes to benefits.

For a test engineer, it is important to focus on higher productivity, better automation coverage and robust design to contribute into the automation benefits for his or customer’s organization.

For more details visit SEED Infotech Wagholi Pune Blog at : http://seedinfotechpune.blogspot.in/

Locate us on Google Map : https://www.google.co.in/maps/place/SEED+Infotech+Pune/@18.580642,73.976231,15z/data=!4m2!3m1!1s0x0:0xc4d19be6006792c9?sa=X&ei=-dFUVMiFFcGLuwT6qIL4BA&ved=0CHwQ_BIwCg

For any enquiry leave your details here for call back : http://seedinfotechwagholi-pune.co.in/enquiry.php

Google+ : https://plus.google.com/+SeedinfotechwagholipuneCoIn412207/posts

BI Testing

BI Testing:



Imagine tasks of a sales head of a big company selling different goods across country. There can be multiple software applications which maintain data about the products, sales numbers, sales schemes, product stock, customers, distributors etc across different regions. In order to effectively plan and implement sales strategies he needs to have thorough insight into this huge chunk of data. He need to view data in different forms like comparative analysis, graphs, charts, summaries, trends  and so on to get the necessary intelligence and take informed decisions.
Data warehousing and Business intelligence solutions (DW-BI) address this need to EXTRACT data from multiple data sources, TRANSFORM it into the required structure and LOAD into the target database for creating different types of reports.
This entire ETL process (Extract, transform, load) and the reports need to be tested thoroughly to ensure that the end users are easily getting right data in right format as and when required,  for effective control on their business processes. This is called Business intelligence testing or BI testing.
First part of BI testing is checking correctness of ETL process.

A data can be extracted from multiple data sources like different RDBMS  or files. In Extract process, it is required to test how the data sources are accessed, which data needs to be extracted, extraction schedule and logic, extraction rules and the temporary storage (staging). Once data is extracted, it needs to be processed as per the business need prior to loading it in target system. Here the testing should be done to check the transformation process outcome  like combination or splitting of data fields, format changes, data unit conversion, selecting records based on particular rules, aggregation of data (summing, counting etc) and so on.  Load phase loads data into a target database, generally a Data warehouse. Testing also needs to be conducted to check the load results.

This data is then presented to different users in the form of different reports using Business Intelligence tools. What needs to be tested in these reports, we will see in next post.


For more details visit SEED Infotech Wagholi Pune Blog at : http://seedinfotechpune.blogspot.in/

Locate us on Google Map : https://www.google.co.in/maps/place/SEED+Infotech+Pune/@18.580642,73.976231,15z/data=!4m2!3m1!1s0x0:0xc4d19be6006792c9?sa=X&ei=-dFUVMiFFcGLuwT6qIL4BA&ved=0CHwQ_BIwCg

For any enquiry leave your details here for call back : http://seedinfotechwagholi-pune.co.in/enquiry.php

Google+ : https://plus.google.com/+SeedinfotechwagholipuneCoIn412207/posts

Reports testing

Reports Testing :




In last post (BI testing – Part 1) we discussed about the ETL process.  In this post, let us discuss more about testing the BI reports.
Report is a consolidated information presented in the user friendly format. Reports enables users to gain insight into the business data, metrics and take decisions based on the intelligence gained from this data.
Typically BI reporting tools have capability to create huge number of reports presenting complex information in multiple user friendly formats. Broadly, reports can be of 2 types – Canned reports are the ones which are predefined and created automatically by the system at scheduled intervals, Ad-hoc or On demand reports are created by users as per their needs. The reports can be static providing the required information in one go or they can be dynamic where user can interactively drill down, filter information or  change data representation etc.
Key elements in report testing are to check the report generation process, data content accuracy, data consolidation and calculations (sums, averages , section wise breaking etc) correctness , formatting and layout of contents, conversion of reports to multiple formats,  interactive features  and usability in terms of ability to quickly derive intelligence from the data.

It is important for tester to have knowledge of SQL, insight into the BI tool’s reporting features and correct understanding of customer expectations in order to effectively test the reporting functionality.
BI testing is a continuously growing and so are the opportunities for the testers in this specialized and niche testing area.

For more details visit SEED Infotech Wagholi Pune Blog at : http://seedinfotechpune.blogspot.in/

Locate us on Google Map : https://www.google.co.in/maps/place/SEED+Infotech+Pune/@18.580642,73.976231,15z/data=!4m2!3m1!1s0x0:0xc4d19be6006792c9?sa=X&ei=-dFUVMiFFcGLuwT6qIL4BA&ved=0CHwQ_BIwCg

For any enquiry leave your details here for call back : http://seedinfotechwagholi-pune.co.in/enquiry.php

Google+ : https://plus.google.com/+SeedinfotechwagholipuneCoIn412207/posts

Cloud Testing and Testing on Cloud

 


SMAC  is the buzzword currently. Having already discussed Mobile testing and Analytics or BI testing, let’s quickly look at testing on CLOUD, the C of SMAC. As we  know, getting computing resources on demand on internet in ‘pay per use’ model is basic concept behind Cloud computing. Computing resources can include infrastructure or platform or software. So how software testing is linked to Cloud computing? There are two parts of here. Testing the cloud based applications and leveraging the Cloud for testing services.
When the software is offered as Service to the enterprises or users, the key considerations are availability, performance and security in addition to the correct and complete functionality.  Hence for these software performance testing, disaster recovery testing, vulnerability assessment & penetration testing ,  inter-operability testing (compatibility) etc. are important parts of the test strategy . Additionally at server side, multi-tenancy (resources are securely shared across different users) testing, data privacy, infrastructure validation etc. are key aspects which are focused on.
Leveraging Cloud for testing services includes using the IaaS (Infrastructure as a service) to set up test environment and using testing tools in SaaS (Software as a Service) model. Servers, databases, devices  etc (eg mobile devices), test management tools and testing  tools like load testing tools are available on demand  by different service providers. Testing teams leverage these to carry out the testing operations. Testing as a service (TaaS) is a business model developed around this concept. This ensures need based, quicker and global availability of infrastructure and tools with reduced capital investments.

For more details visit SEED Infotech Wagholi Pune Blog at : http://seedinfotechpune.blogspot.in/

Locate us on Google Map : https://www.google.co.in/maps/place/SEED+Infotech+Pune/@18.580642,73.976231,15z/data=!4m2!3m1!1s0x0:0xc4d19be6006792c9?sa=X&ei=-dFUVMiFFcGLuwT6qIL4BA&ved=0CHwQ_BIwCg

For any enquiry leave your details here for call back : http://seedinfotechwagholi-pune.co.in/enquiry.php

Google+ : https://plus.google.com/+SeedinfotechwagholipuneCoIn412207/posts

Testing in Agile environment




With increasing trend towards Agile development, it is important to see how the testing activities get impacted in the agile environment.
First let’s quickly understand what is agiledevelopment. The Agile manifesto (http://agilemanifesto.org/) mentions that customer collaboration and response to changes is crucial in agile methodology with focus on individuals, their interactions and delivering working software. In one of the Agile frameworks, SCRUM, the entire development lifecycle for one incremental delivery can be of just 2 to 3 weeks, called as sprint. User stories (What user expects out of the software) for a sprint are understood, detailed out, developed, tested and delivered in each sprint.  Developers and testers work in a cohesive environment with continuous engagement with client teams.
So it is quite clear that the testing in agile is different than testing in conventional waterfall model mainly with reference to the following.
  • Early engagement of testing teams and collaborative approach– Testing teams get involved right from stage of requirements discussions with client. This brings in testing perspective early in the lifecycle and can prevent late detection of defects. However testers also need to have a strong understanding of domain and quick ability to grasp the requirements from discussions as the detailed documentation may or may not be available. Testers also need to work closely with clients to understand the acceptance criteria for the sprint delivery , provide timely inputs to developers for unit testing and be more technologically aware to understand the development cycle effectively.
  •  Quicker testing cycles – Within 2 to 3 weeks of sprint cycle, the testing team may get only 2 to 3 days to test the user stories from sprint backlog. In each sprint, testing teams need to conduct unit testing, smoke testing, testing for user stories, usability testing and regression testing for earlier sprint functionality. For late sprints, other non-functional testing like performance, security becomes crucial in addition to adhoc testing and user acceptance testing.  Even though detailed forma documentation may not be a  focus, completeness of testing needs to be ensured by using enough amount of test data and maintaining proper traceability with user stories. Even testers need to contribute into unit testing by using unit testing platforms specific to the technologies like JUnit etc.
  • Increased focus on regression – With each completing sprint, the regression suite increases but the testing time does not increase considerably. This is quite a challenging situation. Hence automation becomes extremely crucial to ensure quick regression cycles.  Automation needs to address build verification, continuous integrations and frequent regressions on new builds. In most of the cases, it is recommended to use the automation technology which is aligned to the development IDE like Selenium with Java or VSTS coded UI testing framework or HP /IBM tools etc.

For more details visit SEED Infotech Wagholi Pune Blog at : http://seedinfotechpune.blogspot.in/

Locate us on Google Map : https://www.google.co.in/maps/place/SEED+Infotech+Pune/@18.580642,73.976231,15z/data=!4m2!3m1!1s0x0:0xc4d19be6006792c9?sa=X&ei=-dFUVMiFFcGLuwT6qIL4BA&ved=0CHwQ_BIwCg

For any enquiry leave your details here for call back : http://seedinfotechwagholi-pune.co.in/enquiry.php

Google+ : https://plus.google.com/+SeedinfotechwagholipuneCoIn412207/posts

Software Testing


Software Testing :


For a tester, it is extremely important to understand the Software Development lifecycle (SDLC). The most crucial phase of SDLC is Requirements. Business analyst is a key role involved in this phase. Let’s understand this phase and business analyst’s role using a simple example of automation of travel company’s office.
Requirements phase focuses at progressively elaborating requirements. A ‘Business need’ is the first level manifestation of the requirements. Business needs can arise from
  • Existing problems like poor efficiency in handling customer’s travel requests or
  • Business challenges like ability to book tours from all offices across country even if they are at small cities.
  • New business opportunities like supporting medical tourism logistics or
  • Responding to changing business environment like implementing new visa regulations in the tour plan
Business analyst has to understand these needs along with other important aspect of business and organization like company departments, key stakeholders, important processes (example – Hotel booking, train booking, tour planning etc), customer segments(Individuals, companies etc), external agencies (vendors, partners) etc. Business need is then translated into ‘Business requirements’. These are high level requirements about what business wants in order to satisfy its business needs. Example can be ‘ All offices, including offices in small cities should be able to book tours online’, ‘A system should be created to store and access customers data, his travel history and all vendor’s data for quickly creating travel options’ etc.
Once business requirements are formalized, then business analyst needs to further detail out these requirements by having rigorous interactions with all stakeholders like Tour manager, booking agent, sales head, accounts head etc in this case. This is an ‘Elicitation’ phase. Business analyst needs to understand the ‘functional requirements’ – what the software is supped to do. For example – Software should maintain data of all customers, their bookings. It should automatically calculate all the tour prices etc. Next part of requirements is ‘User requirements’ means what each user should be able to do with the software. For example a front desk officer should be able to make entry of a travelers and their travel preferences, Tour manger should be able to create, view and track the detailed itinerary for his tour etc.
Additionally, ‘non-functional requirements’ which denote the behavioral part of the system are also detailed. Example is the performance requirement like response time of the system when a customer searches for the tour options on company’s website.
Another part of requirements is ‘Transition requirements’ which detail out what all needs to be done prior to implementing new system. Example – all the existing customer and tour data needs to be migrated to new system, employee hierarchy for different approvals needs to be created etc.
This requirements elicitation and documentation is done iteratively. Requirements are detailed out by business analyst, and then reviewed and approved by all stakeholders in multiple cycles.
Requirements are documented and arranged in different ways like ‘Use case’ to document user transaction, ‘business process diagrams’ to document different business processes, their sequence, inputs and outputs, ‘Software requirement specifications’ to detail out the expectations from the software which satisfies all the functional and non-functional requirements, ‘interface diagrams’ to denote interactions between different systems or modules.
Business analyst having a strong domain knowledge, requirements elicitation and documentation skills, effective communication skill is the most crucial team member here. These clear, unambiguous, detailed requirements then form the basis of entire software development process.

For more details visit SEED Infotech Wagholi Pune Blog at : http://seedinfotechpune.blogspot.in/

Locate us on Google Map : https://www.google.co.in/maps/place/SEED+Infotech+Pune/@18.580642,73.976231,15z/data=!4m2!3m1!1s0x0:0xc4d19be6006792c9?sa=X&ei=-dFUVMiFFcGLuwT6qIL4BA&ved=0CHwQ_BIwCg

For any enquiry leave your details here for call back : http://seedinfotechwagholi-pune.co.in/enquiry.php

Google+ : https://plus.google.com/+SeedinfotechwagholipuneCoIn412207/posts