QA & Testing Overview

Ace your homework & exams now with Quizwiz!

GitHub

Code Repository GitHub is a Git code repository is a web-based hosting service for version control using Git. Can plan projects, collaborate on code, test, and deploy. Use GitHub on-premises with your own servers or in a private cloud

Build

It is an executable file that has been made by compiling code.

The purpose of testing is

1) Verification is checking how the actual result meet the requirements. (Verification: Are we building the system right?) 2) Validation is the process of checking that what has been required is what the user actually wanted. (Validation: Are we building the right system?) 3) Error Detection: finding if things happen when they shouldn't or things don't happen when they should.

EggPlant

A suite of tools for Test Automation & Performance - Eggplant Functional (Test automation tool) and Eggplant Performance (Performance testing tool) enable testers to quickly and easily validate the full user experience. Including functional, performance, and usability testing — any app on any platform.

Positive testing

Positive testing it is testing that simulates users expected behavior. The purpose of Positive testing is showing software works as designed when user acting as expected. - should be done BEFORE negative

Release/build acceptance testing

Release/build acceptance testing is a quick test to verify that application is stable enough to execute a tasting more completely. Acceptance testing by QA is different from acceptance testing by the customer (UAT - user acceptance testing).

In Agile environment, you have more ______________, each consisting of multiple ______________. o Releases or Fix Versions/Sprints o Sprints/Releases or Fix Versions o Releases or Fix Versions/Issue types o Issue Types/Sprints

Releases or Fix Versions/Sprints

When using JIRA requirement integration, any JIRA issue type can be brought into Manager as a/an _______________. o Epic o Requirement o User Story o Sprint

Requirement

What's the big deal about 'requirements'?

Requirements should be clear, complete, reasonably detailed, cohesive, attainable, and testable. A non-testable requirement would be, for example, 'user-friendly' (too subjective). A testable requirement would be something like 'the user must enter their previously-assigned password to access the application'.

Regression Testing

Retesting a previously tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made.

Stand-alone Manager Projects are very likely to be using Waterfall methodology. True or False

True

Test Plan

A document describing the scope, approach, resources, and schedule of intended testing activities. It identifies test items, the features to be tested, the testing tasks, who will do each task, and any risks requiring contingency planning.

Emulator

A device, computer program, or system that accepts the same inputs and produces the same outputs as a given system.

Software Testing

A set of activities conducted with the intent of finding errors in software.

Test Tools

Computer programs used in the testing of a system, a component of the system, or its documentation.

Bamboo

CI/Build Tool Bamboo is a continuous integration (CI) server that can be used to automate the release management for a software application, creating a continuous delivery pipeline.

TeamCity

CI/Build Tool Java-based build management and continuous integration server. Enables us to build very sophisticated automated build pipelines very quickly.

___________ is an example of an ALM. o Jira o Jenkins o Cucumber o All of the aboe

Jira

SSO

Single Sign On Single sign-on (SSO) is a session and user authentication service that permits a user to use one set of login credentials (e.g., name and password) to access multiple applications

Releases

This is a process of delivering and providing the product to clients

JIRA Sprints and Fix versions are treated as Releases in Manager, when the Release Integration is active. True or Fasle

True

TEST SUITE

is a group of test cases;

End-To-End

is similar to system testing, but unlike System Testing, End-to-End Testing not only validates the software system under test but also checks it's integration with external interfaces. Hence, the name "End-to-End". The purpose of End-to-End Testing is to exercise a complete production-like scenario.

Bug or Defect

A software bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.

Repositories

A source code repository is a file archive and web hosting facility where a large amount of source code, for software or for web pages, is kept, either publicly or privately. They are often used by open-source software projects and other multi-developer projects to handle various versions.

Version Control

A system for tracking changes in computer files and coordinating work on those files among multiple people.

Quality Audit

A systematic and independent examination to determine whether quality activities and related results comply with planned arrangements and whether these arrangements are implemented effectively and are suitable to achieve objectives.

Framework

A test automation framework is an integrated system that sets the rules of automation of a specific product. This system integrates the function libraries, test data sources, object details and various reusable modules. These components act as small building blocks which need to be assembled to represent a business process. The framework provides the basis of test automation and simplifies the automation effort.

Test Case

A test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise a particular program path or to verify compliance with a specific requirement.

Capture/Replay Tool

A test tool that records test input as it is sent to the software under test. The input cases stored can then be used to reproduce the test at a later time. Most commonly applied to GUI test tools.

