QA & TESTING
We believe that Software Product must SOLVE problem(s).
Functional Testing
Proper functional testing ensures your software does exactly what it is designed / made to do – making it essential to a quality user experience. Functional testing plays significant role in this digital world such as,
Simulating actual software usage to find out potential problems / issues before they impact actual / live users
Detecting defects early in the software lifecycle to minimize rework, improve quality and reduce overall testing & development costs
Ensuring that new features / enhancements do not impact existing software
Software functionality must be verified in scope of,
Unit Testing / Module Testing - At this stage we check whether functions of the separate modules operate properly
Integration Testing - At this stage we verify whether the functions involving interaction of the different modules work as intended, stated in its specification
System Testing - At this stage, our team carefully examines functionalities of whole software as intended, stated in its specification.
So, this way, Functional Testing comprises of
Unit Testing
Integration Testing
System Testing
User Acceptance Testing (UAT).
Regression Testing
Regression Testing must be an integral part of every software development process. Regression Testing is performed after –
Correction of the reported defects / bugs
Adding new features / functionalities in software.
In Regression Testing, we choose test cases –
that often fail
that are complex
verifying frequently used functions & main functions
verifying functions affected by the recent changes in the code
checking boundary values
checking integration issues, etc.
Regression Testing should be automated (if possible), as it contains many tests which need to be repeated in every testing session, nowadays there are many tools available for this - paid as well as open source.
User Interface & Usability Testing
User interface testing is a process of verifying whether the software user interface complies with the requirements, and whether it is easy & convenient for the end-users to work / interact with the software. This testing type may be performed manually and by means of various automated testing tools.
It is carried out in 2 phases –
Usability Testing performed by qualified test engineers - where domain experts perform certain tasks as end-user and find out how easy / convenient software is to use / interact with.
Usability Testing performed by end-users - where end-users perform certain tasks, test engineers watch the user's behavior, problems that they face while performing tasks, way of thinking, time to understand user interface, facial expressions, etc. Different recording instruments are usually used during this session to record what is going on screen, voice of user, user facial expression, etc. These recordings are used to find out software usability defects.
Installation Testing
Installation Testing verifies software's proper installation and further operating. And is executed at end when software is almost ready to go LIVE. There are different types of installation like,
Attended Installation where user must accept the end-user license agreement, select where to install the application, enter the password or activation, etc.
Unattended Installation where no user interaction is required, all needed parameters may be taken from the answer file present in build
Headless Installation where installation of software happens over network from one machine to another
Automated Installation where installation runs when certain predefined conditions satisfy or occur.
Important aspects that should be considered during Installation Testing –
Space - whether the installer checks required free space on selected installation location
Memory - how much memory is used by software, whether it’s in specified limits
Behavior of installer in non-compliance states
Negative Testing
Uninstallation - what all things should happen & what all things are happening.
Load & Performance Testing
Performance issues are not always because of hardware. A proper analysis on performance issues can reveal the real bottlenecks which may be in software / network / hardware, and thus can produce an optimized solution which can be combination of software, network and hardware solutions. Performance Testing comprises of –
Load Testing - Here, we verify whether software operate properly at different load levels, what problems happen during functioning under different loads, etc. It defines the normal performance ability.
Stress Testing - In stress testing, with the increase in load, some unfavorable conditions, factors and the environment also adds to degrade performance of a software. Thus, a software should be able to perform effectively and efficiently under these circumstances. It identifies boundaries.
Volume Testing - Software applications are often subjected to large volume of data for certain process or operation. It is required that the software performance should not be hindered while being flooded with the considerable amount of data.
Soak / Reliability Testing - Sustaining a load continuously for a longer period and simultaneously maintaining the performance level imparts the endurance and stability quality of a software product. It is used to verify endurance level and system behavior under constant use.
Scalability Testing - To meet and accommodate the growing needs of constantly increasing users, a software needs to be scalable to ensure hassle free functioning. It provides option to boost performance beyond specifications.
Security Testing
Our security testing practice checks for known vulnerabilities and conducts penetration testing to help you discover and fix known security issues. Software Security Testing should be integral part of software development process, and Network, Servers & Infrastructure Security Testing should be part of project role out strategy.
Security Testing with right tools, right knowledge & capabilities is what we bring as a value proposition to our clients. Our comprehensive security testing solution for application layer, network layer, server layers and database layer helps in securing software from all levels of vulnerabilities and make it hack proof. Our Security Testing approach ensures compliance to Standards, Best Practices and Regulatory Requirements such as
Open Web Application Security Project (OWASP) Top 10
The Web Application Security Consortium (WASC)
Payment Card Industry – Data Security Standards (PCI-DSS)
International Standard Organization (ISO) 27001:2005
Health Insurance Portability and Accountability Act (HIPPA)
Sarbanes-Oxley Act (SOX) / Central Bank Regulations
Family Educational Rights and Privacy Act (FERPA)
Data Protection Act and many more…
Following is list of our primary focus for security testing:
A1 - Injection
A2 - Broken authentication and session management
A3 - Cross-site scripting
A4 - Insecure direct object reference
A5 - Security misconfiguration
A6 - Sensitive data exposure
A7 - Missing function level access control
A8 - Cross-site request forgery
A9 - Using components with known vulnerabilities: Heartbleed and Shellshock in action
A10 - Invalidated redirects and forwards
Mobile App Testing
Mobility has introduced new levels of complexity to QA and Test management that most companies are not prepared for – different technology platforms, different OS’s, different devices - with different specifications like screen size, RAM, CPU, etc., numerous use cases, different network connections and carriers. Mobile, Web & Hybrid apps need to be tested across several permutations and combinations. All in more compressed cycles than ever before.
We bring proven & tested approach for this real-world problem - which covers full spectrum of Mobile Testing needs as follow, and how mobile app is behaving in different scenarios / situations,
Functional Testing - Validation of functionalities, Regression Testing, Offline Access Testing, Negative Testing
Non-Functional Testing - Network Strength / Outage / Recovery, Peripheral Testing, Different Network Types
Interrupt - SMS / Voice Interrupt, Battery / Cable Removal, Notifications
Memory - Memory Usage, Leaks & Garbage Collection, Review of cache & data storage mechanism
App Performance - CPU Usage, Network Usage, Page / Screen / Activity Render Time
Usability Testing - User Experience, How easy & convenient
Security Testing - OWASP Vulnerabilities, Static Code Analysis, etc.
Localization Testing - Different languages, currencies, time-zones, images & text
Installation, Uninstallation & Updates Testing
Game Testing
Game Testing is a process of verifying quality of game. Game testing is very critical because of different platforms, age groups, different genres, different ways of interaction with users, video / sound effects / etc. Game Testing comprises of -
Functional Testing
Cross-Platform Testing
Localization Testing
Load Testing
E-Governance Testing
E-Governance Testing is critical because of volume of data, volume of users, different compliances and data security. It comprises of -
Functional Testing
Load & Performance Testing
Security Testing
Usability Testing
Localization Testing
Cross-browser Testing (if applicable)
Cross-platform Testing (if applicable)
API Testing
In today's world of Service Oriented Architecture (SOA), it is very crucial that your APIs should work as expected for functionality, reliability, performance and security. Our API testing service will make sure this - whether its APIs / Web Services / Micro Services.
Cross-browser Testing
Cross-browser Testing should be an integral part of any web application testing. Nowadays there are so many platforms like Windows, Mac, Linux, Android, iOS - on each platform there are many browsers like Firefox, Chrome, Safari, IE, Opera, Opera Mini, UC Browser, Dolphin, Maxthon, Mercury Browser, Nokia Xpress, etc., each browser has many versions. Elements of web application behave differently on each browser, even on different versions of same browser, differently on each platform - so many combinations need to check to complete Cross-browser Testing. Here, we check HTML / CSS code in each browser, different dynamic operations done by JavaScript, alignments, fonts, layouts in different resolutions, etc. There are few server side checks, which we should test, how web application behaves when interacted from different browsers.
Cross-platform Testing
Cross-platform Testing is necessary when software is designed / made to work on different platforms. Cross-platform Testing comprises of -
Functional Testing on each platform
GUI / Usability Testing on each platform
Performance Testing on each platform
Security Testing on each platform
Installation Testing on each platform
Localization Testing on each platform (if applicable).
Localization / Globalization Testing
Localization Testing verifies whether the software is properly translated, and adjusted to local languages and cultures. Localization Testing should be included in software testing process when software is made for more than one language, there should not be wrong translation / absent text / unreadable or meaningless text / characters. Here, we check software user interface and content / text of each language.
SEO Testing
Here, we verify both whether website is search engine friendly as well as search engine optimized.In report, we give 2 things -
Detailed analysis of current state of the website
Recommendation for improving current state.
Due to frequent changes in search engines algorithms, we recommend conducting SEO Testing twice in a year to make sure website maintain good position in different search engines, attract more visitors & convert them into customers.
Increased frequencies of online software updates / release cycles of newer software application make “Regression Testing Automation” a must to get it done in minimum time & cost. We have developed a tested & proven approach to test automation that leverages best practices in Agile Testing, Continuous Integration and Test-Driven Development to accelerate your QA / Testing processes and reduce cycle time. Automation testing services consists of:
Assessment of automation needs
Tool Selection
Creating Framework
Automated test script creation & execution
Creation of regression test suites with flexible execution options
Training & handover of test pack for future need & maintenance.
Below are few benefits of Test Automation:
Reduced Regression Testing Cost & Time
Faster Time to market
Better quality testing - no human errors
Better resource utilization - QA team can focus more on release specific functional testing, instead of repeating same testing
Multi-platform testing - Test across different Operating Systems, Devices, and Browsers to ensure smooth operation for all end users
It is recommended to automate the tests that will run many times in course of the project; if tests are to be performed only once then it is not recommended to automate them.
INDUSTRIES SERVED
We work across all industry sectors, with specializations in
Technology that goes into web development
Performance Testing Tools
Apache JMeter
HP LoadRunner
AppLoader
SmartMeter.io
LoadComplete
BlazeMeter
Bug Reporting Tools
Atlassian JIRA
Bugzilla
Mantis
Backlog
BugNET
TFS
Automation Testing Tools
Appium
Selenium
Cucumber
UI Automator
Programming Languages
Java
C/C++
Python
SQL
XML
HTML/CSS