Saturday 1 November 2014

Test it easy!!



Test it easy!!



Are you new to software testing? Have you got a bunch of requirements to test for a business application? Not able to find where to start and how to ensure complete testing? Don’t worry, take it easy. Here are some tips for you.
Firstly, if you are totally new to the application domain, it’s better to get some basic insight by understanding some crucial terminologies, concepts and key workflows from its business area. It is also important to know the purpose of the application and the business challenges the application is addressing.
Then start reading the requirements documents, whatever form it may be like Use cases, System requirements specification (SRS), functional requirements specification (FRS) etc. While you read the document, ask some questions to yourself and create a big picture of the application in your mind or scribble it on a piece of paper.

  • What is the core purpose of this application?
  • How many different types of users are going to use this application and how? You may create a matrix showing a relationship between user roles, user transactions and respective authority levels.
  • What are the business rules and business logic driving the application outcome?
  • Which data entities are critical and how these entities are managed, accessed and modified in different transactions?
  • Are there any scheduled jobs or backend processes which process the data or execute some transactions?
  • What are different reports or other outputs generated by the application? It is important to understand the content and formats of the same.
  • What kind of interfaces and dependencies the application has with other applications?
Once you get clear picture about the application functionality, it’s a time to create test scenarios by putting down all the high level functions and features of the application under testing scope. This ensures that the entire scope of testing is covered in the test scenarios.
Then for each scenario, identify different conditions to test including positive, negative and boundary cases. For each test condition, identify possible data input variations to be made.  Post it create a detailed test case for each test condition.
This approach would help you in drilling down from high level application features to lowest level of test case granularity.
Let’s take an example.  Have a look at the following diagram that is created after understanding the requirements document for an online examination engine.




Every lowest level item in above diagram is a test scenario. The dependencies will need to be tested in integration test scenarios. Each scenario is then broken up further as below to identify test condition and test data.



This method would allow you to identify every single test condition and ensure coverage in a systematic manner.


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


Wordpress - http://seedinfotechpune.wordpress.com  

To be or not be a tester?

To be or not be a tester?




Being a test engineer satisfies most of your aspirations, similar to any other field you choose.  Let’s see what we can get against what we expect from a job?
We all are always keen to exploit our skills fully and get many more challenges and opportunities to enhance and sharpen our skill sets.  Software testing provides you all these options as the skills it demands are too diverse.
Your excellent analytical and diverse thinking skills would be tested while identifying numerous test conditions to detect all possible defects in the application. Preparing an optimal and effective regression suite based on thorough impact analysis leverages not only your logical thinking ability but forces you to use holistic thinking approach also. Your ‘techno-savvy’ attitude will help you in having command on wide range of test management and other latest testing tools.  Your urge to write efficient code with a robust design gets addressed in test automation track.  Having an architectural perspective and technology orientation is a key requirement for a performance and security tester. If you are a person with effective communication and managerial skills, then be assured that these potentials will be fully leveraged as you grow up in your testing career.
Similar to any other career in IT, software testing also provides you a wide range of opportunities to get a job, get compatible salary package and grow in your career. You can choose to take a managerial track to become test lead, test manager, delivery manager by enhancing your skills in the area of test artifacts review, technical team leading, estimation, technical proposal preparation and project management (managing cost, schedule, quality, scope, risks, resources and communication). You may also choose to grow your career as test consultant, test architect by focusing in any of the specialized testing areas like test solutioning, performance testing, security testing, test automation, mobile testing, cloud testing,  DW-BI (Data warehousing, Business intelligence) testing, ERP testing, embedded systems testing and so on.
Testing field also provides you an ability to diversify your career if you wish to. If you consistently work on different IT applications from a same domain, you can put yourself in a Business analyst career track as testers have end to end perspective of customer expectations and the software solution. ERP testing experience can also help you becoming functional experts in respective areas.
To sum it up, software testing is a field that leverages and enhances all you skills, potentials, satisfies your aspirations and provides you an excellent career growth opportunities.
So ‘to be or not be a tester’ is not really a questions. Let’s go and grab the opportunity.



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