Ad Hoc Testing

A testing phase where the tester tries to 'break' the system by randomly trying the system's functionality. Can include negative testing as well. See also Monkey Testing.

Security Testing

A type of software testing that intends to uncover vulnerabilities of the system and determine that its data and resources are protected from possible intruders

Smoke Testing

A quick-and-dirty test that the major functions of a piece of software work. Originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch on fire.

What is Software Quality Assurance?

Software QA is the process of monitoring and improving all activities associated with software development, during whole Software Development Life Cycle from requirements gathering, to coding, testing and implementation.

What is Software Testing?

Software Testing is the process of analyzing the software purpose of it is detect the differences between actual results and expected results (requirements), and to evaluate the features of the software.

Software Testing

Software testing is a process, to evaluate the functionality of a software application with an intent to find whether the developed software met the specified requirements or not and to identify the defects to ensure that the product is defect free in order to produce the quality product.

Testing

Software testing is a process, to evaluate the functionality of a software application with an intent to find whether the developed software met the specified requirements or not and to identify the defects to ensure that the product is defect free in order to produce the quality product.

HPQC - HP ALM & HP Quality Center

ALM Tool HP ALM is the premier version of HP QC. ALM allows for asset sharing and reuse. Test Management Tool - A web based tool that helps organizations to manage the application lifecycle right from project planning, requirements gathering, until Testing & deployment,

API Testing

API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security.

Active Directory

Active Directory Domain Services is called a domain controller. It authenticates and authorizes all users and computers in a Windows domain type network—assigning and enforcing security policies for all computers and installing or updating software.

Ad Hoc Testing

Ad Hoc Testing is a simplified form of Exploratory Testing where test Planning, Executing and Analysis are happening at the same time "random" or "non-systematic" functionality testing it is not "Monkey Testing" because there are elements of planning and learning main purpose is learning about the application, not breaking it down.

Explain the difference between Waterfall and Agile environments.

Agile - short cycles of work - usually 2 - 4 weeks, multiple items at a time; incremental, iterative work sequences (sprints); many frequent releases Waterfall - very rigid, sequential development schedule, everything planned in advance, no phases started until the previous stage is completed. limited releases

Agile

Agile is a testing methodology that is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. Instead of betting everything on a "big bang" launch, an agile team delivers work in small, but consumable, increments. Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly.

Agile Testing

Agile is a testing methodology that is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. Instead of betting everything on a "big bang" launch, an agile team delivers work in small, but consumable, increments. Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly.

Black box

Black box software testing is done without access to the source code from user perspective. Not about WHO does it, but its is about HOW it is done Bugs are identified (detected) and reported from user perspective. Could be manual or automated (still black box)

What is the difference between a Kanban and Scrum Project in JIRA?

Both are Agile frameworks. Kanban is priority based and focuses on the visual Kanban board Scrum is based on time and resources - quick sprints of work

Sanity Testing

Brief test of major functional elements of a piece of software to determine if its basically operational. See also Smoke Testing.

Bug life cycle

Bug found; Bug gets reported; It goes to Development Manager to get Assigned To and Priority; Developer sees the report, fixes the bug, marks it as Fixed; It goes to Tester for verification of the fix; If it is fixed Tester close the bug.

Describe a bug

Bug it is different between actual behavior of a software application and its expected behavior. We learn about expected behavior from requirements, specifications, other technical documentation.

A Build

Build is the process of creating the application program for a software release, by taking all the relevant source code files and compiling them and then creating a build artifacts, such as binaries or executable program, etc. Is an activity to translate the human-readable source code into the efficient executable program. The process of building a computer program is usually managed by a build tool, a program that coordinates and controls other programs.

Explain how Sprint(s) relate(s) to Fix versions/Releases in JIRA.

Sprints are used in Agile development to define the time period (development cycle) for completion of the work that is needed to deliver a fix and/or enhancements that are are being included in a release or fix version. Sprints and Fix Versions are treated as releases in qTest.

Static Testing

Static Testing is checking of code, requirement documents, and design documents to find errors without code execution. Hence, the name "static". Main objective of this testing is to improve the quality of software products by finding errors in early stages of the development cycle. Unfortunately in practice it's often skipped;

Stress testing

Stress testing - performed to determine system behavior under an extreme load (kind of Performance testing). Will the system performs properly "under stress"?

Stress Testing

