Software testing expert evangelization

Post on 04-Dec-2014

192 views 2 download

Tags:

description

 

Transcript of Software testing expert evangelization

Software Tester Expert evangelizationby Vasile Hriţcu

Day 1

• Testers from Day 1

• Learning by exploratory testing

• Run of first “technological” test

• “black” / “white-box”

• First software application

Day 1 – Software Tester

First:

•Computer experience

•Played game

•Software/operating system/drivers installation

•“Hello, world!” program with “test your code” experience

Day 1 – Professional Software Tester

Software testing

• Definition

• Role of a starter: (s)he is executing the tests created by others

• “Hard” and “Soft” skills

• Validate and verify

Testing pillars

• Technology

• Science

• Mathematics

• Logic

• Psychology

• Ergonomics

• Communication

• Professional networking

Technology

• Tested software application itself

• Tools

• Operating systems

• Database

• Networking

• Frameworks

• Programming

• …

Science (Physics)

• Statics and dynamics

• Abstraction (Modeling) and simulation

• Complexity

Complexity - Weather map

Mathematics

• Metrics• Sets (w/ the finer vs. coarser test sets problem)• Graphs (w/ state transition testing)• Probability (w/ equivalence classes to partition infinite

input spaces into "testable" sets, risk-based testing, error guessing)

• Statistics (w/ boundary testing, user profiling, reliability engineering)

• Combinatorics (w/ pairwise, triple, or n-way combinations of a system’s test sets)

Graphs

Logic

• Operations

• Diagrams

• Comparison

• Critical thinking

• Analysis

• Lateral thinking

Operations & Diagrams

Psychology

• Training

• Learning

• Assumptions

• Continuous change

• Heuristics

• Role-playing

• Human reliability

Change – be dynamic

Cognitive ergonomics

• Perception

• Memory

• Mental workload

• Work stress

• Reasoning and motor response

• Decision-making

Cognitive ergonomics

Communication

• Reading

• Writing

• Conversations

• Foreign languages

• Document design

• Common terminology

• Methodologies

• Practices

Common terminology

Professional networking

• Contact of involved stakeholders

• Part of domain groups

• Part of testing groups

• Visibility (project/department/company/industry)

Tester’s visibility

Acquiring the product expertise

One should acquire the product expertise after:

•fully understanding the software product

Also, (s)he is:

•creating/maintaining the Test Plan

•participating to design review for new features

•sometimes, the most knowledgeable person

Acquiring the Company expertise 1

One should acquire the Company expertise after:

•knowing its entire suite of products

Also, (s)he is:

•involved in the initial communication phase and participating in the requirements meetings

•the Test Architect, creating the Test Strategy

•not involved (usually) in the execution stage

Acquiring the Company expertise 2

The Company expertise holder is:

•business savvy, having business kinesthesia

•able to see the bigger picture of the Company’s business approach and procedures

•able to actively participate to its growth

Involvement during the software development process

Tester’s octagon of strengths

Stop

Acquiring the domain expertise

One should acquire the domain expertise, after:

•studying the software products of the competitors

•working for the domain’s leader

•the continuous study of alternative solutions

•passive and active participation to technical and business domain’s events

Expertise != Expert

• Horizontal evolution, beside a vertical one

• Gain another domain expertise (by repeating the previous steps at a higher velocity)

• The expertise is relative (contextual), the discipline Expert role is less relative, but never absolute (non-contextual)

Becoming a Testing Expert

After:

•changes (depending on domain’s complexity)

•being recognized as a massive contributor to the quality of the software products

•being a continuous participant to discipline events, technical publisher

•being solicited to provide independent auditing

Don’t forget!!! As a tester:

• I always tell the truth

• I deliver good results

• I’m efficiently using the tools and resources

• I communicate and collaborate efficiently with all the stakeholders

• I keep informed the clients about the risks/problems/limitations and improvements

Also:

• Make your point fully understood and accepted by the customer

• Give 100% to your work

• Gather as much as possible information about the product/technologies

• Don’t forget that everything is RELATIVE

Q&A

Q&A

Thank you!