Software Testing

What is Client Server Testing

As per client requirement software can be designed and build in desktop application, mobile application and web based application. This article focuses on what is Client Server Testing, application, work and execution and testing approaches used.

Applications are broadly divided into two types during the designing and building for interaction:

2 Tier applications

3 Tier applications

Client server testing usually done for 2 Tier applications which is mostly developed for LAN. This application will be having front-end and back-end in the form of forms, reports and database server.
Forms & reports at front-end for monitoring, manipulations and fetch data [using various languages like vb, vc++, core java, c, c++, power builder etc.,] and database server at the backend for data storage & retrieval [using ms access, sql server, Oracle, sybase, mysql, quadbase etc.]

Client server applications run on two or more machines which can be accessed by limited number of users

In Client Server application there are limited users and the application user are already known before. They might have a username/ password to access the application.

It is menu driven which is in connected mode (connection exists always until logout) Client server testing has less number of network issues when compared to web app

It required knowledge on networking and server location. System is installed on the server and an executable file in run on the systems / client machines in intranet

Client Server side testing test the application GUI on both the systems (server and client), we check the functionality, load, database and the interaction between client and server.

In this testing test cases and test scenarios for this type of testing are derived from the requirements and experience.

Following are the tests performed on client server type application:-

1) User interface testing

2) Manual testing

3) Functionality testing

4) Compatibility testing

5) Configuration testing

6) Interoperability testing

Posted by Kumar in Software Testing, 0 comments

Scope and Purpose of Software Testing

Software testing is a process of evaluation of functional and non-functional requirement against the user specifications. Testing is integral part of quality and most important activity in Software Development Life Cycle (SDLC). Manual and Automation testing is a good way to start career in software testing. Main scope and purpose of software testing is evaluating the quality related aspect of an application and to verify its behavior in different environment of the system.

Software testing scope and job becomes very promising as Digital World progresses from building website to mobile apps to wearable apps and very soon it moves toward Virtual Reality Apps. Objectives and principle of software testing scope

Defining the testing scope and purpose will be essential to keeping team and team work on right track. It always helpful to identify difference between expected and actual result.

Testers need to be very organized, logical, careful, analytical, determinant and patient during testing and building quality product and meeting user specification.

Scope of Software Testing:-

– IT is process of determining all features and functionality

– In Test planning phase

– Clear user specification to understand what need to be tested and not

– Customer satisfaction and recognition

– Build product quality

Scope of the testing can be defined based on:-

1] Understand what features are being tested

2] Where need to be changed

3] Make it clear

Purpose of Software Testing:-

Main purpose of software testing is to increase product and project quality. Testing used to discover and fix the bugs as early as possible. Purpose of testing is:-

– Measure quality of the software

– Discover and fix defect (Reduce number of defects / bugs)

– Verify and validate all user specified requirement

– Identify difference between expected and actual results

– Ensures meeting of Business Requirement Specification (BRS) and Software Requirement Specification (SRS)

– Determine test coverage

Posted by Kumar in Software Testing, 0 comments

13 Ways to Select Best Automation Testing Tool

Selecting best automation testing tool is one of the most challenging job for test manager, test architect and testing team. It takes too much time to evaluate and select relevant automation testing tools which are available in the market. But this is one time exercise to select best automation testing tool as per product and company requirement that will benefit your project and company.

Automation testing tools plays vital role to increase the project productivity, cost, efficiency and decrease the efforts and time.

Before starting to search right / suitable automation software testing tool, following points should be keep in mind in perspective of company and project: –

Do we have enough skilled resources to allocate for automation?

What is budget for selecting tool?

Does the tool satisfy testing needs?

IS it need to buy or can use free (Open source)

Which testing types does it support?

Is available for trial version?

Does it provide capability to manage the testing process?

Does it support testing within the scope of a web browser (internet and intranet)?

Does it provide simple GUI and client server testing and report generation?

Ease of use

Does get support from original vender and concern communities?

Existing customer review

How complex is your application testing requirement?

Available Automation Testing Tool:-