Testing conducted to evaluate a system or component at or beyond the limits of its specified requirements to determine the load under which it fails and how. Often this is performance testing using a very high level of simulated load.

Automated Testing

Testing employing software tools which execute tests without manual intervention. Can be applied in GUI, performance, API, etc. testing. The use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions.

Branch Testing

Testing in which all branches in the program source code are tested at least once.

Data Driven Testing

Testing in which the action of a test case is parameterized by externally defined data values, maintained as a file or spreadsheet. A common technique in Automated Testing.

What is the difference between Software Testing and Software QA?

Testing is mainly an 'error detection' process. Usually it starts at "Testing" stage of Software Development Life Cycle. Software QA is 'preventative' process. Its goal to ensure quality in the methods & processes. It occurs during whole SDLC (Software Development Life Cycle).

Test Driven Development

Testing methodology associated with Agile Programming in which every chunk of code is covered by unit tests, which must all pass all the time, in an effort to eliminate unit-level and regression bugs during development. Practitioners of TDD write a lot of tests, i.e. an equal number of lines of test code to the size of the production code.

Beta Testing

Testing of a release of a software product conducted by customers.

Integration Testing

Testing of combined parts of an application to determine if they function together correctly. Usually performed after unit and functional testing. This type of testing is especially relevant to client/server and distributed systems.

Component Testing

Testing of individual software components (Unit Testing).

Unit Testing

Testing of individual software components.

System Testing

Testing that attempts to discover defects that are properties of the entire system rather than of its individual components.

Automated Testing

Testing that utilizes software tools which execute tests without manual intervention. Can be applied in GUI, performance, API, etc. testing. The use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions.

Usability Testing

Testing the ease with which users can learn and use a product.

Functional Testing

Testing the features and operational behavior of a product to ensure they correspond to its specifications. Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions. or Black Box Testing.

data - driven automation?

Testing the functionality with more test cases becomes laborious as the functionality grows. For multiple sets of data (test cases), you can execute the test once in which you can figure out for which data it has failed and for which data, the test has passed. This feature is available in the WinRunner with the data driven test where the data can be taken from an excel sheet or notepad.

Testing Tools

Testing tools can help automate tasks such as product installation, test data creation, GUI interaction, problem detection (consider parsing or polling agents equipped with test oracles), defect logging, etc., without necessarily automating tests in an end-to-end fashion.

SDLC - Environments

Tests may occur in the following hardware and software environment types: ● Development; ● QA environment; ● Staging; ● Production; etc.

LDAP

The Lightweight Directory Access Protocol (LDAP) is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network.[1] Directory services play an important role in developing intranet and Internet applications by allowing the sharing of information about users, systems, networks, services, and applications throughout the network.[

Coding

The generation of source code.

Test Environment

The hardware and software environment in which tests will be run, and any other software with which the software under test interacts when under test including stubs and test drivers.

Quality Control

The operational techniques and the activities used to fulfill and verify requirements of quality.

Baseline

The point at which some deliverable produced during the software engineering process is put under formal change control.

Verification

The process of determining whether of not the products of a given phase of the software development cycle meet the implementation steps and can be traced to the incoming objectives established during the previous phase. The techniques for verification are testing, inspection and reviewing.

Validation

The process of evaluating software at the end of the software development process to ensure compliance with software requirements. The techniques for validation is testing, inspection and reviewing.

Debugging

The process of finding and removing the causes of software failures.

What is the software development life cycle?

The software development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in a development project, from an idea to maintenance of the completed application. Stages: 1) Planning (Planning & Concept development) 2) Analysis (Analysis & Requirements gathering) 3) Design (Architecture & Specifications) 4) Development (Development & Test) 5) Implementation/Release 6) Maintenance

Use Case

The specification of tests that are conducted from the end-user perspective. Use cases tend to focus on operating software as an end-user would conduct their day-to-day activities.

Sprint refers to __________. o The conditions that exist to build the requirement o The subtasks that need to be completed before the requirement is met. o The time it will take to complete the requirement. o None of the above.

The time it will take to complete the requirement.

Negative testing

Negative testing is showing that software handles properly in situations when user acts not as user is supposed to act (invalid inputs, unreasonable selections of settings, etc.) • makes no sense if Positive Testing fails • negative testing is to be done AFTER positive • takes more time then positive • under time pressure minimize (skip) Negative Testing • it results in more bugs than positive

