People and organizational issues in Testing 1 People

  • Slides: 31
Download presentation
People and organizational issues in Testing 1

People and organizational issues in Testing 1

People in the process • People are an organisation’s most important assets • The

People in the process • People are an organisation’s most important assets • The tasks of a manager are essentially people oriented. Unless there is some understanding of people, management will be unsuccessful • Software engineering is primarily a cognitive activity. Cognitive limitations effectively limit the software process 2

Management activities • • • Problem solving (using available people) Motivating (people who work

Management activities • • • Problem solving (using available people) Motivating (people who work on a project) Planning (what people are going to do) Estimating (how fast people will work) Controlling (people's activities) Organising (the way in which people work) 3

Limits to thinking • People don’t all think the same way but everyone is

Limits to thinking • People don’t all think the same way but everyone is subject to some basic constraints on their thinking due to – Memory organisation – Knowledge representation – Motivation influences • If we understand these constraints, we can understand how they affect people participating in the software process 4

Information transfer • Problem solving usually requires transfer between short-term memory and working memory

Information transfer • Problem solving usually requires transfer between short-term memory and working memory • Information may be lost or corrupted during this transfer 5

Problem solving • Requires the integration of different types of knowledge (computer, task, domain,

Problem solving • Requires the integration of different types of knowledge (computer, task, domain, organisation) • Development of a semantic model of the solution and testing of this model against the problem • Representation of this model in an appropriate notation or programming language 6

Problem solving 7

Problem solving 7

Motivation • An important role of a manager is to motivate the people working

Motivation • An important role of a manager is to motivate the people working on a project • Motivation is a complex issue but it appears that their are different types of motivation based on – Basic needs (e. g. food, sleep, etc. ) – Personal needs (e. g. respect, self-esteem) – Social needs (e. g. to be accepted as part of a group) 8

Human needs hierarchy 9

Human needs hierarchy 9

Motivating people • Motivations depend on satisfying needs • It can be assumed that

Motivating people • Motivations depend on satisfying needs • It can be assumed that physiological and safety needs are satisfied • Social, esteem and self-realization needs are most significant from a managerial viewpoint 10

Time distribution 11

Time distribution 11

Group composition • Group composed of members who share the same motivation can be

Group composition • Group composed of members who share the same motivation can be problematic – Task-oriented - everyone wants to do their own thing – Self-oriented - everyone wants to be the boss – Interaction-oriented - too much chatting, not enough work • An effective group has a balance of all types • Can be difficult to achieve because most engineers are task-oriented • Need for all members to be involved in decisions which affect the group 12

Group leadership • Leadership depends on respect not titular status • There may be

Group leadership • Leadership depends on respect not titular status • There may be both a technical and an administrative leader • Democratic leadership is more effective that autocratic leadership • A career path based on technical competence should be supported 13

14

14

Developing cohesiveness • Cohesiveness is influenced by factors such as the organisational culture and

Developing cohesiveness • Cohesiveness is influenced by factors such as the organisational culture and the personalities in the group • Cohesiveness can be encouraged through – Social events – Developing a group identity and territory – Explicit team-building activities • Openness with information is a simple way of ensuring all group members feel part of the group 15

Group loyalties • Group members tend to be loyal to cohesive groups • 'Groupthink'

Group loyalties • Group members tend to be loyal to cohesive groups • 'Groupthink' is preservation of group irrespective of technical or organizational considerations • Management should act positively to avoid groupthink by forcing external involvement with each group 16

Staff selection factors 17

Staff selection factors 17

Working environments • Physical workplace provision has an important effect on individual productivity and

Working environments • Physical workplace provision has an important effect on individual productivity and satisfaction – Comfort – Privacy – Facilities • Health and safety considerations must be taken into account – Lighting – Heating – Furniture 18

Environmental factors • Privacy - each engineer requires an area for uninterrupted work •

Environmental factors • Privacy - each engineer requires an area for uninterrupted work • Outside awareness - people prefer to work in natural light • Personalization - individuals adopt different working practices and like to organize their environment in different ways 19

Workspace organisation • Workspaces should provide private spaces where people can work without interruption

Workspace organisation • Workspaces should provide private spaces where people can work without interruption – Providing individual offices for staff has been shown to increase productivity • However, teams working together also require spaces where formal and informal meetings can be held 20

Challenges in Testing Technical challenges: • Its normally associated with the core coding aspect

Challenges in Testing Technical challenges: • Its normally associated with the core coding aspect of software development. • Its about learning the languages and the algorithms. • Writing quality and maintainable code – that can be scale to multiple systems – used by millions of users 21

 • Finding and fixing logical errors, debugging bugs in code. Operational Challenges: •

• Finding and fixing logical errors, debugging bugs in code. Operational Challenges: • It deals with management, career advancement and recognition, collaboration with other engineers, product managers. • Continuous education of both technical and business parts of an organization. 22

Career option for Software Tester 23

Career option for Software Tester 23

Specialization has come to stay in testing career – following are some of the

Specialization has come to stay in testing career – following are some of the key areas where one need to specialize to move ahead in career path in testing apart from good knowledge in software lifecycle testing process. 24

 Domain Knowledge – Good knowledge in domain area of the application adds value

Domain Knowledge – Good knowledge in domain area of the application adds value to the testing professionals. There are ever living domains like Telecom, Health care, manufacturing, embedded etc. Numbers of certifications are available for each of these areas where the tester can get them certified. 25

 Automation Testing Tools Knowledge – There is great demand for automation and performance

Automation Testing Tools Knowledge – There is great demand for automation and performance testers. A good skill on scripting languages of these tools is basic necessity for succeeding in test automation. Knowledge on creation, validation and enhancement of test automation framework is very much required. 26

 Certifications – QAI( Quality Assurance International), ISQTB ( International Software Testing Qualification Board

Certifications – QAI( Quality Assurance International), ISQTB ( International Software Testing Qualification Board ) and several other institutes are offering testing specific certifications. These certifications improve the confidence of the clients on the testing professionals. CQTM, PMP are some managerial certifications, which help the testers to scale up in the professional ladder. Certifications on the testing tools offered by vendors like HP increases the technical competency of the individual. 27

Testing Misconception 1: Tests show my code is correct. • We can test one

Testing Misconception 1: Tests show my code is correct. • We can test one possible scenario in the program – Each unit • Infinite number of scenarios to test – Not feasible • Developer and Tester – Same person – Finding bugs is difficult. 28

Tests are executable specifications Misconceptions 2: Tests lead to good design • Testing process

Tests are executable specifications Misconceptions 2: Tests lead to good design • Testing process should be initiated after the preparation of a series of prototypes. Otherwise our tests will have to be thrown away and rewritten. • Making code testable is hard. 29

 • Both develop and testing team should be worked in synchronization. • From

• Both develop and testing team should be worked in synchronization. • From Day 1 - Testing and developing team should involved. • Software testing team – overall knowledge. ( Domain Knowledge) 30

Soft skill requirements Developer – Language will be decided by the nature of the

Soft skill requirements Developer – Language will be decided by the nature of the project and the technology – Accordingly developer will be selected. Testers: Different skills set required – Programming knowledge and domain knowledge. 31