Divide and Rule using ECP

Divide and Rule using ECP





Many a times we ask novice tester about applying Equivalence Class Partitioning  (ECP) technique, they mention it as ‘entering test data from valid class and invalid class’ or ‘dividing input range in multiple classes’ etc.
This explanation is not wrong but in many case, we do not get to understand the real meaning of ‘Equivalence Class’ with reference to testing.
So let’s first understand the equivalence class concept from mathematics.
Imagine that ‘S’ is a set of entities, say books.  Now we define a relationship for this set members as ‘has same author as’. Means, any 2 books ‘a’ and ‘b’ satisfy this relationship only if ‘a’ has same author as ‘b’.  Third book ‘c’ which has different author  than ‘a’ does not satisfy this relationship. Thus all entities from this set are divided in distinct classes, Class A- Author A, Class B – Author B etc.  There is no overlap between these classes. Such a relationship which divides a set in mutually exclusive classes is called equivalence relationship. The classes formed due to this relationship are called as equivalence classes. In this example, if the equivalence relation is ‘has same publisher as’ the number of classes created would be same as number of publishers applicable to this set .
Now interestingly, any member of the set is part of one and only one equivalence class with respect to the defined equivalence relationship. And union of all classes makes the original set.
How does it translate to us as testers?
In black box testing, we test the application by providing input and checking corresponding output. Input to the application can be anything, almost an infinite set of input values. But if we define an equivalence relation as ‘has the similar application behavior as’, then this set gets divided into distinct equivalence classes  which contain the values for which the application behavior is similar.
Consider example below where an application accepts exam marks and displays the grade for the student.




Set ‘X’ is almost infinite but after applying the equivalence relations, at the end we get four equivalence classes from an original set ‘X’ .  Any element of any of these classes would have same behavior defined by the equivalence relationship. Hence, all elements from one class are equivalent.  If we take one element from each class, we are actually ensuring that entire set is covered as union of these classes completes the entire input domain.
So during testing, we need to have test data which satisfies these equivalence relationships to simulate the application behavior. If this behavior is in line with the equivalence relationship then it indicates that the application works fine for all the classes and hence for entire input domain.
Also, as all values from any one class are equivalent, it is sufficient to take any one value from each of the equivalence class to check the application behavior .
So by using this ECP method, we get two advantages

  • We are sure that we have covered entire input domain
  • We have reduced test conditions from infinite to a manageable level without compromising the test coverage.
This is an extremely important concept as the test coverage and extent of testing is defined by the applicable equivalence classes.
So, divide the input domain in equivalent classes based on the equivalence relationship and start testing.


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



Remove defects from the defect

Remove defects from the defect



For a tester, finding a defect in application is very crucial task. Because it’s not only one of the most important deliverables in testing life cycle but it also reflects tester’s performance and expertise to a large extent.  Making this defect acceptable to developers is the further step which confirms tester’s ability to understand functionality and user expectation. Nil or minimal defect leakage at end user’s end builds confidence of customer in the testing process effectiveness.
However, there are many factors that impact this entire process adversely and it leads to
  • Endless communication between developer and tester to confirm defect occurrence
  • Defect rejection from developer
  • Cancellation of defect due to non-reproducible behavior
  • Duplication of defects
  • No detection of other defects introduced during earlier defect fixing
  • Repetition of the similar types of defects detected at customer end
How to avoid all these situations is the crucial challenge for every tester. Let us look at some important aspects of the defect management process to take care of these issues.
The idea is to remove defects from the defect and the defect management process.
What causes defects in defect management process?
 Typically, the defect management process would involve following activities. Test case failure analysis
  • Defect logging
  • Defect verification
  • Regression testing