Is it possible to find/fix all the bugs in a software product before it goes to the customers? Why test?

No it is impossible. Cause - human factor - every fixed bug created new bugs. 1)We owe it to our users and ourselves to deliver the best application we can. 2) ..to do Quality Assurance, to establish and to enforce business systems of the QA Organization ● Test Planning ● Bug Reporting ● Bug Tracking ● Test Automation ● Release Certification

TEST PLAN

is a document that describes the - objectives - scope - approach - focus of a software testing effort. • The highest level Software testing document possible; • Does not include test case; • Developed mostly by QA team with help of other teams;

Project Plan

is a formal document to summarize business, management and financial aspects of a project. "Contract" between Project Manager and customers. It includes scope, objectives, benefits, costs, risks and plans, etc.

Waterfall model

is a sequential software development methodology, in which progress goes constantly in one direction only (like a waterfall) through the phases of 1) Planning (Planning & Concept development) 2) Analysis (Analysis & Requirements gathering) 3) Design (Architecture & Specifications) 4) Development (Development & Test) 5) Implementation/Release 6) Maintenance Waterfall don't allow review or come back phase to any prior phase once it's complete. In "Waterfall model" phases are executed sequentially.

TEST CASE

is a set of conditions and/or variables under which a tester will identify if application up to requirements. Test Case • Test Case is 100% come requirement; • The smallest possible action in software testing; • The lowest possible level document in software testing; • Might fail or pass in just one place; • Test cases should be created in a way that all of the paths are executed at least once.

Bug Tracking system

is a software application, designed to management of software testing process that include: Report bugs; bug tracing; Close bugs; And also it designed to run the statistical analysis, monitor, and summarize the results; Popular Bug Tracking Tools examples: ● Jira; ● Mantis; ● Bugzilla; ● Elementool; ● Trac; ● Redmine; ● OTRS;

What is the most frequently executed type of testing?

release/build acceptance (every build) next one is regression

Does automation replace manual testing?

There can be some functionality which cannot be tested in an automated tool so we may have to do it manually. therefore manual testing can never be replaced. (We can write the scripts for negative testing also but it is hectic task).When we talk about real environment we do negative testing manually.

Usability Testing

Usability Testing performed based on the users actual behavior. Evaluate: Is it easy to use? How much time it takes to user complete basic tasks? How many mistakes did people make? How much does the person remember after periods of non-use? Emotional response: how does the person feel about this app?

User Acceptance Testing (UAT)

User Acceptance Testing (UAT) is one of the final stages of a project. Before accepting new system, client/customer test application to make sure that it meets the requirements. Preconditions: Application is fully developed; Unit, Integration and System are completed; Hight priority bugs have already been fixed before UAT.

Versions

unique version name or number to identify states of an application. Version is generally assigned in increasing order and correspond to new developments in the software. Build number is often used as a version number.

Accessibility Testing

Verifying a product is accessible to the people having disabilities (deaf, blind, mentally disabled etc.).

Volume testing

Volume testing (part of stress testing) performed to determine system behavior with a defined amount of data (dB size, etc.)

Development Methodologies

Waterfall (Traditional-sequential) Agile/Extreme: (extreme programming)

Can test automation improve test effectiveness?

Yes, Automating a test makes the test process: 1.Fast 2.Reliable 3. Repeatable 4.Programmable 5.Reusable 6.Comprehensive

Parser

A parser is a piece of code whose job is to validate the syntax of a piece of text and break it down into its "grammatical" structure. A parser is usually one part of the process of compiling a higher level programming language into the actual instructions that a computer can execute.

Release Candidate

A pre-release version, which contains the desired functionality of the final version, but which needs to be tested for bugs (which ideally should be removed before the final version is released).

Agile Model

"Agile Development" is an umbrella term for several iterative software development methodologies. The most popular agile methodologies include Scrum, Extreme Programming (XP), Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD). It is a very flexible model the main features of which are: - requirements and priorities are dynamic - there is an option of making changes in the short period of time - iterative approach - Both development and testing activities present at the same time

Why software testers are needed if developers test their code anyway?

- testers do most of the negative testing - testers do most of the regression testing - testers test software application at system level and user perspective

Test Suite

A collection of tests used to validate the behavior of a product. The scope of a Test Suite varies from organization to organization. There may be several Test Suites for a particular product for example. In most cases however a Test Suite is a high level concept, grouping together hundreds or thousands of tests related by what they are intended to test.

