What is Quality?
Customer's satisfaction - subjective matter
What is Software Quality?
From QA perspective - how close the actual software product is to the requirements. From consumer perspective - customer satisfaction.
What is Software Quality Assurance?
Software QA is the process of monitoring and improving all activities associated with software development, from requirements gathering, design and reviews to coding, testing and implementation.
What is Software Testing?
Software Testing is the process of analyzing the software in order to detect differences between existing and required conditions and to evaluate the features of the software.
Purpose of Software Testing?
Verification (Check the actual product against the requirements); Validation (Check that our system is what the user actually wanted); Error detection.
Difference between Software Quality Assurance and Testing?
SQA is focusing on the PROCESS of creating software. Testing is focused on the source code itself.
What is the software development life cycle (SDLC)?
Conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application.
Main stages of the Software Development Life Cycle?
Planning;
Analysis;
Design (Architecture);
Development (Coding);
Maintenance.
What is Agile software development?
It is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
What is Waterfall model?
Waterfall model is a sequential Software Development process, in which progress is seen as flowing steadily stage by stage.
What is Build?
Build - compiled version of the software product with the most recent updates made to the code.
What is Version?
Version - unique ID assigned to the software product to inform USERS about state of the application, its features.
What is Release?
Release - Build going to the users/customers.
How to test if there are no requirements?
Use documentation of similar applications or applications with similar features.
What is Manual Testing?
Human execution of test procedures without using test automation tools or programming languages.
What is Test Automation?
A process of writing and executing a computer program to do testing.
Define Black Box testing?
Testing done from user perspective (no access to source code used).
What is Gray Box Testing?
Gray box testing is using structural, design, and/or environment information to expand or focus Black box testing and to enhance testing productivity by using appropriate methods and tools.
What is White box Testing?
White box testing is done at the source code level. This testing is based on knowledge of the internal logic of an applications code.
What is Functional Testing?
Functional testing is conducted to verify that functions of a system are working as specified. Typically functions are described in work products (requirements, specifications, etc), but can be undocumented;
What is Non-Functional Testing?
Non-Functional testing is conducted to test attributes of a component or system that do not relate to functionality: Reliability; Efficiency; Usability; Maintainability; Compatibility, etc.
What is Positive Testing?
Aimed at showing that software handles properly situations in which user acts as expected (verification).
What is Negative Testing?
Aimed at showing that software handles properly situations in which user acts not as user is supposed to act (invalid actions, inputs, settings.)
What is Boundary Testing?
Boundary testing or a Boundary value analysis explores values near the limits of valid ranges.
100 < x < 200
What is Exploratory Testing?
Exploratory testing is when the tester "explores" an application. No requirements. Tester, based on experience and creativity, learns things and generates new tests to run. Black box testing. Manual testing.
What is Ad hoc testing?
Simplified form of Exploratory Testing where Planning, Executing and Learning are happening at the same time.
What is Unit Testing?
White box testing of software components/modules. Executed by developers or whitebox testers.
What is Integration Testing?
Integration testing is a phase in software testing in which individual software modules are combined and tested as a group.
What is System Testing?
System testing is conducted on COMPLETE SYSTEM to evaluate it's compliance with the requirements.
System testing is a black box testing.
What End-to-end Testing?
Test a complete application in closest to production environment (interacting with a database using network communications or interacting with other hardware applications or systems if appropriate, etc).
Define User Acceptance test?
User Acceptance Testing (UAT) is the very last test executed by SMEs (subject matter experts) on behalf of the future users.
What is Release/Build Acceptance Testing?
Test done on newly compiled build/release to make sure it's good enough to be accepted for testing, so the QA team can move from previous release to the new one.
What is Installation Testing?
Installation testing verifies that the system is installed and set up correctly to work ia a specified software/hardware environment.
What is Compatibility Testing?
Conducted on the application to evaluate its compatibility with the different OS, Hardware, Browsers, etc.
What is Browser Compatibility Testing?
Making sure that web application looks, behaves, and responds the same way across different browsers.
What is Smoke Testing?
Same as build acceptance testing. Superficial testing of main features to decide if the build is good enough to be send to QA
What is Sanity Check Testing?
Same as Smoke Testing.
What is Regression Testing?
Partial retesting of a modified program to make sure that no new errors were introduced while making changes to the code (developing new or fixing existing one).
What is Alpha Testing?
Alpha testing takes place at developers' site. Making sure the application has the right look and feel. Functionality is not expected to be fully in place.
What is Beta Testing?
Beta testing takes place at customers' sites, and involves testing by a group of customers who use the system at their own locations and provide feedback, before the system is released to other customers.
Explain Performance Testing?
Determining how the system performs in terms of responsiveness and stability under a PARTICULAR workload.
Explain Load Testing?
Load testing is conducted to understand the behavior of the system under a specific expected load. Simplest form of performance testing.
What is Stress Testing?
Stress testing is conducted to understand the behavior of the system under an extreme load.
What is Recoverability Testing?
Recoverability testing is conducted to verify that if the system fails:
How it will re-establish a specified level of performance?
How it will recover directly affected data?
What is Usability Testing?
Usability testing is used to evaluate product by testing it on users.
Usability testing measures how easy it is to use specific object or set of objects.
What is Accessibility Testing?
Accessibility testing is conducted to test the compliance with standards. Examples: World Web Consortium (W3C) - GUI; Americans with Disabilities Act of 1990; Wikipedia Accessibility; etc.
What is Security Testing?
Security testing is conducted to test that:
System data is protected;
How system prevents the intrusion by hackers.
What is Localization Testing?
Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text.
What is the most frequently executed type of testing?
Release/build acceptance (each & every build)
Next one is regression.
Describe a bug?
Mismatch between actual behavior of a software application and its intended (expected) behavior. We learn about expected behavior from requirements, specifications, and other technical documentations.
Describe WWW rule?
Rule of WWW:
What happened?
Where it happened?
under Which circumstances?
Most important components of Bug Report?
Short Description (Title);
Steps to reproduce;
Severity;
Priority;
Status.
Describe bug life cycle?
Bug found and reported;
Development Manager set "assigned to" and priority;
Developer fixes the bug;
Tester validated that bug was fixed (if not bug going back to developer) and closes the bug.
When should you write a bug report?
Immediately upon finding the bug.
Why do you need to write a bug reports?
Getting the bug fixed.
What makes a good bug report?
Follow WWW rule;
How to reproduce the bug;
Analyze the problem to minimize number of steps to reproduce it;
Complete, easy to understand, non-conflicting.
Who can assign/change severity or priority in a bug report?
Tester assigns severity;
Development Manager assigns Priority.
Name levels of the seriousness of the Problem (Severity)?
Critical/Fatal (crash, data corruption, security, hang);
Serious (workaround);
Minor;
Suggestion/Enhancement.
Name 3 levels of bug priority?
High;
Medium;
Low.
Which type of testing results in highest number of bugs found?
Negative testing (versus Positive testing of same type).
Which Bug tracking system do you know?
Jira;
Bugzilla;
Mantis.
Statuses of bugs?
Open;
Pending;
Fixed/Resolved;
Closed;
Can't Reproduce;
Deferred;
If Developer can't reproduce a defect?
Reproduce on your computer; Then reproduce on 1-3 other computers. If you can reproduce the defect: Compare developer’s and your working environment; Ask developer to debug on QA environment with his/her tools.
If Developer marked your defect "As Designed"?
Verify the requirements; If no specific requirement exists, compare to same feature implemented in quality applications or talk to your manager and/or developer; Close the bug.
Bug Tracking system is a software application, designed to?
Report bugs;
Track (update) bugs;
Close (fix, defer, move to another system);
To run the statistical analysis, monitor, and summarize the results;
Work on quality improvements.
Why do we need Bug Tracking Database?
Accountability;
Communication tool (inter-personal and inter-departmental);
Organization of the information;
Monitoring individual performance;
What is a prime objective of a Bug Tracking Database?
To get the bugs fixed.
What is Test Plan?
Document that describes the objectives, scope, approach, and focus of a software testing effort.
What is Test Case?
Set of conditions and/or variables under which a tester will determine if a requirement upon an application is satisfied.
What is Use Case?
Use cases are used by Business Analysts as a format for specifying system requirements. Each use case represents completed business operation performed by user.
Most Important Components of Test Cases?
Test case ID;
Title / Purpose;
Instructions;
Expected result.
Why we use Test Cases?
Better testing coverage;
Re-usable;
Reviewable;
Traceable - know what is tested;
Tracking test results;
Creates a deliverable.
What is Test matrix?
Data collection mechanism. It provides a structure for testing the effect of combining two or more variables, circumstances, types of hardware, or events.
What is Test Suite?
A document specifying a sequence of actions for the execution of multiple test cases.
How many test cases you can create if you don't have requirements?
Zero! No requirements - no test cases.
What is Traceability Matrix?
Traceability Matrix is a table that correlates requirements (design documents) to test documents.
Describe Risk Analysis?
Risk Analysis means the actions taken to avoid things going wrong on a software development project, things that might negatively impact the scope, quality, timeliness, or cost of a project.
When have you done enough testing?
When testing process comes to the point at which additional tests will not significantly change quality of the software.
Which documents would you refer to when creating Test Cases?
To all business and technical documentation available: PRD - Product Requirements Document; BRD - Business Requirements Document; Functional Specifications; Manuals and Help; Use Cases; Test Design.
What is Business Requirements Document (BRD)?
BRD is written by the Business Analysts. It details the business solution for a project including the documentation of customer needs and expectations.
What is the difference between a test case and a test plan?
Test case is the smallest possible document in software testing dealing with one requirement.
Test plan is opposite - it deals with the objectives, scope, approach, and focus of a software testing effort.
What is HTML?
HTML is a hyper-text markup language for creating Web pages.
HTML Tags. What are they?
Tags are keywords surrounded by angle brackets and normally come in pairs. The first tag in a pair is the opening tag, the second tag is the closing tag (with a forward slash before the tag name ).
What is JavaScript?
JavaScript is a scripting language which is used a lot to add interactivity to HTML pages.
Are Java and JavaScript the same?
NO! Java and JavaScript are two completely different languages in both concept and design. Java is more powerful and complex programming language (like C, C++, etc).
Where can you add JS code to HTML page?
JavaScript can be put into:
<body> section of an HTML page;
<head> section of an HTML page;
External file, which we reference.
What is JavaScript function? How is it executed? Why do we need to execute it?
JavaScript Function is a block of code;
It is executed by an event only:
Clicking a button;
Call within your script;
Call within another function; etc.
What is difference between == and === in JavaScript?
The 3 equal signs mean "equality without type coercion". Using the triple equals, the values must be equal in type as well.
What is SQL?
SQL stands for Structured Query Language. It is a database computer language, designed to retrieve and manage data, create and modify dB schema, etc.
What is Database?
Database (dB) is a storage space for content / information (data);
It is an organized collection of data.
What is Query?
Query is a request to the database to retrieve information.
What is DBMS?
DBMS (Database Management System) is a software that controls the organization, storage, retrieval, security and integrity of data in dB.
What is Primary Key?
Primary Key (PK) is a unique identifier of every record in database table.
What is Foreign Key?
FK is a column (or combination of columns) that is used to establish a relationship between the tables; Foreign key is usually not unique (one-to-many relation) and shall always point to a primary key.
Popular Databases?
ORACLE;
MS SQL Server;
MySQL;
Postgres;
etc.
What is XML?
XML stands for EXtensible Markup Language;
XML was designed to carry data, not to display data;
XML tags are not predefined. You must define your own tags.
What is CSS?
CSS stands for Cascading Style Sheets;
CSS define how to display HTML elements.
What is FireBug?
Firebug integrates with Firefox to put a wealth of web development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.
What is Cookies?
Cookies were designed to be a reliable mechanism for websites to remember stateful information (such as items in a shopping cart) or to record the user's browsing activity (clicking particular buttons, logging in, etc).
What is HTTP?
Short for HyperText Transfer Protocol, HTTP is a set of standards that allow users of the World Wide Web to exchange information found on web pages.
What is IP address?
An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer) participating in a computer network that uses the Internet Protocol for communication.
What is VPN?
A virtual private network (VPN) is a network that uses a public telecommunication infrastructure, such as the Internet, to provide remote offices or individual users with secure access to their organization's network.
What is Selenium Webdriver?
A set of tools that supports rapid development of test automation for web-based applications.
What is XPath?
XPath is used to navigate through elements and attributes in an XML document.
What is DOM Inspector?
DOM Inspector is a tool that can be used to inspect and edit the live DOM of any web document or XUL application.
What is JSON?
JSON short for JavaScript Object Notation. JSON is syntax for storing and exchanging text information. Much like XML.
What is jQuery?
jQuery is a multi-browser JavaScript library designed to simplify the client-side scripting of HTML.
What is PHP?
PHP is a server scripting language, and is a powerful tool for making dynamic and interactive Web pages quickly.
What is an API?
An API (Application Programming Interface) is the interface implemented by an application which allows other applications to communicate with it.
Types Mobile Platforms?
Licensed (JME, BREW, LiMo)
Proprietary (iOS, Windows Phone, BB 10)
Open Source (Android-OHA, Tizen, Linux OS, Firefox OS, webOS (LG))
Name all Android versions?
Cupcake (04-2009); Donut (09-2009); Eclair (11-2009); Froyo (05-2010); Gingerbread (12-2010); Honeycomb (02-2011); Ice Cream Sandwich (10-2011); Jelly Bean (07-2012; 11-2012; 07-2013); KitKat;
Android file formats?
Android application package file (APK) is the file format used to distribute and install application software and middleware onto Google's Android operating system; very similar to .exe in Windows.
Most common Android Version?
2.3.3 - 2.3.7 Gingerbread (release date: 02-2011) - 33.0%;
4.1 - 4.2 Jelly Bean (release date: 07-2012/11-2012) - 45.0%
Short description of the Android?
Android is based on the Linux operating system and written in a customized version of the Java language. Originally developed by Android, Inc., it was later acquired by Google, although the OS itself remains free and open source.
What is Dalvik Virtual Machine?
Dalvik Virtual Machine is a register-based virtual machine that's been optimized to ensure that a device can run multiple instances efficiently. It relies on the Linux kernel for threading and low-level memory management.
Short description of the iOS?
iOS is Apple's proprietary mobile operating system (OS) for its handheld devices, such as the iPhone, iPad and iPod Touch. The operating system is based on the Unix and primary development language is Objective-C.
What is Cocoa Touch?
The Cocoa Touch is primarily written in Objective-C layer which sits at the top of the iOS stack and contains the frameworks that are most commonly used by iPhone application developers.
iOS file formats?
An .IPA file is an iPhone application archive file which stores an iPhone app. It is usually encrypted with Apple's FairPlay DRM technology.
Native browser of iOS?
Safari
Short description of the Windows Phone OS?
Windows Phone is a mobile platform developed by Microsoft. It is the successor to its Windows Mobile platform, although incompatible with it.
Short description of the Symbian?
Symbian is open source OS. It is widely used, but it is not the most advanced or full-featured of mobile phone operating systems. Most phones that use Symbian are low-end devices, not full-featured smart phones.
What is Mobile app?
A Mobile app is a software that runs on a handheld device, which can connect to Wi-Fi or wireless carrier networks and has an OS to support standalone software.
What is Native app?
Native app is the one that is specifically designed to run on a device’s operating system and machine firmware, and typically needs to be adapted for different devices.
How to make screenshot on iPhone (iOS device)?
Press the "Home" and "Sleep" buttons at the same time.
How to make screenshot on Android?
Press and hold the "Volume Down" and "Power" buttons at the same time (for Android 4.0 or later).
How to find crash logs for iOS?
Sync your iOS device with iTunes.
For Windows 7,8:
C:\Users\<USERNAME>\AppData\Roaming\Apple computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
How to find crash logs for Android?
Run Eclipse, go to "Window" → "Show View" → "Other", then select "LogCat".
How to kill process on Android?
Tap and Hold Home Button – Task Manager window appears;
Tap Active Application – "View Active Applications" – "Exit/End" it individually or "Exit/End all".
How to kill process on iOS?
Double tap the home button to bring up the multi-tasking view;
Swipe the app upwards to close.
What is the difference between Mobile Testing and Mobile Application Testing?
TestingMobile Testing means the complete testing of mobile in System level + Application level;
Mobile Application testing deals with only the features and multimedia part.

Audio page will be opened in new window.
And guess what?! Now you can listen audio records on your mobile device!
http://www.portnov.com/drill/audio.html
Thanks!

About