Software Testing: A Guide to Testing Mobile Apps, Websites, and Games
By Mark Garzone
4.5/5
()
About this ebook
This book is a guide to software testing of mobile apps, web apps, and games. It covers all aspects of testing such as manual testing, test cases design, automation testing, exploratory testing and performance testing. The book discusses tips, techniques, and tools for the every day tester needed to accomplish their job. It also includes advice on how to be a better tester and test manager.
Mark Garzone
Expert software tester in many fields with many years of experience.
Related to Software Testing
Related ebooks
What is Software Testing?: ISTQB Foundation Companion and Study Guide Rating: 5 out of 5 stars5/5Effective Test Case Writing Rating: 4 out of 5 stars4/5Learn Software Testing in 24 Hours Rating: 0 out of 5 stars0 ratingsAgile Testing: An Overview Rating: 4 out of 5 stars4/5Software Testing Interview Questions You'll Most Likely Be Asked Rating: 0 out of 5 stars0 ratingsISTQB Certified Tester Foundation Level Practice Exam Questions Rating: 5 out of 5 stars5/5Software Test Automation A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsSoftware Performance Testing A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsSoftware Test Engineering A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsAutomated Software Testing A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsSoftware Testing Career Package: A Software Tester's Journey from Getting a Job to Becoming a Test Leader! Rating: 5 out of 5 stars5/5Software Testing Foundations, 4th Edition: A Study Guide for the Certified Tester Exam Rating: 4 out of 5 stars4/5The Agile Software Tester: Software Testing in the Agile World Rating: 0 out of 5 stars0 ratingsSoftware Testing Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsTesting in Scrum: A Guide for Software Quality Assurance in the Agile World Rating: 5 out of 5 stars5/5Qa Testing Not Only for Professionals Rating: 0 out of 5 stars0 ratingsStructured Software Testing: The Discipline of Discovering Rating: 0 out of 5 stars0 ratingsMastering Mobile Test Automation Rating: 0 out of 5 stars0 ratingsPerformance Testing with JMeter 2.9 Rating: 0 out of 5 stars0 ratingsThe Expert Test Manager: Guide to the ISTQB Expert Level Certification Rating: 5 out of 5 stars5/5Mobile Testing: An ASTQB-BCS Foundation guide Rating: 0 out of 5 stars0 ratingsAbsolute Beginner (Part 1) Selenium WebDriver for Functional Automation Testing Rating: 5 out of 5 stars5/5Instant Approach to Software Testing Rating: 0 out of 5 stars0 ratingsSoftware Testing Foundations, 5th Edition: A Study Guide for the Certified Tester Exam Rating: 0 out of 5 stars0 ratingsThe Business of Software Testing Rating: 0 out of 5 stars0 ratings
Software Development & Engineering For You
Python For Dummies Rating: 4 out of 5 stars4/5Hand Lettering on the iPad with Procreate: Ideas and Lessons for Modern and Vintage Lettering Rating: 4 out of 5 stars4/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5OneNote: The Ultimate Guide on How to Use Microsoft OneNote for Getting Things Done Rating: 1 out of 5 stars1/5SQL For Dummies Rating: 0 out of 5 stars0 ratingsLearn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5iOS App Development For Dummies Rating: 0 out of 5 stars0 ratingsThe Essential Persona Lifecycle: Your Guide to Building and Using Personas Rating: 4 out of 5 stars4/5Level Up! The Guide to Great Video Game Design Rating: 4 out of 5 stars4/5Good Code, Bad Code: Think like a software engineer Rating: 5 out of 5 stars5/5Salesforce Certification: Earn Salesforce certifications and increase online sales real and unique practice tests included Kindle Rating: 0 out of 5 stars0 ratingsPYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5Android App Development For Dummies Rating: 0 out of 5 stars0 ratingsThe Inmates Are Running the Asylum (Review and Analysis of Cooper's Book) Rating: 4 out of 5 stars4/5Lua Game Development Cookbook Rating: 0 out of 5 stars0 ratingsBeginning C++ Programming Rating: 3 out of 5 stars3/5Software Engineering: Architecture-driven Software Development Rating: 4 out of 5 stars4/5How Do I Do That in Photoshop?: The Quickest Ways to Do the Things You Want to Do, Right Now! Rating: 4 out of 5 stars4/5Agile: What You Need to Know About Agile Project Management, the Kanban Process, Lean Thinking, and Scrum Rating: 5 out of 5 stars5/5Flow: A Handbook for Change-Makers, Mavericks, Innovators and Leaders Rating: 0 out of 5 stars0 ratingsHow Do I Do That In InDesign? Rating: 5 out of 5 stars5/5Managing Humans: Biting and Humorous Tales of a Software Engineering Manager Rating: 4 out of 5 stars4/5Buffer Overflow Attacks: Detect, Exploit, Prevent Rating: 4 out of 5 stars4/5Beginning Programming For Dummies Rating: 4 out of 5 stars4/5Ry's Git Tutorial Rating: 0 out of 5 stars0 ratings
Reviews for Software Testing
3 ratings2 reviews
- Rating: 5 out of 5 stars5/5Excellent. Great links, etc. I really loved getting my website fixed.
- Rating: 5 out of 5 stars5/5Good parts: I have learnt a lot practical skills and U love the last few chapters
The technology mentioned in the book is no longer relevant. Technology comes and goes
Book preview
Software Testing - Mark Garzone
Chapter 1: Start of Project Testing Preparation
Introduction
What is practical software testing? It is a testing approach for quickly finding and reporting software defects based on practical testing experience. There are many books on the market covering traditional approaches to software testing. This book, unlike them, provides practical tips to running tests quickly at every stage of the software lifecycle. Let's not waste any more time and get on with it.
Beginning Phrase of Project
If you are invited to participate in the project from the very beginning you then have some time to do preparations which will save you time during the testing phase of the project. This is true for all types of software development models whether it be Agile, regular Waterfall, or the V model Waterfall variant. There are special situations in which the software development model is specified as for example when developing medical devices. In this case developers and tester must follow the processes defined in medical industry compliance regulations of FDA 21 or IEC 62304.
In agile testing before and during the beginning of the iteration you prepare for testing. In the regular Waterfall model the time for preparation is longer since testing starts only after code implementation. For the V model testing preparation occurs at each phase creating acceptance test cases for the requirements analysis phase, system test cases for the system requirement phase, integration test case for the module design phase, and unit test cases for the code implementation. Use your time wisely with good preparations to save time later during the test execution phase.
Tip #1
If your company is a startup or you are the first test manager at the company it is best to come up with a test strategy document. This document will not just be for your project but usually for all projects at your company and describe how testing is done at your company. A test strategy is the implementation of a test policy set by the IT management of a company. The test policy of a company will state things about testing such as all in-house developed code will be tested. A test strategy will include things like the following:
Business issues
Roles and responsibilities
Communication and status reporting
Test deliverability
Industry standards to follow
Test automation and tools
Testing measurements and metrics
Risks and mitigation
Defect reporting and tracking
Change and configuration management
Training plan
Tip #2
Write a master test plan. A master test plan is a 1 to 3 pages document explaining briefly how the software is going to be tested. It should describe your test approach, the test data, the test environment, the test tools used and any assumptions, risks, and limitations you make about the testing of the software. This document is then shared with the stakeholders to get their feedback and clear up any misunderstandings. For instance it might say that performance testing is excluded. It might state that the testing will done on a particular environment, or a particular test data set is used, or what tools will be used.
Tip #3
Become an expert in the test domain. As they say Knowledge is power
hence the more you know about the test domain the more powerful your testing will be. Preparation includes:
Read the requirements document. If there is no requirements document, demand one even if the app is being developed by Agile. Maybe you will get one. Read whatever documentation there is available used in the design or building of the software. E.g. wireframes, Agile task boards, etc.
Study the domain. If the software is going to be a dental billing software, study a little about book keeping and accounting and even dentist procedures. Look up and read up on the definitions of technical terms.
If the product is going to be rewrite of existing software read any previous documentation on the product such as a user's manual.
If the old software exists then run it and study how it works. Better still, ask the users of the existing software to give you a tour of the existing software. That way they can explain how things work and show what is important. This will be later helpful in prioritizing what to test in the regression tests.
Test competitor software that do the same thing as you application. This is a good way to get to know the domain and see how your application compares in terms of easy of use, and GUI look and feel.
Tip #4
Write high level test cases or test scenarios and ask lots of questions. If you have time before getting first version of the app write as many test cases as possible based on the requirements. The test cases do not necessarily need to be step-by-step detailed test cases. They can be high level test cases. Test cases are a good way to confirm your understanding of the software that you are going to test. You might not necessarily use them all during the tests due lack of time, requirements changing, etc. But by writing test cases you start to question What does that requirement mean?
and How can I test it?
Writing test cases allows you to form a plan of attack on the testing the validity of the implementation. If you don't understand what the requirement means then it's time to ask the requirements author or the customer for more details for clarification. When getting answers ask for specific examples or detailed answers. If something is missing, contradictory, or inconsistent then this should raise you red flag to ask questions.
The quickest way to write a high level tests that gets good coverage is to take each sentence in the requirements document and add the words Test that...
. For example if the requirement is that All customer payments are made 30 days after the end of the month
, then this is transformed into the following how level test case Test that all customer payments are made 30 days after the end of the month.
Do this for every sentence in the document. Now some sentences can be removed from the test plan as they might be duplicates of the content. Other long compound sentences with the conjunction words and
and or
can be split 2 or more high level test cases sentences.
These sentences are then added to your favorite test plan management tool such as TestLink. If you don't have one just create a spreadsheet with a minimum of 2 columns labeled Test
and Pass/Fail
. Other columns that can be added are Test Priority
, Comments
, "Bug Ticket