Gray Box Testing

A combination of Black Box and White Box testing methodologies? testing a piece of software against its specification but using some knowledge of its internal workings.

Software Requirements Specification

A deliverable that describes all data, functional and behavioral requirements, all constraints, and all validation requirements for software

Traceability Matrix

A document showing the relationship between Test Requirements, Test Cases and defects.

Test Specification

A document specifying the test approach for a software feature or combination or features and the inputs, predicted results and execution conditions for the associated tests.

Application Programming Interface (API)

A formalized set of software calls and routines that can be referenced by an application program in order to access supporting system or network services.

Component

A minimal software item for which a separate specification is available.

Quality Assurance

All those planned or systematic actions necessary to provide adequate confidence that a product or service is of the type and quality needed and expected by the customer.

How do you determine when you have done enough testing?

At some point of test process additional tests will not really improve a) no critical bugs b) the application meets the requirements

Automation Testing

Automation Testing is use of tools to execute test cases. TEST SCRIPT is a procedure, or programming code that replicates/imitate user actions. Test Case is a base to create test scripts using a tool or a program. - Higher upfront costs - Lower costs to repeat the test When to automate? ● Regression, not expected to change; ● Repetitive tests; ● Structured data; ● Static, complex but static; ● Performance (Load, volume, capacity)

Jenkins

CI/Build Tool Jenkins is an open source automation server written in Java. It is used to build and test software projects continuously making it easier to integrate changes to the project. Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache

Maven

CI/Build Tool Maven is a build automation tool used primarily for Java projects. Maven addresses two aspects of building software: first, it describes how software is built, and second, it describes its dependencies. Can also be used to build and manage projects written in C#, Ruby, Scala, and other languages.

What is the most important contribution to the product development process that QA could bring?

Clarifying (make clear) requirements Bringing down percentage of code must be re-written if the requirements have to change.

GitLab

Code Repository a web-based repository manager that lets teams collaborate on code, duplicate code to safely create and edit new projects, then merge finished code into existing projects.

Bitbucket

Code Repository web-based version control repository. Can plan projects, collaborate on code, test, and deploy.

Hipchat

Collaboration Tool Allows for channel based conversations and notifications

Skype

Collaboration Tool Allows for channel based conversations and notifications

Slack

Collaboration Tool Allows for channel based conversations and notifications

Confluence

Collaboration Tool Atlassian's collaboration tool used to help teams to collaborate and share knowledge efficiently. Users can create pages and blogs which can be commented on and edited by all members of the team. Confluence has also been designed to integrate with Jira and they have many integration points, giving Confluence users the ability to view, interact with, and reference Jira issues

Test Script

Commonly used to refer to the instructions for a particular test that will be carried out by an automated test tool.

Recovery Testing

Confirms that the program recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions.

Continuous Integration

Continuous Integration server. Basically, Continuous Integration is the practice of running your tests on a non-developer machine automatically everytime someone pushes new code into the source repository. Continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day. CI Tools facilitate this process by allowing developers to put together repositories with frameworks and build tools. The main goals of CI are: Maintain a code repository, Automate the build, Make the build self-testing, Everyone commits to the baseline every day, Every commit (to baseline) should be built, Keep the build fast, Test in a clone of the production environment, Make it easy to get the latest deliverables.

Dynamic Testing

Dynamic Testing - actually executing program code using set of test cases or other way.

_________________ is an out-of-the-box issue type in JIRA. o Epic o Requirement o Defect o All of the Above

Epic

Exploratory testing

Exploratory testing is a testing approach where process of test planning and test execution all done at the same time. Exploratory testing used for "explorer" an application to try to find out how the software actually works. Good to start with; Minimum planning and maximum test execution. Good if no requirements or if they are incomplete. Quality depends on the tester's skills.

What are main benefits of test automation?

FAST ,RELIABLE,COMPREHENSIVE,REUSABLE

If you are practicing Waterfall, you are most likely using Sprints in JIRA. True or False

False

What is Software Quality?

From QA perspective it is measurement of how close is actual software product to the expected product, actuality it is ability of product to meet of requirements. But being 100% up to requirements does not make product popular or selling well, that's why when we toking about software quality we always should remember about customers. Quality isn't only ability of product to meet of requirements, it is also customer satisfaction. We can describe Quality Software as a - reasonably bug-free, - delivered on time and within budget, - to meet of requirements and/or expectations, - maintainable product.

