Sunday, February 5, 2017

What is Benchmark? and What criterion they follow...

A benchmark is a metric or a point of reference against which products/services can be compared to assess the quality of the product/service. (i.e. a set standard that helps to determine the quality of the product or service.)
In software industry, you could benchmark a software product or service to assess its quality.
Benchmark Testing is not a term related to just software testing, but it also deals with Hardware Testing and considered as one of the most important tasks

What is Benchmark Testing?
Benchmark testing is a part of the software development life cycle that involves both developers and database administrators (DBAs) to determine current performance and make changes to improve the performances of the same.
The coding should be done very efficiently along with fine tuning the databases so that user can experience the performance improvements.

Why Benchmark Testing is important
  1. At business level, benchmark testing can be helpful in determining
  2. How well a web-based application is performing with respect to the competitors
  3. How different types of customers experience the response time and availability of a site
  4. It enables to evaluate third- party service providers prior to making a contracting decision
  5. Allows to figure out the mistakes to be avoided
Things to consider while Benchmark Testing
  1. Consistency and control
  2. Understand the system architecture to design test criteria and test data
  3. Examine initial static data and update according to number of users
  4. Check for 'Reset' functionality wherever required and define per second transaction rate
  5. Split the system elements according to is functionalities
  6. Every system has different architecture and design, which needs to be taken into consideration while performing Benchmark Testing
The Components that are Benchmarked
There are various components in a software that need to be benchmarked to realize the performance changes. These are few of them: -
- SQL Queries: - SQL is used to communicate with a database. According to ANSI (American National Standards Institute), it is the standard language for relational database management systems. SQL statements are used to perform tasks such as update data on a database, or retrieve data from a database.
- SQL Indexes: - SQL - Indexes. Indexes are special lookup tables that the database search engine can use to speed up data retrieval. Simply put, an index is a pointer to data in a table. An index in a database is very similar to an index in the back of a book.
- SQL Procedures: - In a database management system (DBMS), a stored procedure is a set of Structured Query Language (SQL) statements with an assigned name that's storedin the database in compiled form so that it can be shared by a number of programs.
- SQL Triggers: - PL/SQL - Triggers. Triggers are stored programs, which are automatically executed or fired when some events occur. Triggers are, in fact, written to be executed in response to any of the following events: A database manipulation (DML) statement (DELETE, INSERT, or UPDATE).
- Hardware Configurations: - Hardware configuration references the details and system resource settings allotted for a specific device. Many computer specialists improve hardwareperformance by adjusting configurations, which may also include settings for the motherboard and the BIOS, as well as the bus speeds.
- Application Code
- Networks
- Firewalls: - A firewall is a network security system that monitors and controls the incoming and outgoing network traffic based on predetermined security rules. A firewall typically establishes a barrier between a trusted, secure internal network and another outside network, such as the Internet, that is assumed not to be secure or trusted.

How to Perform Benchmark Testing?
  • Benchmark Testing Should be performed on the same environmental parameters under same conditions so that we can compare the results.
  • Characteristics of Benchmark include:
  • The Tests should be repeatable
  • Each time, the tests should be executed under the same environmental conditions.
  • There should not be any other applications in active state other than the ones that are required for testing purposes.
  • The Software and Hardware components should be in-line with the specifications of the production environment.
I hope this helps. Hope to see u again i my next post.

No comments: