The V-Model framework is a structured testing approach that can be used with any project management or system development methodology. It is an extension of the waterfall methodology.
The framework emphasises quality from the initial requirements stage through to the final acceptance testing stage. It focuses on testing throughout the development life-cycle, early development of test requirements, and early detection of errors. Each major deliverable in the development process is assessed, verified, validated and tested.
The deliverables required for each stage need to be verified and validated to ensure that they are complete and correct. Work proceeds to the next stage in the V-Model when all project deliverables in a stage have met including all verification and validation requirements. The process of verification and validation is an attempt to catch as many errors as possible within the development life cycle. Each successive stage of testing ensures that the specifications defined in the deliverable of the corresponding stage have been implemented. This is achieved by the early development of test requirements.
The four main process phases include requirements analysis, specification, system (including module) and architecture design and implementation. Each phase has a corresponding verification and validation testing phase. Implementation of modules is tested by unit testing, system design is tested by integration testing, system specifications are tested by system testing and finally acceptance testing verifies the requirements. The V-model gets its name from the timing of the phases.
Minimisation of Project Risks: The V-Model improves project transparency and project control by specifying standardized approaches and describing the corresponding results and responsible roles. It permits an early recognition of planning deviations and risks and improves process management, thus reducing the project risk.
Improvement and Guarantee of Quality: As a standardised process model, the V-Model ensures that the results to be provided are complete and have the desired quality. Defined interim results can be checked at an early stage. Uniform product contents will improve readability, clarity and verifiability.
Testing Metrics Management: A major advantage of applying the V-Model is the structured approach and clear distinction between test phases. This distinction creates the ability to clearly define testing metrics and measurements for each test stage, phase or overall lifecycle. Metrics management also highlights continuous improvement opportunities to management on optimisation of current testing practice, quality gate and risk management.
TestLogistics is a premier supplier of Testing Logistics Solutions (including Test Environment Management, Test Data Management, Harnessing and Test Lab Operations), Technical Testing Solutions (i.e. Performance Testing, Infrastructure, Security, SOA & Test Automation) & Senior Test Consulting Strategy.
TestLogistics provide top tier organisations with a range of services which enable significant improvements in quality, delivery and overall value.
Friday, October 28, 2011
TPI, a tactical application
Ever since reading the Test Process Improvement book by Martin Pol and Tim Koomen, I’ve found it to be one of the more useful tools of my trade primarily because of its foundations in reality. I once had the opportunity to meet Martin Pol at a conference and baled him up for as long as I could with the express goal of understanding where TPI came from. I’d like to take this opportunity to both apologise and thank Martin for his patience and understanding!
Since then I’ve spent a considerable amount of time reflecting on the various aspects of what TPI gives us and have used it as a tool on numerous occasions to frame solutions to various testing problems I’ve encountered across the testing spectrum. I think it’s now become such an integral part of how I approach test management and test design that I don’t even realise I’m using it.
The changes introduced by TPI Next refine the Key Areas further and, in my opinion, bring an even more realistic perspective on the test process although the concept of moment of involvement still stands true. The reason for saying this is:
1. being involved early can help determine stakeholder commitment as risks identified can influence the stakeholders.
2. the degree of involvement, partially determined by the stakeholder commitment, can be influenced.
What I have found is that the depth of stakeholder commitment can be very much determined by what level of pain has or is being experienced. Whilst this may sound cynical my experiences find this to be somewhat true.
A case in point is a recent performance testing project I worked on where the first attempt at implementation failed in one of those blaze of media coverage ways. The first iteration of implementation had not addressed performance testing in any significant way. The very public and highly publicised failure had significantly increased the stakeholders commitment to performance testing. Could being involved earlier have changed the stakeholder commitment?
On the flip side of this a fixed price project we did some years ago which made me very nervous due to the dependency we had on the developers, to this day is probably the most profitable project I’ve done. We were involved right from the early design stage and had significant input into the design process from a static testing perspective. This allowed us to develop a testing solution that significantly reduced the test effort for each code iteration. Ultimately, the project was finished 3 months early and encountered no post implementation issues.
So, rather than looking at the test process from a macro perspective, I utilise the key areas of TPI to provide a simple SWOT state of the overall project and, from that determine what needs to be done to firstly, achieve delivery and secondly, develop a basis for ongoing improvement. Fundamentally, irrespective of the stakeholder commitment the moment of involvement is the defining event in terms of what is possible to be achieved. The commitment of the stakeholder then determines what can actually be achieved.
At its most basic level time is the biggest asset a testing delivery person can have. When I refer to time it is not in the context of being able to do more testing but is from the perspective of being able to implement a better testing solution. This is especially true in the case of performance testing where execution windows are very limited and preparation times typically lengthy.
A high stakeholder commitment, for example, late in the delivery timeline will not significantly increase the range of testing outcomes that can be achieved.
A common counter argument to early testing engagement is the cost of bearing a testing capability throughout the early stages of the project. This moment of involvement does not necessarily mean a full time commitment to the project but engagement at critical times such as:
Project initiation;
Project costing;
Requirements analysis/walk throughs; and
Specification walk throughs.
About the author:
Elliot Ashton is a Principal Consultant with TestLogistics Pty Ltd based in Sydney, Australia. With nearly 20 years experience in most areas of testing Elliot has been involved with some of the biggest and most complex deliveries across various industries. Most recently he has worked in the performance testing space. He is also an occasional speaker at various groups.
Since then I’ve spent a considerable amount of time reflecting on the various aspects of what TPI gives us and have used it as a tool on numerous occasions to frame solutions to various testing problems I’ve encountered across the testing spectrum. I think it’s now become such an integral part of how I approach test management and test design that I don’t even realise I’m using it.
The changes introduced by TPI Next refine the Key Areas further and, in my opinion, bring an even more realistic perspective on the test process although the concept of moment of involvement still stands true. The reason for saying this is:
1. being involved early can help determine stakeholder commitment as risks identified can influence the stakeholders.
2. the degree of involvement, partially determined by the stakeholder commitment, can be influenced.
What I have found is that the depth of stakeholder commitment can be very much determined by what level of pain has or is being experienced. Whilst this may sound cynical my experiences find this to be somewhat true.
A case in point is a recent performance testing project I worked on where the first attempt at implementation failed in one of those blaze of media coverage ways. The first iteration of implementation had not addressed performance testing in any significant way. The very public and highly publicised failure had significantly increased the stakeholders commitment to performance testing. Could being involved earlier have changed the stakeholder commitment?
On the flip side of this a fixed price project we did some years ago which made me very nervous due to the dependency we had on the developers, to this day is probably the most profitable project I’ve done. We were involved right from the early design stage and had significant input into the design process from a static testing perspective. This allowed us to develop a testing solution that significantly reduced the test effort for each code iteration. Ultimately, the project was finished 3 months early and encountered no post implementation issues.
So, rather than looking at the test process from a macro perspective, I utilise the key areas of TPI to provide a simple SWOT state of the overall project and, from that determine what needs to be done to firstly, achieve delivery and secondly, develop a basis for ongoing improvement. Fundamentally, irrespective of the stakeholder commitment the moment of involvement is the defining event in terms of what is possible to be achieved. The commitment of the stakeholder then determines what can actually be achieved.
At its most basic level time is the biggest asset a testing delivery person can have. When I refer to time it is not in the context of being able to do more testing but is from the perspective of being able to implement a better testing solution. This is especially true in the case of performance testing where execution windows are very limited and preparation times typically lengthy.
A high stakeholder commitment, for example, late in the delivery timeline will not significantly increase the range of testing outcomes that can be achieved.
A common counter argument to early testing engagement is the cost of bearing a testing capability throughout the early stages of the project. This moment of involvement does not necessarily mean a full time commitment to the project but engagement at critical times such as:
Project initiation;
Project costing;
Requirements analysis/walk throughs; and
Specification walk throughs.
About the author:
Elliot Ashton is a Principal Consultant with TestLogistics Pty Ltd based in Sydney, Australia. With nearly 20 years experience in most areas of testing Elliot has been involved with some of the biggest and most complex deliveries across various industries. Most recently he has worked in the performance testing space. He is also an occasional speaker at various groups.
Thursday, October 27, 2011
How to Use Web Testing Scorecard
Web testing scorecards will concentrate mainly on the GUI (Graphic user interface), GUI is used by websites to enable the users to browse easily within the pages of website. The website’s GUI functionality has great impact on the amount of traffic generated by a website.
GUI is created to provide effective control to the users on computers. In this case, control means the flexibility with which the Graphical User Interface reacts to the commands of users. Developing the website’s GUI quality will be the first thing that a web test scorecard will attempt to achieve. Logically the goal will be to give users the required graphic interface functionality by making use of the most appropriate web technology that is available.
The homepage will get the initial attention naturally, while testing a design of the website. The questions that you may ask here are: how the homepage is found by a visitor? Is easy navigation with the pages of website is allowed by the homepage menus? Does the design of the homepage and building inspire more visitors? Being biased, owner of a website or developer will tend to provide desired answers but there is a good and more precise way of measuring the functionality of homepage and that is, to ask the users about their opinion.
A web test will decide the efficiency of GUI by measuring the flexibility and speed with which users browse from the homepage to other pages of website and back and to link with important links. A good GUI pattern will often give obviously located navigation points in every page and graphic buttons that give graphic recognition, which informs searchers they are still within the domain of a website.
The creation of the site should give straight forward links to embedded pages within the website. A well planned GUI will not fall short of links that will make the searchers to come back to the homepage, otherwise, they will be clenched in the page and will not have any opportunity to come to other pages of the site. Every page should have links to other sections and pages, which is even better.
Interface speed is another web test that is good for measuring the functionality of website. Users are believed to give only 10 seconds of waiting time to enter websites before going somewhere else. This means, website interface should be assembled with access speed of majority users. Searchers on internet usually use dial-up connections. So it has to be aligned by considering that speed.
Author Bio:
Samuel is writing about software testing, load testing, functional testing, web testing and etc based on his reading and research for a Testing Sydney company.
GUI is created to provide effective control to the users on computers. In this case, control means the flexibility with which the Graphical User Interface reacts to the commands of users. Developing the website’s GUI quality will be the first thing that a web test scorecard will attempt to achieve. Logically the goal will be to give users the required graphic interface functionality by making use of the most appropriate web technology that is available.
The homepage will get the initial attention naturally, while testing a design of the website. The questions that you may ask here are: how the homepage is found by a visitor? Is easy navigation with the pages of website is allowed by the homepage menus? Does the design of the homepage and building inspire more visitors? Being biased, owner of a website or developer will tend to provide desired answers but there is a good and more precise way of measuring the functionality of homepage and that is, to ask the users about their opinion.
A web test will decide the efficiency of GUI by measuring the flexibility and speed with which users browse from the homepage to other pages of website and back and to link with important links. A good GUI pattern will often give obviously located navigation points in every page and graphic buttons that give graphic recognition, which informs searchers they are still within the domain of a website.
The creation of the site should give straight forward links to embedded pages within the website. A well planned GUI will not fall short of links that will make the searchers to come back to the homepage, otherwise, they will be clenched in the page and will not have any opportunity to come to other pages of the site. Every page should have links to other sections and pages, which is even better.
Interface speed is another web test that is good for measuring the functionality of website. Users are believed to give only 10 seconds of waiting time to enter websites before going somewhere else. This means, website interface should be assembled with access speed of majority users. Searchers on internet usually use dial-up connections. So it has to be aligned by considering that speed.
Author Bio:
Samuel is writing about software testing, load testing, functional testing, web testing and etc based on his reading and research for a Testing Sydney company.
Tuesday, October 25, 2011
The Basics of Software Testing
The basics of software testing are the first piece of the ISEB Foundation examination and course study syllabus. ISEM suggest that students of Foundation spend 20% of their time of study on the basics of section of Fundamental course. The tile of the opening chapter is The Fundamentals of Software Testing in the official manual of ISEB software testing.
Determining the fundamentals of software testing is very important to accomplishing proficiency according to the professional standards of ISEB. But what, exactly are these basics and what do you need to understand to the examination of ISEB Foundation?
The necessity of testing: Peter Morgan, a freelancer testing practitioner and ISEB Accreditation and examination panel member says that, a needlessly high amount of IT systems are unsuccessful to fulfill expectations or fail to work, because of inadequate software testing before the release.
Software testing cannot assure against software issues, but it can reduce the dangers of faults developing when the software is working. It is important to take the causes and effect of IT systems failure, and important role played by testing in quality assurance into account, in order to understand the necessity of software testing.
The five most important learning requirements to be focused by The ISEB Foundation are:
1. The potential force of a failure of IT systems.
2. Effects and causes of software failure.
3. The necessity of software testing.
4. Fundamental terminology of industry.
Meaning of testing: It is a technique of recognizing mistakes in the product before the release, this consists faults in its execution and the software code, also any type of potential space between job of code and what it exactly does.
The examination of ISEB Software Testing foundation needs students to:
1. Understand the fundamental objectives of testing.
2. Know how these objectives implement in the context of using, supporting and creating software.
General principles of testing: The students in ISEB courses are introduced to 7 principles of software testing.
1. Testing can prove that complications exist, but they can’t show that the problems do not exist,
2. It covers a restricted category of sample conditions, and is not all inclusive.
3. When the problem is found sooner, the cost of fixing it will be less.
4. Imperfections are more likely to align around particular areas. These areas can be specifically aimed by testers.
5. A test set that run repeatedly will have abating effect.
6. The kind, pattern and concentration of testing will differ depending on the software tested.
7. A test that doesn’t show errors doesn’t prove that software is free of errors.
Author Bio:
Samuel is writing about software testing, load testing, functional testing, web testing and etc based on his reading and research for a Testing Sydney company.
Determining the fundamentals of software testing is very important to accomplishing proficiency according to the professional standards of ISEB. But what, exactly are these basics and what do you need to understand to the examination of ISEB Foundation?
The necessity of testing: Peter Morgan, a freelancer testing practitioner and ISEB Accreditation and examination panel member says that, a needlessly high amount of IT systems are unsuccessful to fulfill expectations or fail to work, because of inadequate software testing before the release.
Software testing cannot assure against software issues, but it can reduce the dangers of faults developing when the software is working. It is important to take the causes and effect of IT systems failure, and important role played by testing in quality assurance into account, in order to understand the necessity of software testing.
The five most important learning requirements to be focused by The ISEB Foundation are:
1. The potential force of a failure of IT systems.
2. Effects and causes of software failure.
3. The necessity of software testing.
4. Fundamental terminology of industry.
Meaning of testing: It is a technique of recognizing mistakes in the product before the release, this consists faults in its execution and the software code, also any type of potential space between job of code and what it exactly does.
The examination of ISEB Software Testing foundation needs students to:
1. Understand the fundamental objectives of testing.
2. Know how these objectives implement in the context of using, supporting and creating software.
General principles of testing: The students in ISEB courses are introduced to 7 principles of software testing.
1. Testing can prove that complications exist, but they can’t show that the problems do not exist,
2. It covers a restricted category of sample conditions, and is not all inclusive.
3. When the problem is found sooner, the cost of fixing it will be less.
4. Imperfections are more likely to align around particular areas. These areas can be specifically aimed by testers.
5. A test set that run repeatedly will have abating effect.
6. The kind, pattern and concentration of testing will differ depending on the software tested.
7. A test that doesn’t show errors doesn’t prove that software is free of errors.
Author Bio:
Samuel is writing about software testing, load testing, functional testing, web testing and etc based on his reading and research for a Testing Sydney company.
The Necessity of Outsourcing Your Software Testing
According to market research studies, 40% of undecided application break time is brought by failure of application or bugs, 20% by hardware and 40% by errors in application, disasters or environmental aspects. So, 80% of unexpected downtime can be eliminated by IT process improvements, complete training on operations and pre-arrangement testing. This is important, but it is not certainly the main activity of majority organizations that require it. Outsourcing the software testing process will help a company to focus on its other core activities while the software testing work is handled by the experts proficiently, making sure of quality results. The company will save time and money on the procedure that would be too annoying and pretty tiring if done internally.
Importance of Software testing: Software testing is an important step in any project of software development. Testers and developers should make sure that products that are newly developed match the performance and practical requirements and that those products are trustworthy to function constantly under each circumstance. The dangers of launching a product that is not accomplished fully are abundant now than before because of the change in demands and assumptions of the end consumers.
A consistent approach to quality, started early in the lifecycle of software, can reduce the cost of accomplishing and maintaining the software considerably. This largely minimizes the risk related with arranging low quality software.
The important improvements that come along with aligning software testing and accent the normally mentioned reasons are as follows:
1. Save money and time by recognizing defects sooner.
2. Reduce and avoid downtime of development
3. Give better customer service by developing a better application
4. Understand the requirements of users and satisfy them
5. Construct a desired modifications list and improvements for later version.
6. Recognize areas where developers and programmers require training.
7. Recognize areas where developers and programmers require training
Software testing process stages
1. Providers concentrate mainly on quality of product, which is determined through the below mentioned basic practices:
1. Find defects of software quality in documents.
2. Suggest on the noticed quality of software.
3. Prove and authorize the assumptions made in pattern and requirement features through strong demonstration.
4. Authorize that the products works according to the design.
5. Authorize that the requirements are applied properly.
Author Bio:
Samuel is writing about software testing, load testing, functional testing, web testing and etc based on his reading and research for a Testing Sydney company.
Importance of Software testing: Software testing is an important step in any project of software development. Testers and developers should make sure that products that are newly developed match the performance and practical requirements and that those products are trustworthy to function constantly under each circumstance. The dangers of launching a product that is not accomplished fully are abundant now than before because of the change in demands and assumptions of the end consumers.
A consistent approach to quality, started early in the lifecycle of software, can reduce the cost of accomplishing and maintaining the software considerably. This largely minimizes the risk related with arranging low quality software.
The important improvements that come along with aligning software testing and accent the normally mentioned reasons are as follows:
1. Save money and time by recognizing defects sooner.
2. Reduce and avoid downtime of development
3. Give better customer service by developing a better application
4. Understand the requirements of users and satisfy them
5. Construct a desired modifications list and improvements for later version.
6. Recognize areas where developers and programmers require training.
7. Recognize areas where developers and programmers require training
Software testing process stages
1. Providers concentrate mainly on quality of product, which is determined through the below mentioned basic practices:
1. Find defects of software quality in documents.
2. Suggest on the noticed quality of software.
3. Prove and authorize the assumptions made in pattern and requirement features through strong demonstration.
4. Authorize that the products works according to the design.
5. Authorize that the requirements are applied properly.
Author Bio:
Samuel is writing about software testing, load testing, functional testing, web testing and etc based on his reading and research for a Testing Sydney company.
Subscribe to:
Posts (Atom)