There is a possibility of a “Defect” in any of these activities.
Let’s take an example.
  • You are testing a school management system and one of the modules is related to displaying student’s marks.  Along with subject wise mark list, the screen also displays the minimum and maximum marks obtained by the student in that particular exam.
  • During testing for one of the test cases, you find that the application is not showing minimum marks fields correctly. You log a defect “Application not showing correct value for minimum marks”.
  • Developer makes it “not a defect” showing that at his end he could see that data is displayed correctly. You again check at your end and tell developer that for student XYZ, you got this error.
  • Developer rechecks the issue and fixes the defect.
  • You validate closure of this defect in next cycle checking with data corresponding to other student which you created in cycle 2 and close the defect.
  • After application goes live, customer finds a defect that application is not showing minimum and maximum values correctly.
So what went wrong here? You tested, logged a defect, got is corrected and still customer finds the issues in the application.
Here are different reasons what could have gone wrong.
  • You logged a defect with only one instance of testing and with one set of test data.
  • You did not analyze what was the difference between the student record that developer used for the first time (claiming “Not a defect”) and student XYZ
  • You validated defect with different set of test data
  • You missed checking “Maximum marks” field during regression testing
Here are some ways how we can avoid such errors
Follow structured test case failure analysis
  • Explicitly understand what is working and what exactly is failing
  • Recheck failure in multiple other possible ways like
    • Alternate path for functionality flow
    • More test data with different combinations
    • Other set up or configuration
    • Pin point the exact failure and then convert it into the defect
    • Recheck the dependent functionality to assess impact of failure
Eliminate issues in defect logging
  • Enter precise and concise defect description
  • Include steps to reproduce defects
  • Add test case number for reference
  • Add snapshots wherever useful
  • Mention requirement which you are testing
  • Mention test data used to test
  • Mention if any specific setting is done for application or test environment when defect occurred
  • See if the defect is duplication of earlier defect detected in the same cycle before adding new
  • Mention severity based on its impact on application functionality and testing schedule
Ensure complete defect verification
  • Check for the defect closure by repeating the same steps you mentioned in defect description
  • Use same set up and same test data used in defect situation for verification as well
  • Check if the same defect is not occurring  by varying other parameters, test data or set up
Conduct sufficient regression testing
  • Using requirement traceability matrix or from developer inputs, identify the areas that could have been impacted by code changes during defect fixing
  • Check for the functionality that is dependent or linked to the defect
Summary
A little care in avoiding defects in defect management process adds benefits to the testing in terms of
  • Increased defect acceptance rate
  • Reduction in turn around time for defects
  • Smooth communication with developer community
  • Increased productivity of testing
  • Less leakage of defects to customer
  • Improved confidence of an organization with testing teams

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

SQL knowledge – an essential atrribute for a tester

SQL knowledge – an essential atrribute for a tester



Couple of days back, one of the job aspirants was asking me if he really needs to learn SQL when he is planning to work as black box tester.  This triggered me to elaborate the need of SQL knowledge for the testers.
The extreme important part of the testing is use of right set of test data for different business scenarios and for varied business logics. From a database containing thousand of records, selecting a particular record exactly matching your test data requirement is a tedious task. The application ‘Search’ option may or may not support you to search the record based on your parameters. Only option is to use SQL ‘Select’ query to choose the test data matching your requirement. Example could be checking ‘Billing’ scenario for a Telecom company. You test case checks the discount calculation for a customer who has started a new discount plan in mid of the billing cycle. To search for such a customer from database, SQL is the best option.
Manual creation of large chunk of test data or refreshing test environment database for every new execution cycle or for sanitizing (to mask or change the sensitive information) the test data copied from production environment,  testers need knowledge of database structure and SQL queries.
Testing of user reports is another important aspect where the content of the report need to be validated against the database. Knowledge of SQL enables the tester to check the report content correctness.
Data migration testing is entirely driven by use of SQL queries to select and compare the data from source database and target database. Along with SQL, it also requires knowledge of database table structure to check the data mapping and conversion rules.
BI testing or ETL testing is another specialized testing area, which demands extensive knowledge of database and SQL to check the ETL transactions and analytics reports.
So being a tester, one really cannot escape from using SQL. Hence it’s better to learn SQL before you start working as tester.

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