Non-Functional

How the system works? Reliability, usability, maintainability, compatibility, response times, capacity for performance testing, etc.

Explain how using the "Auto-populate requirement in Release Scope" option helps your organize your data in Manager.

Maintain traceability for reporting purposes

CA Agile Central

Planning | ALM & Issue Management used in Agile testing - is used for requirements and issue tracking as well as agile project management

Manual Testing

In Manual Testing , testers manually execute test cases without using any automation tools. Manual testing: ● Manually testing software for defects; ● Tester plays the role of an end user; ● Test all features to ensure the correct behavior. When to conduct the Manual Testing? ● Expensive to do automation; ● Need for human judgment; ● Ongoing need for human intervention.

Integration testing

Integration testing is the phase of testing when units are combined together into the main software package and tested as a group.

Load testing

Load testing (simplest) - performed to determine system behavior under an expected load (kind of Performance testing).

Load Testing

Load testing is a kind of Performance Testing which determines a system's performance under real-life load conditions. This testing helps determine how the application behaves when multiple users access it simultaneously. This testing usually identifies - The maximum operating capacity of an application.

What is a Regression test?

Partial retesting of a modified program to verify that previous errors were fixed and also to make sure that no new errors were introduced while making changes to the code (development new feature or fixing bugs). - should be done for each new release (after fixing a bug and/or after new feature was added;) - we do not have enough time to retest software completely, that's why risk analysis is involved when we decide on which parts should be tested (partial retesting) - second (after release acceptance) most frequently executed test - very good candidate for automation - not about manual/automated or black/white box

Performance Testing

Performance Testing runs to determine is system stable enough under a specific workload. ● Testing if application meets the performance criteria; ● Compare two systems to find which performs better; ● Measure what parts of the system causes poor performance; ● Need a stable build and environment, closest to production;

Scalability Testing

Performance testing focused on ensuring the application under test gracefully handles increases in work load.

Performance Testing

Performance testing is the process of determining the speed, responsiveness, and stability of a computer, network, software program or device under a workload.

Code Complete

Phase of development where functionality is implemented in entirety; bug fixes are all that are left. All functions found in the Functional Specifications have been implemented.

Jira

Planning | ALM & Issue Management Jira - used in Agile testing - is used for requirements and issue tracking as well as agile project management

Compatibility Testing

Purpose of compatibility testing is to evaluate the application's compatibility with the different environments. Browser compatibility testing checks how application looks, behaves, and responds in different browsers. What to test? ● Cross browser/Platform compatibility issues; ● Screen resolutions; ● Frames; ● Font display and availability; ● Color limitations; ● JavaScript availability( mobile devices);

Difference between QA and testing

QA is more a preventive thing, ensuring quality in the company and therefore the product rather than just testing the product for software bugs? TESTING means 'quality control' QUALITY CONTROL measures the quality of a product QUALITY ASSURANCE measures the quality of processes used to create a quality product.

RISK ANALYSIS

RISK ANALYSIS means the actions taken to avoid things going wrong on a software development project, things that might negatively effect the scope, quality, timeliness and cost of a project.

SCRUM

Scrum is one of the methodology of agile model for development software. There is one or more cross-functional, self-organizing teams of about seven people each in the SCRUM. In this teems might be only three roles: Product Owner, Team, and Scrum Master. Scrum uses fixed-length iterations, called Sprints, which are typically 1-2 weeks long (never more than 30 days). Scrum teams try to build a potentially shippable (properly tested) product increment every iteration.

Describe security testing.

Security testing is activity with purpose makes app secure. It means - detect errors that may cause a big loss (losing of personal/financial or any other important information) - finding all possible loopholes and weaknesses of the system - measure its potential all possible security risks in the system

System testing

System testing is executed on a fully integrated/complete applications to identify if application meets to requirements. System testing is a black box testing; You need to know the requirements or design or logic of system. Preconditions for System Testing 1. All components should be successfully: - Unit Tested passed; - Integration Testing passed. 2.System Testing should be executed in an environment, closest to production setting or if necessary, in several multiple environments.

TEST SCRIPT

TEST SCRIPT is a procedure, or programming code that replicates/imitate user actions. Test Case is a base to create test scripts using a tool or a program.

TRACEABILITY MATRIX

TRACEABILITY MATRIX is a table that correlates requirements (design documents) to test documents (test cases).

Selenium