Following are the list of automation testing tools available in the market and used on various platform like Windows, MacOS, Unix, Linux, Web, Mobile, etc. for your ready reference

QTP

QC (Quality Control)

Selenium

Cucumber

Silk Test

IBM Rational Functional Tester

Appium

HP LoadRunner

Apache JMeter

TestComplete

Test Studio

Katalon Studio

Ranorex

Robotium

EggPlant

Posted by Kumar in Software Testing, 0 comments

Automation of Test Execution

Test Automation testing is a testing technique which is used to implement / automate process of a manual testing and entire life cycle of the software in minimum time. Automation of test execution provides efficiency and effectiveness to the testing software and develops software value.

Execution can be performed using the automation tool directly or through the Test Management tool which will invoke the automation tool.

To automate test execution testers need to write a suitable script by own to test software and execute test case suits with the help of tool (It means without any manual involvement)

As per the written script automation software can enter test data into the system under test, compare expected and actual result and generate detailed test report.

Once the test suite automated, no human intervention is required. Also it is possible to record this test suite and replay it when it is required.

Automation of test is used to reduce the number of test cases to be run manually and not eliminate manual testing all together.

Manual Test cases for login: –
Test Case ID Precondition Test  Case Description Test Case Procedure Test Case

Data

Expected Result Actual Result Status Priority
Login001 Internet should be on Open Login Windows From Home Page Click on Login Button      Enter URL Login window should be

open

Login window Open Pass
Login002 User name should be available Check User Field In Login Window Enter User Name User Name =kaps User Name should be accepted and focus should be shifted to password field User Name Accepted Pass
Login003 Password should be available Check Password Field in Login Window Enter Password Password=12345 Password Should Be accepted Password Accepted Pass
ES Login004 Enter valid user name and password Open Logged In User Profile Click on login Button  Click on login button User  Profile Page should be open User Profile Page Opened Pass

 

Above manual test cases can be automate with the help of script. It is done with the help of following process

Choose the appropriate tool for the test automation

Identify areas within software to automate

Write test script

Develop test suite

Execute test script

Build result report

When to automate an application: –
Test suite can be automate based on following scenario of the software

Business critical test cases (High risk)

Requirement do not change frequently

Test cases that are executed repeatedly

Test cases that complicated and difficult to perform manually

Time consuming test cases

When not to automate an application: –

Test cases that are newly designed and not executed manually at least once

Frequently changing requirement

Executed on ad-hoc basis

Benefits of Automation of Test Execution: –

It is faster than manual

Increase productivity

Wider test coverage

Save time and cost

No human intervention is required

Reusable test script

Increase efficiency

Reduce repetitive wok

More cycle of execution can be done when it is required

Early time to market

Posted by Kumar in Software Testing, 0 comments

Types of Bugs affects on Software Quality

“A mistakes or errors in programming by programmer is called as error or mistakes, error or mistakes will found by tester during the testing is called as defect, defect accepted by programmer called as bug and because of bug system fails to do what it should to do (not perform intended functions) is called as failure.”

The failures of software products because of various types bugs which may affect software quality. Here are some of them.

1] Functionality bug-:
Software has functionality error if something that you expect it to do is improper or improper system behavior

2] Communication error-:
The errors occur in communication from software to end-user. It occurs when end used is confused or order to use the software (detailed flow) is not available on screen

3] Missing command-:
Missing command bug found when some expected commands are omitted in the system.

Example-: No option to come back (back button), when user want to visit back or previous page.

4] Syntactic error-:

It refers any error occurs in the code during compile and it is misspelled or grammatically incorrect sentence during GUI testing.

5] Error handling-:

System gives error message while user interacting with system. It needs to be handled with an error message by checking what system needs to be done and what it does not with compulsory field, misfield, page loading etc.

6] Calculations error-:

Calculation errors occur due to following reason:-
1] Coding error
2] Bad logic
3] Incorrect formula
4] Function call issue etc.

7] Control flow error-;

It describes what it will do next and on what condition.

Posted by Kumar in Software Testing, 0 comments

Latest Emerging Trends in Software Testing

