GIT NOTES.txt

0.0(0)
Studied by 5 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/70

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 1:58 PM on 2/13/24
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

71 Terms

1
New cards

Testing

Process of executing a program with the intent of finding errors.

2
New cards

Software testing

A process where the software is evaluated to determine that it meets the user needs and that the process to build the software was followed correctly.

3
New cards

Software Testing Cycle

Validation - Software is evaluated to determine that it meets the user needs.

Verification - process to build the software was followed correctly.

4
New cards

Main purpose of a tester

Find bugs, replicate them, report them, verify that the bugs have been fixed and make sure the game is fun.

5
New cards

Why software testing is important?

Testing is critical to make sure that the software has appropriate quality and works correctly.

6
New cards

ISTQB

International Software Testing Qualifications Board.

7
New cards

Principle 1 - Testing shows presence of defects

Testing reduces the probability of undiscovered defects remaining in the software.

8
New cards

Principle 2 - Exhaustive Testing is impossible

Testing everything is not feasible except for trivial cases. risk analysis and priorities should be used to focus testing efforts.

9
New cards

Principle 3 - Early Testing

Testing activities should be started as early as possible in the software or system development life cycle (SDLC).

10
New cards

Principle 4 - Defect clustering

Testing effort shall be focused proportionally to the expected and later observed defect density of modules.

11
New cards

Principle 5 - Pesticide Paradox

test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software or system to find potentially more defects.

12
New cards

Principle 6 - Testing is Context Dependent

Testing is done differently in different contexts.

13
New cards

Principle 7- Absence of errors fallacy

Finding and fixing defects does not help if the system built is unstable and does not fulfil the user’s needs and expectations.

14
New cards

Testing Rules

A programmer should avoid attempting to test his or her own program.

A programming organization should not test its own programs.

Test cases must be written for input conditions that are invalid and unexpected, as well as for those that are valid and expected.

Avoid throwaway test cases unless the program is truly a throwaway program.

Testing is an extremely creative and intellectually challenging task.

15
New cards

Unit Testing

It is the execution of a complete class, routine or small program that has been written by a single programmer or team of programmers, which is tested in isolation from the more complete system.

Tested individually and independent of each other.

To test the smallest units or software components in a program.

16
New cards

Advantages of Unit Testing

Helps you isolate bugs faster and fix them quicker.

Prevents future updates from adding new bugs to old working code.

Provides confidence that a method behaves as expected.

17
New cards

Disadvantages of Unit Testing

Bad or inaccurate tests create false confidence.

Requires more knowledge to implement correctly.

UI is hard to test.

Unit tests don’t catch integration errors.

18
New cards

Test Suite

A test suite houses all unit tests related to a logical grouping of functionality.

19
New cards

Integration Testing

Validates how modules of code work together.

It is the combined execution of two or more classes, packages, components, or subsystems.

20
New cards

Ways to do integration testing

Top-down Integration - Top level components created first.

Bottom-Up Integration - Low level components created first.

Ad-Hoc Integration - Integrated in the order in which they are finished.

Backbone Integration - Skeleton is built and components gradually integrate into it.

21
New cards

System Testing

Execution of the software in its final configuration.

Checks if integrated product meets specified requirements.

Quality of the data used should be consistent, complete and up to date.

22
New cards

Acceptance Testing

Created during design phase and actual testing is done after system is fully developed and tested and ensure the software meets the requirements.

Basically Beta Testing.

23
New cards

Non-Functional Categories of Testing

Stress Test

Load Test

Performance Test

Volume Test

Security Test

Stability Test

Robustness Test

Compatibility Test

Configuration

Usability Test

Documentation Checks

Maintainability Checks

24
New cards

Code Inspection(Static Testing) Benefits

4 Moderators.

Programmer gets feedback.

Other participants gain by being exposed to programmer’s errors and programming style.

Identifies most error-prone sections of program.

25
New cards

4 Types of Testing in order

Unit > Integration > System > Acceptance

26
New cards

Walkthrough(Static Testing)

Participants simulate how a computer would execute the code.

Done by 3-5 People(Moderator, Secretary, Tester, Programmer).

27
New cards

Desk Checking(Static Testing)

Reads programs, checks with an error list and walks test data through it.

Done by 1 Person.

28
New cards

Peer Ratings(Static Testing)

Evaluate anonymous programs in terms of overall quality, maintainability, extensibility, usability and clarity.

Provides programmer self-evaluation.

29
New cards

Black Box Testing

Test the system against external factors responsible for software failures.

Usability Issues, Performance, abrupt application failure and response time of the system.

30
New cards

White Box Testing

Exercise the source code directly.

Testing code modules that will become part of a reusable library.

31
New cards

Differences between Black Box Testing and White Box Testing

White box testing provides the tester with better prospects to exercise the source code directly and in ways that no player ever could but black box testing doesn’t.

32
New cards

Regression Testing

software which was previously developed and tested still performs the same way after it was changed or interfaced with hardware.

33
New cards

Load Testing

Test heavy activity and whether the application is able to function properly under load.

34
New cards

Game Debugging

Track reported software bugs in game development projects.

Bug tracking systems are integrated with other project management software.

35
New cards

Low Priority Bug

Hardly matter and makes no difference whether they are fixed or not.

36
New cards

Medium Priority Bug

Should be fixed as it annoys the player but not affect gameplay.

37
New cards

High Priority Bug

Must be fixed as they seriously affect gameplay.

A game that ships with high bugs is a bad game or has been rushed to the market.

38
New cards

Critical Bug

Very special bugs that demands immediate attention which can cause crashes, freezes and data corruption.

Must be fixed at all costs and game is sent back to developer if spotted by publisher.