Test Automation & Framework Tool An automated testing tool for web applications that allows you to do simple record-and-playback of interactions with the browser. Selenium Framework - A test automation framework is an integrated set of technologies, tools, processes and patterns. The framework provides a platform to implement data driven and Hybrid - keyword + data driven - framework by spreadsheet template. It can be used in your current automation project. It increases automation efficiency by minimizing initial coding effort. It is a script-less framework used for test automation of web applications that are developed on .Net, Java / J2EE, AJAX.

Tricentis Tosca

Test Automation Tool A functional testing tool that is used to automate end-to-end testing for software applications.

UFT (Unified Functional Testing

Test Automation Tool An automation functional testing tool used primarily for functional and regression testing. You can automate user actions on a web or client based computer application and test the same actions for different users, different data set, on various Windows operating systems and/or different browsers.

Cucumber

Test Automation Tool Open Source Used for testing Software Runs Automated acceptance tests written in behavior driven-development style Central to BDD

NeoLoad by Neotys

Test Automation Tool Tests the performance of web applications using customizable scenarios for load and stress. Automated Load Testing tool enabling you to run Continuous Performance Testing on all your applications & APIs.

Software Testing Documentation Terms

Test Plan; Test Cases; Test Suite; Test Strategy; Traceability Matrix; Test Script; etc.

JUnit

Testing Framework JUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development

TestNG

Testing Framework TestNG is a testing framework for the Java Programming language, inspired from JUnit and NUnit

End-to-End Testing

Testing a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.

Negative Testing

Testing aimed at showing software does not work. Also known as "test to fail". See also Positive Testing.

White Box Testing

Testing based on an analysis of internal workings and structure of a piece of software. Includes techniques such as Branch Testing and Path Testing. Also known as Structural Testing and Glass Box Testing. Contrast with Black Box Testing. White box testing is used to test the internal logic of the code for ex checking whether the path has been executed once, checking whether the branches has been executed at least once .....Used to check the structure of the code.

Structural Testing

Testing based on an analysis of internal workings and structure of a piece of software. See also White Box Testing.

Black Box Testing

Testing based on an analysis of the specification of a piece of software without reference to its internal workings. The goal is to test how well the component conforms to the published requirements for the component.

Acceptance Testing

Testing conducted to enable a user/customer to determine whether to accept a software product. Normally performed to validate the software meets a set of agreed acceptance criteria.

scripted testing

Under scripted testing, tester designs test cases first and than executes it.

Unit testing

Unit testing is the phase of testing where object of testing is Unit ( the smallest testable part of an application.). Unit testing verifies that units usable and have correct data. Unit tests are usually created/run by developers (or white box testers) during the development process to ensure that code meets its specification and behaves as expected.

What is smoke testing?

What is smoke testing? Smoke testing is run to identify simple failures, severe enough to reject software release. Like: Doest the program run? Does it open a window? Does clicking the main buttons do anything?

Functional

What the system does? Typically described in requirements, but can be undocumented; Verify that functions of a system are working as specified. May occur at all test levels.

What types of testing do you know?

What types of testing do you know? Static vs Dynamic Manual vs. Automation Black/white/gray box Non-functional/functional Positive/negative exploratory (ad-hog) unit/integration/system/ end to end acceptance regression security alpha testing/betta Testing Smoke Testing Performance: Load, Stress Testing Compatibility Testing Usability Testing Installation Testing Internationalization Testing/Localization Testing Accessibility Testing Boundary Testing

White box

White box testing is done with access to the code. Bugs are reported at the source code level, not behavioral.

Why Test Cases?

• Better testing coverage; • Reusable; • Reviewable; • Traceable - know what is tested; • Tracking test results;

Bug report (rules)

● Rule of WWW: 1. What happened? 2. Where it happened? 3. Under What circumstances? ● Write one bug report for each bug; ● Bug report should be as complete as possible; ● Bug reports should be as concise/summary/brief (simple and understandable) as possible; ● Report a bug immediately, do not postpone/put off; (without procrastination) ● Use technical terms, not the "street" language

QA Process:

● Test Planning ● Test Development ● Test Execution ● Bug Reporting ● Defect Management


Related study sets

Macroeconomics Chapter 24 Questions

View Set

TEMA 1. LA PSICOLOGÍA COMO CIENCIA

View Set

Civil Rights/Civil Liberties Final

View Set

Genetics Final Review (past exam questions)

View Set

Chapter 15: Pain Management During Childbirth

View Set