September 3, 2015
Some misconceptions about agile testing
December 31, 2013
What & How to test a Database – The Basics
– When user ‘Save’ any new transaction, ‘Create’ operation is performed.R: Retrieve – When user ‘Search’ or ‘View’ any saved transaction, ‘Retrieve’ operation is performed.
D: Delete – when user ‘Remove’ any record from the system, ‘Delete’ operation is performed.
What we need to test in database testing:
Ensure data mapping
Ensure the ACID Properties of Transactions
‘Consistency’, ‘Isolation’ and
‘Durability’. Proper testing of these four properties must be done during the
DB testing activity. This area demands more rigorous, thorough and keen testing
when the database is distributed. Ensure Data Integrity
Ensure Accuracy of implemented Business Rules:
How to Test Database:
Create own Queries
Observe data table by table
Get query from developer/DB Specialist
December 10, 2012
Penetration Testing: Some basic things that we need to perform
Now a day we are very concern about the security of our systems.
So, we need to perform Penetration Testing for our systems. Penetration testing is also
known as Pen Test. Penetration testing is the process to identify security
vulnerabilities in an application by evaluating the system or network with
various malicious techniques. Purpose of this test is to secure important data
from outsiders like hackers who can have unauthorized access to system. Once
vulnerability is identified it is used to exploit system in order to gain
access to sensitive information.- Check if web application is able to identify spam attacks on contact forms used in the website.
- Proxy server – Check if network traffic is monitored by proxy appliances. Proxy server makes it difficult for hackers to get internal details of the network thus protecting the system from external attacks.
- Spam email filters – Verify if incoming and outgoing email traffic is filtered and unsolicited emails are blocked. Many email clients come with in-build spam filters which needs to be configured as per your needs. These configuration rules can be applied on email headers, subject or body.
- Firewall – Make sure entire network or computers are protected with Firewall. Firewall can be a software or hardware to block unauthorized access to system. Firewall can prevent sending data outside the network without your permission.
- Try to exploit all servers, desktop systems, printers and network devices.
- Verify that all usernames and passwords are encrypted and transferred over secured connection like https.
- Verify information stored in website cookies. It should not be in readable format.
- Verify previously found vulnerabilities to check if the fix is working.
- Verify if there is no open port in network.
- Verify all telephone devices.
- Verify WIFI network security.
- Verify all HTTP methods. PUT and Delete methods should not be enabled on web server.
- Password should be at least 8 characters long containing at least one number and one special character.
- Username should not be like “admin” or “administrator”.
- Application login page should be locked upon few unsuccessful login attempts.
- Error messages should be generic and should not mention specific error details like “Invalid username” or “Invalid password”.
- Verify if special characters, html tags and scripts are handled properly as an input value.
- Internal system details should not be revealed in any of the error or alert messages.
- Custom error messages should be displayed to end user in case of web page crash.
- Verify use of registry entries. Sensitive information should not be kept in registry.
- All files must be scanned before uploading to server.
- Sensitive data should not be passed in urls while communicating with different internal modules of the web application.
- There should not be any hard coded username or password in the system.
- Verify all input fields with long input string with and without spaces.
- Verify if reset password functionality is secure.
- Verify application for SQL Injection.
- Verify application for Cross Site Scripting.
- Important input validations should be done at server side instead of JavaScript checks at client side.
- Critical resources in the system should be available to authorized persons and services only.
- All access logs should be maintained with proper access permissions.
- Verify user session ends upon log off.
- Verify that directory browsing is disabled on server.
- Verify that all applications and database versions are up to date.
- Verify url manipulation to check if web application is not showing any unwanted information.
- Verify memory leak and buffer overflow.
- Verify if incoming network traffic is scanned to find Trojan attacks.
- Verify if system is safe from Brute Force Attacks – a trial and error method to find sensitive information like passwords.
- Verify if system or network is secured from DoS (denial-of-service) attacks. Hacker can target network or single computer with continuous requests due to which resources on target system gets overloaded resulting in denial of service for legit requests.
February 1, 2011
Way of Measuring Software Testing
·Size of Software: Software size means the amount of functionality of an application. The complete project estimation for testing depends on determining the size of the software. Many methods are available to compute the size software.
Widely used methods are:
o Function Point Analysis
o Use Case Estimation Methodology
· Requirement review: Software Requirement Specifications (SRS) should be obtained from the client before starting measurement of software testing process. This SRS should be:
o Complete: A complete requirements specification must precisely define all the real world situations that will be encountered and the capability's responses to them. It must not include situations that will not be encountered or unnecessary capability features.
o Consistent: A consistent specification is one where there is no conflict between individual requirement statements that define the behavior of essential capabilities and specified behavioral properties and constraints do not have an adverse impact on that behavior.
o Correct: For a requirements specification to be correct it must accurately and precisely identify the individual conditions and limitations of all situations that the desired capability will encounter and it must also define the capability's proper response to those situations.
o Structured: Related requirements should be grouped together and the document should be logically structured.
o Ranked: Requirement document should be ranked by the importance of the requirement.
o Testable: In order for a requirement specification to be testable it must be stated in such manners that pass/fail or quantitative assessment criteria can be derived from the specification itself and/or referenced information.
o Traceable: Each requirement stated within the SRS document must be uniquely identified to achieve trace ability. Uniqueness is facilitated by the use of a consistent and logical scheme for assigning identification to each specification statement within the requirements document.
o Unambiguous: A statement of a requirement is unambiguous if it can only be interpreted one way. This perhaps, is the most difficult attribute to achieve using natural language. The use of weak phrases or poor sentence structure will open the specification statement to misunderstandings.
o Validate: To validate a requirements specification all the project participants, managers, engineers and customer representatives, must be able to understand, analyze and accept or approve it.
o Verification: Requirements specification requires review and analysis by technical and operational experts in the domain addressed by the requirements. In order to be verifiable requirement specifications at one Practical Measurements for Software Testing level of abstraction must be consistent with those at another level of abstraction. Review efficiency can then be computed.
Review efficiency is a metric that provides an insight on quality of review and testing conducted.
Review efficiency = 100 * Total number of defects found by reviews / Total number of project defects
High values indicate an effective review process is implemented and defects are detected as soon as they are introduced.
· Effectiveness of testing requirements: Measuring the effectiveness of testing requirements involves;
o Specification of requirements & maintenance of Requirement Trace-ability Matrix (RTM): Specification of requirements must include;
· SRS Objective
· SRS Purpose
· Interfaces
· Functional Capabilities
· Performance Levels
· Data Structures/Elements Safety
· Reliability
· Security/Privacy
· Quality
· Constraints & limitations
Once the requirements have been specified and reviewed the next step is to update the RTM. The RTM is an extremely important document. In its simplest form, it provides a way to determine if all requirements are tested. However, the RTM can do much more. For example,
In this example, the RTM is used as a test planning tool to help determine how many tests are required, what types of tests are required, whether tests can be automated or manual, and if any existing tests can be re-used. Using the RTM in this way helps ensure that the resulting tests are most effective.
o Measuring the mapping of test cases to requirements: While we map the test cases to corresponding requirements, we must first determine the following:
· Number of requirements it tests
· Priority of requirement it tests
· Effort for its execution versus coverage of requirements
Here, the number of requirements it tests and the priority of the requirements can be obtained from the Software requirement specifications (SRS). We should see that every requirement has a set of test cases mapped to it.