Software companies are coping up with more and more overwhelming evolution of automation in industry. Software designing, development and testing fields are running hands in hand. To cope up with this rapid changes / evolution there are some latest emerging trends in software testing to test the designed and developed software.

Each and every one individual wants to build best and quality product as early as possible. Time and quality plays vital role in shifting the landscape of software testing market

Following are the latest emerging trends in software testing-:
1] Featured Open Source Tool:-

Coming era will come to see a lot of open source tools. Support / testing team can help to open source tool to become more and more involve and active.

2] Quality and Performance:-

Building quality and performance always act as a major judging factor to deliver in market for the end user.

3] New Digital Transformation:-

To make digital world, majority organization works for digital transformation to make easy human life. So to optimize focusing functionalities require functional testing to across channel.

4] Higher Automation Level:-

Automation level helps to minimize high pressure and time-to-time change in market requirement testing teams are trying to adopt higher automation wherever possible

5] Continuous Integration and Independent Software:-

With growth in emerging technology like social media and mobility and need for software that can be integrated or independent to multiple platforms, systems are becoming more vulnerable. There will be more demand for testers with exposure to different contexts.

6] Big Data Testing:-

It is used to test huge volume of data. Need to have good strategies around big data testing.

7] Mobile Application Testing:-

Growing and up gradation in mobile technology it is essential to support better communicate and connect with each other or world

8] Cloud Computing Testing:-

Almost one third of software will be hosted on the cloud but business still lack of business infrastructure for cloud computing. For such type of infra industry needs some emerging trends in software testing as testing services

9] Security Testing:-

Need to focus on system robustness and security to handling sensitive data.

10] Agile Testing:-

Making a shift towards quality engineering, testing is intended to become more iterative, progressive, and seamlessly integrated with development.

11] Context Driven Testing:-

Context driven testing to become more popular as it ensures more testing coverage from diverse angles

12] ERP Testing:-

Specialized testing skills and methodologies are crucial for a smooth rollout and upgrade of ERP packages.

Posted by Kumar in Software Testing, 0 comments

Testware in Software Testing

Testware in software testing is a term which is used to describe all of the material used to perform a test. It includes test cases, test plan, test report, input, expected result, documentation, files and procedure and any other items needed to design and perform test. Testware is a subset of software which helps in performing the testing of application.

It is produced by both verification and validation method.

It is produced by software test engineer.

Testware is also called as testing tool.

Testware should be placed under the control of a configuration management system, saved and faithfully maintained. If particular tester leaves the company then someone else can maintain and continue the process. So testware is valuable asset to the company

It has significant value because it can be reused without incurring the cost of redevelopment with each use.

It is required to plan, design, and execute test.

Testware is term given to combination of all utilities and application software that required for testing a software package.

Testware is different from general software’s because of:

1] Developed by testers for a specific purpose only

2] It has different metrics for quality and

3] It has different metrics for different users

Posted by Kumar in Software Testing, 0 comments

Business Requirement Document BRD Template

Business Requirement Document (BRD) is a formal agreement between the organization and customer for product. BRD document makes a clear distinction among the business objective and the technical objective. It gives details the business solution for a project which includes the documentation of customer needs and expectations.

A business requirement document states a high-level business objective of the organization that builds a product or an objective of the customer.

It is a structured document for project requirements which defines what should be delivered to the customer in order to gain value in the project.

BRD contains a both functional and non functional requirement which leads to creation or update product, system or a software if existing modified

It is customer relationship specification so requirement will be in business language that’s why it is also called as customer relationship specification.

Based on collected requirement analyst or responsible person can make control flow / flow chart so that any one from all teams can understand within stipulated time.

BRD indicates only which is the functionality required not how to achieve features and functionality.
Purpose of Business Requirement Document (BRD) -:

It describes business needs and goals, the processes required to meet them, and the key operational and environmental factors that influence what is built and why

Following are the key elements of BRD which covers wide area / requirement / features of product-:

1. Objective of project

2. Business Problem Statement

3. Current Business Process

4. Scope Statement

5. Key Business Objectives

6. Project Completion Criteria

7. Risks & Contingency

8. Assumptions

9. Functional & Non-Functional Requirements

10. Cost and scheduling

11. New/Modified Business Process

12. Training

13. Stakeholder List

14. Quality Measures

15. Checklists (Process and Requirements)

Posted by Kumar in Software Testing, 0 comments

Requirement Traceability Matrix (RTM) Template

Requirement Traceability Matrix (RTM) captures all requirement (documenting, mapping and tracing) proposed by client. RTM template supports the activity of defining and documenting Test Cases, by arranging them out in the form of a table which clearly trace the requirements. This article helps to understand BRD, TRD / FRD, use of RTM in testing, example of RTM and RTM template

RTM maps all Business Requirement Document (BRD) and Technical / Functional Requirement Document (TRD / FRD) and testers start writing test cases on them.

The use of Requirement Traceability Matrix (RTM) in testing are-:
1] To assure 100% test coverage

2] Emphasize document or requirement inconsistencies

3] Display status of business requirement

4] Helps to estimate and analyze reworking on test cases if business requirement or functional requirement changed

5] It is used for manual as well as automation project

6] It is used by QAs and development teams to map business and functional requirement

Let’s understand the Requirement Traceability Matrix (RTM) template with bellow detailed example of Login Process

Project Name -: Login

Project Manager Name -: Mr. Kumar

Project Description -: Verify Login through login page after entering correct login details (Valid user name and password) for successful login

Business Requirement is customer / user can login to the website through customer login page

Business Requirement Project Name Module Name Applicable Role Description
BR1 Login Customer / User Login Customer / User A Customer / User can login using the login page

 Functional / Technical Requirement are customer / user can login to website after entering correct login details (Valid user name and password) for successful login.

Test Case Technical / Functional Requirement Test Case Description Test Case Steps Test Data Expected Result
TC_1 TR1 / FR1 Verify login 1] Go to login page
2] Enter valid user id
3] Enter valid password
4] Click on login
User id = Kumar, Password = Kumar.123 Login successful

Requirement Traceability Matrix (RTM) integrate all Business Requirement and Functional / Technical Requirement in spreadsheet as template to identify coverage gap.

RTM helps to identify missed requirements.

Business Requirement Business Requirement Test Case
BR1 TR1 / FR1 TC_1

Above RTM template indicates that 100% coverage of login process

Posted by Kumar in Software Testing, 0 comments

Requirement Traceability Matrix (RTM) in Software Testing

Requirement Traceability Matrix (RTM) is a process documenting, mapping and tracing all the requirements to the user specified requirement. RTM in manual software testing capture complete user and system requirements proposed by client. It is used with high level requirement and detailed requirement of product, design, test plan, test cases.

This article focus on Requirement Traceability Matrix (RTM), Requirement Tracing, Test Matrix, RTM Template, Parameters included in RTM and types of RTM

It is a tool which makes sure that project requirement remains same throughout the software development process.

The use of RTM in software engineering development process is as-:
– To determine whether running / developed project meets user requirements

– Verify all requirement

RTM is a document that map and trace user specified requirement with designed test cases.

It is process of documenting the links between the requirements and work product developed to implement and verify those requirements against the client requirement.

Requirement Tracing helps to understand which part of the development process implements the user requirement and which tests are necessary to verify that user requirement.

Test Matrix is simply a spreadsheet that supports the activity of defining and documenting Test Cases, by arranging them out in the form of a table which clearly trace the requirements.

Test matrix used to understand the project progress and project status using following traceability test matrix types.

I] Forward Traceability

II] Backward or reverse traceability

III] Bi-directional traceability ( Forward+Backward)

All RTM parameters are lying in a table called as RTM template.

Following are the parameters included in Requirement Traceability Matrix (RTM) in Software Testing-:

1] Requirement ID

2] Risk

3] Requirement Type

4] Requirement Description

5] Trace to User Requirement

6] Trace to Design Requirement

7] Unit Test Cases

8] Integration Test Cases

9] System Test Cases

10] User Acceptance Test Cases

11] Trace to Test Script

Posted by Kumar in Software Testing, 0 comments