Go Mobile while you test!

Go Mobile while you test!




Technology is changing everyday and we testers need to keep pace with it. The latest is Mobile testing which is wide spread, complex and interesting too. Since more and more people are relying on their mobile devices to work on tasks, professional and personal; it is highly imperative that they function well, without any glitches, give the correct output and are extremely user friendly.
As far as testing is concerned, the strategies are different depending on what you check – a native app or a mobile web. Native apps, developed specific to the platform like iOS, Android etc, need to be downloaded from apps store, installed once and upgraded as per requirement. Mobile web are websites that are optimized to be accessed on mobile handsets, created once and rendered in OS specific browsers, taking care of low bandwidth and smaller screen size.
Functional testing is always important and same is true for mobile applications as well. Apart core functional workflows, the menu access and navigation across features using app menu as well as mobile keys is important aspect to test. App interface with mobile features like sms, making calls, camera, cards GPS etc adds to functional complexity.
Additionally, what matters additionally is the user interface and usability testing considering a very short session time user typically has with the mobile app. UI testing with mobile devices is complex because there are thousands of types of devices with different OS versions, browsers, orientations (portrait or landscape), screen sizes resolutions and multiple user input methods. Compatibility across all these is extremely important and essential. The non functional testing like security and performance play an important role considering the data transfer over carrier networks, limited memory, battery dependency etc.
Testing needs to focus on right selection of strategy in terms of distribution of testing coverage across emulators, real devices, remote devices etc, choosing optimal mix of manual testing and automated tool.
In order to understand and work on mobile testing, it is very important to make one self aware of mobile computing concepts, terminologies and platforms,  testing lifecycle activities, testing tools and tool specific technology (JAVA preferred with huge growth of android!!).

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

Security testing – Hacking ethically!!

Security testing – Hacking ethically!!



According to multiple projection reports, cyber security is going to be one of the fastest growing sector in next 3 to 5 years globally. In Indian context, one of the recent articles in leading Indian financial newspaper mentioned a need of  500,000 cyber security professionals in India as compared to a few hundred available currently.  The recent attack on Adobe network (http://blogs.adobe.com/conversations/2013/10/important-customer-security-announcement.html) is one of the many examples of the security threats the cyber world is witnessing. Security attacks can create huge impact on business and other organizations in terms of exposing confidential and sensitive data, financial loss, halting operations, regulatory non-compliance and so on.
Then what kind of role a tester has to play in this situation? Security testing is the answer.
Functional security is addressed during functional testing of the software by validating authentication and authorization features of the software by checking the role based access permissions. But security is far more than this.
Specialized security testing also called as ‘Vulnerability assessment and penetration testing’ (VSPT) focuses on identifying any flaws or gaps impacting confidentiality and integrity of the application data and services. The objective is to ensure that software is secure against known vulnerabilities.
OWASP (Open Web Application Security Project)  https://www.owasp.org periodically produces an awareness document containing the top 10 most critical web application security risks or vulnerabilities. The current report (2013) shows Injection, Broken authentication and session management, cross site scripting as the top 3 security risks.  Security tester needs to have thorough knowledge about these vulnerabilities and methods to exploit them.  Security testing is done using hundreds of open source and commercial tools like Nessus, Paros, WebScarab, HP WebInspect,  IBM Appscan etc, which scan the applications, servers and networks for the vulnerabilities and create attacks to exploit these vulnerabilities.
For a security testers, it is extremely important to have a knowledge about vulnerabilities ,  command on most of the tools in addition to the thorough knowledge of web architecture and data exchange protocols.
This is also termed as ethical hacking as the testers simulate hackers behavior but with an good intention to assess the security risks which can in turn be fixed by developer community.  EC Council’s (https://www.eccouncil.org  ) CEH (Certified Ethical Hacker)  or LPT (Licensed Penetration tester) are some of the key certifications  which can be enablers for a security tester.

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 – 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