39
New cards

Bug Categories

Visual

Audio

Level design - Badly constructed game level

Artificial intelligence - pathfinding and NPC behaviour

Physics

Stability - Predictability of the code

Performance - Speed with which the hardware processes the code

Networking - Server-client connectivity and bandwidth issues

Compatibility - Relate to how a game runs on certain hardware

40
New cards

Bug reporting system status

Open

Assigned

Resolved

Verified

Closed

41
New cards

Quality Assurance Team Roles

Producer - Oversees the game after months of development

QA Manager - Assesses the situation and considers how to plan

Lead Tester

Floor Lead - Unofficial leader tester

42
New cards

Version Control System

Records changes to a file or set of files over time.

Allows you to revert selected files or the entire project back to a previous state.

43
New cards

Benefits of Version Control System

Backup and Restore

Sync with multiple computers

Working in a team

Safely create and test new features

Ownership / Credits / Blame

44
New cards

VCS Terminologies

Repository - Database where files are stored

Server - The computer storing the repository

Client - The computer connecting to the repository

Working copy -Your local directory of files

Trunk/Main - Master location for code in the repository

Head - The latest revision in the repository

Add - Place a file under version control

Check in - Send local changes to repo

Check out - Download from a repo to your working copy

Ignore - Allows files to exist in your working copy but not in the repo

Revert - Throw away your working copy and restore last revision

Update/Sync - Update your working copy to the latest revision

Diff / Change - Specific modification to a document

Branch - Duplicate copy of code used for feature development

Merge - Integrate changes from two different branches

Conflict - Inability to reconcile changes to a document

Resolve - Manual fixing of conflicted document changes

Locking - Prevents other developers from making changes

45
New cards

Local Version Control System

A simple database that keeps all changes to files

46
New cards

Centralised Version Control System

Need to collaborate with developers.

A single server that contains all the versioned files.

Everyone can check what everyone else on the project is doing to a certain.

Administrators have fine-grained control.

Lose everything if the central database on the hard disk becomes corrupted.

47
New cards

Distributed Version Control System

Fully mirror the repository including its full history.

If any server dies, any of the client repositories can be copied back up to the server to restore it.

Every clone is a full backup.

Deal well with having several remote repositories.

Allows several types of workflow setups.

48
New cards

GITHUB

Modified - Changed the file but have not committed to database yet

Staged - Marked a modified file in its current version into your next commit snapshot

Committed - Data is safely stored in your database

49
New cards

Unity Version Control System Perforce VCS vs Plastic SCM

Perforce Supports remote activity but PlasticSCM does not

50
New cards

Test Plan

A document describing the software testing scope, approach, resources and schedule of intended test activities.

Software Requirement Specification (SRS)

51
New cards

Test Case

A set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly.

52
New cards

Good Test Case

Detects an as yet undiscovered error

Shows that a program does not do what it was designed to do

53
New cards

Balance Testing

Ensures that gameplay is fair to both human and AI player alike.

Multiplayer games need to be balanced or all matches will be skewed.

54
New cards

Compatibility Testing

Game is tested with different hardware configurations

Game is full compatible with parts and peripherals found on the market

Need to be proficient in PC assembly and troubleshooting

55
New cards

Soaking

A sub-discipline of testing, leaving the console or computer running for extended periods of time

It is necessary when memory leaks or rounding errors might hurt the game stability in the long run

56
New cards

Compliance Testing

Game has to go through certification before being sold on the market and is conducted by hardware developers

PEGI (Pan European Game Information)

ESRB (Entertainment Software Rating Board)

57
New cards

Localisation Testing

Involves converting a game from one region to another

Translation mistakes are a bad sign for a foreign game

58
New cards

Play Testing

Involves going over all possible varieties of play and making sure all of them are fun

Watch for gameplay mechanics

59
New cards

Playability Test

To provide feedback to allow us to improve the product for the players who will play this game.

Includes the usability test.

60
New cards

Usability Test

Process of observing user's reactions to a product and adjusting the design to suit their needs

Gameplay mechanisms need to make sense and be easy to use

61
New cards

Purpose of Playability Testing

Identify issues with the layout and errors

Identify broken links

Evaluate the content

Check user reaction

62
New cards

Evaluators

Age

Experience

Gender

Education

Prior Training

Technical Expertise

63
New cards

Mock-up/Prototype

Checklist - Items to test based on requirements and standard ease of use criteria

Survey - Questionnaires with a rating for different aspects of interaction and usability

Scenario - Testing tasks to test the typical interaction of user with the game

64
New cards

Evaluating player enjoyment in games

Concentration

Challenge Player Skills

Control

Clear goals

Feedback

Immersion

Social Interaction

65
New cards

Heuristics to evaluate the playability of games

Gameplay

Game Story

Game Mechanics

Game Usability

66
New cards

Types of Playability Test

Functional Playability - Ability to explicitly attempt to do something in the game

Structural Playability - Measure of if the gameplay is sufficiently demanding to engage

Sensory Playability - Information presentation and availability

Social Playability - Measure of how well the gameplay facilitates a certain type of social interaction practice

67
New cards

Goal or Task(Levels of Complexity)

Give as much information as needed for the tester and provide task descriptions without steps

68
New cards

Detailed Scenario(Levels of Complexity)

Describes the user characteristics that the user interface should be designed for

69
New cards

Full Scale Scenario

Has exact steps to acommplish the task that needs to be followed and tested

70
New cards

Alpha testing

Find defects before the code is released to key customers during the beta test or general population

Ensure that majority of the most common tasks and scenarios work well

71
New cards

Beta Testing

Closed Beta - Selected group of customers, company works closely with them during the test.

Open Beta - Software is available on request.