Or how implementing a Test Program from day
one results in faster development, better
software and enhanced investment appeal.
Software Testing 101 For
Startups
Discover Test Case Management
Free account at app.testnetic.com
Contents
1. Audience
2. Background
3. Testing 101 for startups
4. Six principles of testing
5. Who should test?
6. The first Test Plan
7. Testing tools & resources
8. Conclusions
1. Audience
By their very nature many startups are cash strapped, under-resourced
and do not have dedicated software testers.
So this eBook serves as an introduction to testing and to encourage
people to think about the merits of testing early in the product
development cycle.
It is not designed for testing professionals, but they are most welcome to
read it. It is ideal for first time testers, entrepreneurs and product
managers, those who might be involved in the testing process for the first
time.
Whilst Testnetic is mentioned, the principles and recommendations
mentioned in this eBook can be applied to any software development and
test case management process.
2. Background
So you have identified your market niche, years of skills development and
expertise are embedded in an acorn of thought, the business plan is
written and the project is underway.
Therefore I am guessing you are not unlike us, full of enthusiasm and
commitment to the project.
Let the development begin.
The product is specified, the UI and UX is developed and detailed
functionality is underway. Now is also an ideal time to commence a
framework for testing. The testing process can be accelerated by
leveraging much of the design work into a testing regime.
Frequent testing leads to confidence in product development, more
frequent software releases, lower development costs and critically, faster
to market.
Furthermore, demonstrating a robust test plan is part of a startup being fit
for investment.
3. Testing 101 For Startups
Testing can be a complex challenge, but if you get control of it early the
beast can be easily tamed. Here are some key components of a testing
environment.
Test Plan
A Test Plan documents the overall strategy for testing and contain the
components of a Test Case Management tool such as Testnetic. These
typically include scope, test cases, outcomes, procedures, logs of testing
activity, tests passes and failures.
Types of Testing
There are many different testing types required in development. Some
include environmental, functional, performance and capacity testing.
Typically the first testing is functional testing. Does the application do what
it should do?
Test Case Management
Test Case Management is the science and frequently the art of creating,
storing, planning, executing and reporting testing of new and updated
software.
At Testnetic, a test case management tool, our experience has shown
improved development outcomes are achieved with early testing.
Issue and Bug Tracking
The key objective of any failed test is to allocate a severity to it, have it
resolved and naturally re-test it. These process is called Issue or Bug
Tracking. Frequently two applications are required; one for test case
management and the second for issue tracking.
Manual Testing
Typically when one thinks of testing one thinks of manual testing, that is
the process of having a person doing the testing, one example is
exploratory testing, perhaps best defined as simultaneous test design and
testing. This is useful in the early stages of product development you often
“do not know what you do not know”.
3. Testing 101 For Startups (cont’d)
Automated Testing
It would be unlikely for a bootstrapped startup to use automated testing.
This an alternative to manual testing, where software tools, not human
testers, execute pre-scripted tests on a software application before it is
released into production.
Use of Affordable Software As A Service Tools
Gone are the days of expensive per user or self hosted software tools.
Look for intuitive, dedicated, affordable tools. Excel is historically used but
now consider a specialist tool, such as Testnetic.
4. Six Principles of Testing
1. You cannot test every scenario
Test what represents the most likely case to cause failure or represents the
highest risk rather than every possible scenario.
2. Defects congregate
Particular aspects of an application will contain more defects. Identify and
focus on those.
3. Constantly add Test Cases
If you always use the same test cases it will get to a point where no bugs
are discovers, hence continuously add more test scenarios.
4. Testing shows only the presence of defects
Testing shows only discovered defects, not undiscovered defects. This is
characterised by the saying “you do not know what you do not know”.
5. Test early
Testing should begin as early as possible in the development lifecycle.
6. Testing is content dependant
Testing should be bear a relationship to the nature of the application. E.g.
testing for aircraft software should be different to testing for a short term
internal project.
5. Who Should Test?
Testers say (with respect to developers) never let developers test their
own work. It is not a matter of mistrust but rather human nature and
subjectiveness versus objectiveness. In the context of many bootstrapped
startups there is a blend of product expertise and technical expertise. It is
the product manager that creates the use cases, contributes to the overall
product design, provides documentation and support for developers, so
they might be in the early stages a key testing resource.
Regardless of the size of the startup, whether one person or a team of
many, the methodology can be the same.
As the business grows a more dedicated resource for testing will be
required.
6. The first Test Plan
Typically you will already have much of the testing framework for a
successful Functional Test program that can be derived from the
requirements provided to developers initially.
The initial testing should be functional testing, that is does the application
meet the Functional Specification?
A good way to develop this is to match the menu items to the various Test
Cases. An example would be the login/logoff menu items. E.g. when you
login in are you presented with the correct page. Another example could
be changing password. Testing should be done with respect to both pass
and fail events. Testing should be both if the input is correct and incorrect.
So the Test Case should contain what to do, the expected pass and fail
results. All failures should be documented and referred to the developers.
A group of tests is called a Test Suite. An example of a Test Suite could be
running Test Cases with the Firefox browser and another Test Suite might
be to test the same Test Cases with the Chrome browser. As you can see in
the above diagram Test Cases can reside in different Test Suites.
An failed tested should be reported to developers to be rectified and re-
tested.
7. Testing Tools & Resources
Testnetic Free Account:
https://app.testnetic.com
Software Testing Types:
http://www.testingexcellence.com/types-of-software-testing-complete-
list/
https://www.tutorialspoint.com/software_testing_dictionary/index.htm
Testing Blogs & Communities:
http://www.ministryoftesting.com/testing-feeds/
https://www.testnetic.com/blog
http://www.softwaretestingclub.com/
Training
There are some great training courses on udemy.com and I personally
recommend Guru99 on Youtube.
https://www.youtube.com/watch?
v=TDynSmrzpXw&list=PLDC2A0C8D2EC934C7
8. Conclusions
Let's keep it simple:
• Create tests as part of the product development
• Test early
• Test often - release often
• Use tests to refine test cases
• Have testers and developers work closely
• Using testing in fund raising
and make Testing earlier with Testnetic :-)
Thank you for taking the time to read this eBook about software testing. On
the behalf of Testnetic, we hope you have found it valuable or at least
thought provoking and welcome your feedback via email to
hello@testnetic.com.

Effective Testing fo Startups

  • 1.
    Or how implementinga Test Program from day one results in faster development, better software and enhanced investment appeal. Software Testing 101 For Startups Discover Test Case Management Free account at app.testnetic.com
  • 2.
    Contents 1. Audience 2. Background 3.Testing 101 for startups 4. Six principles of testing 5. Who should test? 6. The first Test Plan 7. Testing tools & resources 8. Conclusions
  • 3.
    1. Audience By theirvery nature many startups are cash strapped, under-resourced and do not have dedicated software testers. So this eBook serves as an introduction to testing and to encourage people to think about the merits of testing early in the product development cycle. It is not designed for testing professionals, but they are most welcome to read it. It is ideal for first time testers, entrepreneurs and product managers, those who might be involved in the testing process for the first time. Whilst Testnetic is mentioned, the principles and recommendations mentioned in this eBook can be applied to any software development and test case management process. 2. Background So you have identified your market niche, years of skills development and expertise are embedded in an acorn of thought, the business plan is written and the project is underway. Therefore I am guessing you are not unlike us, full of enthusiasm and commitment to the project. Let the development begin. The product is specified, the UI and UX is developed and detailed functionality is underway. Now is also an ideal time to commence a framework for testing. The testing process can be accelerated by leveraging much of the design work into a testing regime. Frequent testing leads to confidence in product development, more frequent software releases, lower development costs and critically, faster to market. Furthermore, demonstrating a robust test plan is part of a startup being fit for investment.
  • 4.
    3. Testing 101For Startups Testing can be a complex challenge, but if you get control of it early the beast can be easily tamed. Here are some key components of a testing environment. Test Plan A Test Plan documents the overall strategy for testing and contain the components of a Test Case Management tool such as Testnetic. These typically include scope, test cases, outcomes, procedures, logs of testing activity, tests passes and failures. Types of Testing There are many different testing types required in development. Some include environmental, functional, performance and capacity testing. Typically the first testing is functional testing. Does the application do what it should do? Test Case Management Test Case Management is the science and frequently the art of creating, storing, planning, executing and reporting testing of new and updated software. At Testnetic, a test case management tool, our experience has shown improved development outcomes are achieved with early testing. Issue and Bug Tracking The key objective of any failed test is to allocate a severity to it, have it resolved and naturally re-test it. These process is called Issue or Bug Tracking. Frequently two applications are required; one for test case management and the second for issue tracking. Manual Testing Typically when one thinks of testing one thinks of manual testing, that is the process of having a person doing the testing, one example is exploratory testing, perhaps best defined as simultaneous test design and testing. This is useful in the early stages of product development you often “do not know what you do not know”.
  • 5.
    3. Testing 101For Startups (cont’d) Automated Testing It would be unlikely for a bootstrapped startup to use automated testing. This an alternative to manual testing, where software tools, not human testers, execute pre-scripted tests on a software application before it is released into production. Use of Affordable Software As A Service Tools Gone are the days of expensive per user or self hosted software tools. Look for intuitive, dedicated, affordable tools. Excel is historically used but now consider a specialist tool, such as Testnetic.
  • 6.
    4. Six Principlesof Testing 1. You cannot test every scenario Test what represents the most likely case to cause failure or represents the highest risk rather than every possible scenario. 2. Defects congregate Particular aspects of an application will contain more defects. Identify and focus on those. 3. Constantly add Test Cases If you always use the same test cases it will get to a point where no bugs are discovers, hence continuously add more test scenarios. 4. Testing shows only the presence of defects Testing shows only discovered defects, not undiscovered defects. This is characterised by the saying “you do not know what you do not know”. 5. Test early Testing should begin as early as possible in the development lifecycle. 6. Testing is content dependant Testing should be bear a relationship to the nature of the application. E.g. testing for aircraft software should be different to testing for a short term internal project.
  • 7.
    5. Who ShouldTest? Testers say (with respect to developers) never let developers test their own work. It is not a matter of mistrust but rather human nature and subjectiveness versus objectiveness. In the context of many bootstrapped startups there is a blend of product expertise and technical expertise. It is the product manager that creates the use cases, contributes to the overall product design, provides documentation and support for developers, so they might be in the early stages a key testing resource. Regardless of the size of the startup, whether one person or a team of many, the methodology can be the same. As the business grows a more dedicated resource for testing will be required.
  • 8.
    6. The firstTest Plan Typically you will already have much of the testing framework for a successful Functional Test program that can be derived from the requirements provided to developers initially. The initial testing should be functional testing, that is does the application meet the Functional Specification? A good way to develop this is to match the menu items to the various Test Cases. An example would be the login/logoff menu items. E.g. when you login in are you presented with the correct page. Another example could be changing password. Testing should be done with respect to both pass and fail events. Testing should be both if the input is correct and incorrect. So the Test Case should contain what to do, the expected pass and fail results. All failures should be documented and referred to the developers. A group of tests is called a Test Suite. An example of a Test Suite could be running Test Cases with the Firefox browser and another Test Suite might be to test the same Test Cases with the Chrome browser. As you can see in the above diagram Test Cases can reside in different Test Suites. An failed tested should be reported to developers to be rectified and re- tested.
  • 9.
    7. Testing Tools& Resources Testnetic Free Account: https://app.testnetic.com Software Testing Types: http://www.testingexcellence.com/types-of-software-testing-complete- list/ https://www.tutorialspoint.com/software_testing_dictionary/index.htm Testing Blogs & Communities: http://www.ministryoftesting.com/testing-feeds/ https://www.testnetic.com/blog http://www.softwaretestingclub.com/ Training There are some great training courses on udemy.com and I personally recommend Guru99 on Youtube. https://www.youtube.com/watch? v=TDynSmrzpXw&list=PLDC2A0C8D2EC934C7
  • 10.
    8. Conclusions Let's keepit simple: • Create tests as part of the product development • Test early • Test often - release often • Use tests to refine test cases • Have testers and developers work closely • Using testing in fund raising and make Testing earlier with Testnetic :-) Thank you for taking the time to read this eBook about software testing. On the behalf of Testnetic, we hope you have found it valuable or at least thought provoking and welcome your feedback via email to hello@testnetic.com.