Software testing methodologies. Which one to choose? Testing. Fundamental theory

Theoretical and practical psychology is a science of incredible depth, allowing us to understand the secrets of human consciousness. This science never stops and improves every day, delving deeper and deeper into the study of the human personality and its behavior.

Tests in psychology are one of the methods for studying the human mind. To date, the types of testing are difficult to accurately calculate. A wide variety of questionnaires allows anyone to understand themselves and learn many secrets of their personality without directly contacting a specialist.

It is important to note that there are psychological tests for women and men separately, but we will look at general method tests in psychology that are not divided by gender. Let's figure out the secrets of our consciousness together.

Where is psychological testing used?

Psychological tests with answers are used in the following cases:

  • To establish the characteristics of human personality.
  • Psychology tests for students help determine the future specialization of the younger generation.
  • As a method to help determine the specifics of a child’s development.
  • If necessary, confirm the professional suitability of the subject.
  • To confirm mental health.

In fact, testing in psychology is a huge area, and they are used in different areas. But we will focus on the first task - personality traits - and will try to study the personal characteristics of each person as accurately as possible.

Eysenck test

Personality psychology tests occupy a large area in this science. The first questionnaire that you should take in order to better understand yourself is the Eysenck test, or, in other words, a study of human temperament. There are 4 main types of temperament: phlegmatic and melancholic. How to pass psychological tests? To determine which type you belong to, you should answer the following 57 questions. You only need to answer “yes” or “no”.

  1. Do you like to be in the epicenter of activity and bustle?
  2. Do you tend to feel anxious because you don't know what you want?
  3. Are you one of the people who won't go out of their way to say anything?
  4. Are you prone to unreasonable mood swings?
  5. Do you try to avoid noisy parties and holidays, and if you attend them, do you try to be as far away from the center of attention as possible?
  6. Do you always do what is asked of you?
  7. Do you often find yourself in a bad mood?
  8. In quarrels, is your main principle silence?
  9. Does your mood change easily?
  10. Do you like to be around people?
  11. Does it ever happen that you can't sleep because of anxious thoughts?
  12. Would you be considered stubborn?
  13. Are you considered dishonest?
  14. Do they say about you that you are a slow-witted person?
  15. Is the best job done alone?
  16. Is a bad mood a frequent and unreasonable guest?
  17. Do you consider yourself an active person in the very epicenter of life?
  18. Can they make you laugh?
  19. Do you ever experience a situation where you are completely fed up with something?
  20. Do you feel confident only in familiar and comfortable clothes?
  21. Do you find it difficult to concentrate?
  22. Do you have problems expressing your thoughts in words?
  23. Do you often get lost in personal thoughts?
  24. Are you a person who rejects prejudice?
  25. Do you consider yourself a fan of practical jokes?
  26. Are your thoughts mostly about work?
  27. Is it important for you to eat tasty food?
  28. When you want to talk, is it important that your interlocutor is in a good mood?
  29. Don't like to borrow?
  30. Do you tend to brag?
  31. Do you consider yourself sensitive to anything?
  32. Do you prefer a home gathering alone than a noisy holiday?
  33. Do you have severe anxiety?
  34. Are you making plans much earlier than necessary?
  35. Do you experience dizziness?
  36. Do you respond to messages immediately?
  37. Do things work better when you do them on your own than with a group?
  38. Do you experience shortness of breath even without exercise?
  39. Do you consider yourself a person who can calmly deviate from generally accepted rules (within the norm)?
  40. Concerned about your condition nervous system?
  41. Do you like to make plans?
  42. Is it better to put off until tomorrow what can be done today?
  43. Are you afraid of confined spaces?
  44. Are you proactive when you first meet a person?
  45. Do you get severe headaches?
  46. Are you a believer that many problems can be solved on their own?
  47. Do you suffer from insomnia?
  48. Tendencies to lie?
  49. Does it ever happen that you say the first thing that comes to mind?
  50. When you find yourself in a stupid situation, do you often remember it and worry about it?
  51. Are you closed?
  52. Do you often find yourself in unpleasant situations?
  53. Are you an avid storyteller?
  54. The main thing is not victory, but participation - isn't that about you?
  55. Are you uncomfortable in a society where people are higher than you in social status?
  56. When everything goes against you, do you continue to act?
  57. Are you very nervous before an important task?

Now let's check the key.

Key to the test

We will determine it based on several factors: extraversion - introversion, the level of neuroticism and the lie scale. For each match with the answer, 1 point is awarded.

Extraversion - introversion

Answers "yes": 1, 3, 8, 10, 13, 17, 22, 25, 27, 39, 44, 46, 49, 53, 56.

Answers “no”: 5, 15, 20, 29, 32, 34, 37, 41, 51.

As you noticed, some question numbers are missing. This is not a mistake, this is how it should be. Let's check the key to this point. Take a look at the circle (see picture below) - the horizontal line indicates the extraversion - introversion scale. The higher the score on this trait, the more prone you are to extraversion and vice versa. The number 12 is the average.

Neuroticism scale

The neuroticism scale on the same circle has the designation stability-instability. Only “yes” answers need to be verified here.

Yes answers: 2, 4, 7, 9, 11, 14, 16, 19, 21, 23, 26, 28, 31, 33, 35, 38, 40, 43, 45, 47, 50, 52, 55 , 57.

The Neuroticism Scale helps determine the resilience of your nervous system. It is located vertically and must be worked with in the same way as in the previous paragraph.

Lie

The lie scale is not displayed on the circle, but several questions are specifically highlighted to determine it.

Answers “yes”: 6, 24, 36.

Answers “no”: 12, 18, 30, 42, 48.

It is worth noting that when answering such psychological tests with answers, you must first of all be extremely honest with yourself. The key to this scale is as simple as possible: if you score more than 4 on this item, it means that you have been insincere in some areas. A mark of 4 and below indicates the norm in the answers.

In some interpretations, there is a division between psychological tests for women and men, since the fair half of humanity is more prone to emotionality, which may have a minor impact on the test results.

Explanations for the Eysenck circle

The tests end with determining our temperament type. Look at the circle again and find the intersection point of your two previous marks. The new (third) point will be located in the quarter, symbolizing the type of your temperament.

Sanguinistic

People of this temperament are considered cheerful. They are often the leaders of the group and lead people with them, exuding activity and movement. The mood of these people is always positive, it is easy for them to make new acquaintances, they feel comfortable among a new circle of people.

Sanguine people need constant change and novelty. This is a real need, because if you force a sanguine person to do a tedious task for a long time, his cheerfulness will fade, the person will become lethargic and inactive. That’s why such people easily move from place to place and make new acquaintances.

Phlegmatic

Phlegmatic people are calm people. It is difficult to piss them off and force them to show their emotions. Phlegmatic people control all their actions, they rarely lose sight of something and think about their every step.

It is not so easy to influence the change of mood of a phlegmatic person due to their composure. But people of this temperament need to try to be more active and avoid being overly immersed in their thoughts, which can lead to a bad mood.

Choleric

Cholerics live in outbreaks. Their emotions can change at the drop of a hat, as can ups and downs in activity. Such people take on any task, but sometimes cannot complete it due to lack of energy.

Cholerics are emotional and hot-tempered, so they can easily quarrel with anyone. Such individuals need more control over themselves.

Melancholic

The mental processes of melancholic people proceed extremely slowly. It is almost impossible to bring these people out of their state of mental balance. Such a person feels uncomfortable in a large company; in a group their performance decreases. A melancholic person is more comfortable working alone.

Such a person is frightened by something new. Melancholic people rarely share their experiences and keep everything to themselves.

This type of temperament can end there. Your first step into self-knowledge has been completed. Let's look at interesting psychology tests further.

Luscher test

Psychological tests based on colors are widely used by specialists not only with children. They are no less informative for assessing adult personalities. This test in psychology is a way to understand your current state of mind. The Luscher questionnaire is based on 8 colors. There are many interpretations of this study, as well as variations of the most interesting test in psychology. But we will focus on a short, but no less accurate version:

  1. Prepare a sheet of paper and a pen.
  2. Take a look at the picture (above). Before you are 8 colors. You need to choose the most preferred and pleasant color for you at the moment. Please note that you do not need to correlate the color you choose with your favorite color in clothing, surroundings, fashion trends, etc. Your choice should be as impartial as possible and independent of your personal preferences. You make a choice only based on your current desires.
  3. Next, you need to continue your choice according to the same principle: you choose the most pleasant color from the remaining ones. Write down the order of choosing colors on paper.

This completes the first stage. But we don’t stop there and move on to the second stage:

  1. Let's use a new piece of paper and pen again.
  2. It may surprise you, but we are repeating the same procedure again. There are again 8 colors in front of you, and you begin to choose the most pleasant color one by one. You should not try to correlate your previous and current choices - mark the pictures as if you were seeing them for the first time.

We have now completed the psychological testing. Why was it necessary to carry out the same procedure twice? The answer is simple: your first choice (quite often this test is used to assess personality in psychology) is what you want. The second stage reflects reality, which may differ from your desires. Let's move on to interpretation.

Let's define what each position means:

  1. The first value you choose determines the means by which you achieve your goal. It doesn’t matter whether you have any specific intentions at the moment, because we are studying what is embedded in your subconscious right now.
  2. The second position characterizes the very goal that we are achieving.
  3. Next we consider pairs of positions. Numbers 3 and 4 characterize your feeling about the current situation.
  4. The 5th and 6th positions are a reflection of your neutral attitude towards these colors. In certain situations, these positions can carry considerable significance, since they reflect an action or need that you deliberately put on the back burner until better times;
  5. Numbers 7 and 8 are what you have a strong antipathy towards.

Once you understand what each number means, you can move on to specific definitions.

Meaning of colors

First of all, we can divide all the colors used into two groups - main and additional. The main group includes blue, blue-green, orange-red and light yellow. In a normal state of consciousness of a person and his peace of mind, the absence of internal conflicts, these colors occupy the first 5 positions.

Additional shades - purple, black, brown, gray. These colors belong to the negative group, which reflects hidden or obvious fears, anxiety, and dissatisfaction with the situation.

Blue is a symbol of calm and contentment. Finding him in first place in initial stage Our test speaks about a person’s need for a state of peace and absence of tension. In the second option, symbolizing reality, choosing blue is the most favorable outcome. It reflects that at the moment you are mentally peaceful.

Blue-green. The color represents confidence and stubbornness. The position of this color indicates that you, to one degree or another, need confidence in yourself and in your environment. If this color is located in the last positions in the second test, this indicates a weak personality and the need for human support.

Orange-red is the color of action, excitement and sometimes aggression. Depending on the location, it speaks of a state of readiness for active action and combating problems.

Light yellow is the color of fun and sociability. In a duet with blue it gives the most successful combination.

Psychological color tests will help you create an accurate picture of your current state of mind.

Optimist, pessimist, realist

Let's consider the last, but no less interesting test for general psychology. It will finally allow you to determine who you are - a cheerful optimist, a saddened pessimist or a wise realist. You must answer only “yes” or “no” questions:

  1. Are you interested in the opportunity to travel?
  2. Do you love learning something new?
  3. Do you have problems sleeping?
  4. Are you a hospitable person?
  5. Do you tend to predict problems in the future?
  6. Have your friends achieved more in life than you?
  7. Do you like to play sports?
  8. Does fate often give you surprises?
  9. Are you worried about the current state of the environment?
  10. Has scientific progress caused too many problems for the planet?
  11. Is your profession chosen well?
  12. How often do you use insurance?
  13. Are you a mobile person? Is it easy for you to move to another place if you are offered a job you like?
  14. Do you think you're cute?
  15. Are you worried about the condition of your body?
  16. Doesn't it bother you to be in an unfamiliar group?
  17. Do you like to be in the center of events?
  18. Is there friendship without mutual benefit?
  19. Do you have your own personal signs?
  20. Does everyone build their own destiny?

Having answered 20 fairly simple questions, let's move on to the key.


For each match to the key we give ourselves 1 point.

Answers “yes”: 1, 2, 4, 7, 11, 13-20.

Answers “no”: 3, 5, 6, 8, 9, 10, 12.

0-5 points. You are definitely a pessimist. Moreover, you are clearly exaggerating your hardships and problems, because life is full of black stripes, but not without white ones, but you see everything in black. Look at life differently - the world is not as gloomy as you think.

6-10 points. You are upset about what is happening. Everything around you is going wrong, although you continue to struggle. Life keeps bringing new surprises, and your friends cope with them better than you. Yes, you are pessimistic about life, but you have reasons for this. However, you shouldn’t be so upset about minor losses and life’s troubles - you are coping well and going in the right direction.

11-15 points. Your outlook on life is obvious and real. You do not exaggerate your sorrows, but you also do not get drunk with the joy of victories. Your attitude in life can be envied, because you are a realist and look at life with confidence. Keep up the good work and don't give up!

16-18 points. You are an optimist, you see your advantages in any problem and try to turn any situation to your advantage. Adversity does not pass you by, but you know how to treat it correctly, your life shines with colors.

19-20. We need to look for an optimist like you. You don’t see any problems, the whole world is a complete rainbow for you. But maybe it’s worth looking at life without rose-colored glasses? After all, sometimes frivolity leads to sad consequences.

Thus, we have completed tests on personality psychology. Of course, three questionnaires are not enough to know deep world person, but you have already embarked on the path of self-knowledge and have learned a lot about your character traits and state of mind.

But do not forget that a test in psychology is not a simple magic wand that everyone can use. Only a psychologist can provide accurate information. Interesting psychology tests are just an additional method of personality research. They provide only a current snapshot of the quality being studied. And many psychological tests and questionnaires stored on the Internet do not reflect reality at all.

Software testing is the evaluation of the software/product being developed to check its capabilities, capabilities and compliance with expected results. There are various types methods used in the field of testing and quality assurance will be discussed in this article.

Software testing is an integral part of the software development cycle.

What is software testing?

Software testing is nothing but testing a piece of code to controlled and uncontrolled operating conditions, observing the output, and then examining whether it meets predefined conditions.

Various sets of test cases and testing strategies are aimed at achieving one common goal - eliminating bugs and errors in the code, and ensuring accurate and optimal software performance.

Testing methodology

Widely used testing methods are unit testing, integration testing, acceptance testing, and system testing. The software undergoes these tests in a specific order.

3) System testing

4) Acceptance tests

First of all, a unit test is carried out. As the name suggests, this is an object-level testing method. Individual software components are tested for errors. This test requires precise knowledge of the program and each installed module. Thus, this check is carried out by programmers, not testers. To do this, test codes are created that check whether the software behaves as intended.


Individual modules that have already been unit tested are integrated with each other and checked for faults. This type of testing primarily identifies interface errors. Integration testing can be done using a top-down approach, following architectural structure systems. Another approach is the bottom-up approach, which is implemented from the bottom of the control flow.

System testing

In this testing, the entire system is checked for errors and bugs. This test is carried out by pairing the hardware and software components of the entire system and then testing it. This testing is classified under the black box testing method, where the user's expected operating conditions of the software are tested.

Acceptance tests

This is the last test that is carried out before the software is released to the client. It is carried out to ensure that the software that has been developed meets all customer requirements. There are two types of acceptance testing - one that is carried out by members of the development team is known as internal acceptance testing (Alpha testing) and the other that is carried out by the customer is known as external acceptance testing.

When testing is done with prospective clients, it is called client acceptance testing. When testing is carried out by the end user of the software, it is known as acceptance testing (beta testing).

There are several basic testing techniques that form part of the software testing regime. These tests are usually considered self-sufficient in finding errors and bugs in the entire system.

Black box testing

Black box testing is done without any knowledge internal work systems. The tester will drive the software to the user environment by providing various inputs and testing the generated outputs. This test is also known as Black-box testing, closed-box testing or functional testing.

White box testing

White box testing, as opposed to black box testing, takes into account the internal functioning and logic of the code. To perform this test, the tester must have knowledge of the code to know the exact part of the code that has errors. This test is also known as White-box, Open-Box or Glass box testing.

Gray box testing

Gray box testing or Gray box testing is something between White Box and Black Box testing, where the tester has only the general knowledge of the product necessary to perform the test. This verification is carried out through documentation and information flow diagrams. Testing is performed by the end user, or users who appear to be end users.

Non-functional tests

Application security is one of the main tasks of the developer. Security testing tests software for confidentiality, integrity, authentication, availability, and non-repudiation. Individual testing is carried out to prevent unauthorized access to the program code.

Stress testing is a technique in which software is exposed to conditions that are outside the normal operating conditions of the software. After reaching the critical point, the results obtained are recorded. This test determines the stability of the entire system.


The software is tested for compatibility with external interfaces such as operating systems, hardware platforms, web browsers, etc. A compatibility test checks whether a product is compatible with any software platform.


As the name suggests, this testing technique tests the amount of code or resources that a program uses when performing a single operation.

This testing checks the usability and practicality aspect of the software for users. The ease with which the user can access the device forms the main testing point. Usability testing covers five aspects of testing - learning, efficiency, satisfaction, memorability, and errors.

Tests during software development

The waterfall model uses a top-down approach, whether it is used for software development or testing.

The main steps involved in this software testing methodology are:

  • Needs Analysis
  • Design test
  • Implementation test
  • Testing, debugging and reviewing code or product
  • Implementation and maintenance

In this technique, you move on to the next step only after you have completed the previous one. The model uses a non-iterative approach. The main advantage of this technique is its simplified, systematic and orthodox approach. However, it has many disadvantages, since bugs and errors in the code will not be detected until the testing stage. This can often result in wasted time, money, and other valuable resources.

Agile Model

This methodology is based on a selective combination of sequential and iterative approaches, in addition to a fairly large variety of new development methods. Rapid and progressive development is one of the key principles of this methodology. The emphasis is on obtaining quick, practical, and visible outputs. Continuous customer interaction and participation is an integral part of the entire development process.

Rapid Application Development (RAD). Rapid Application Development Methodology

The name speaks for itself. In this case, the methodology takes a fast evolutionary approach using the principle of component design. After understanding the various requirements of a given project, a rapid prototype is prepared and then compared with the expected set of output conditions and standards. Necessary changes and modifications are made after joint discussion with the customer or development team (in the context of software testing).

While this approach has its share of advantages, it may not be appropriate if the project is large, complex, or has an extremely dynamic nature in which requirements are constantly changing.

Spiral model

As the name suggests, the spiral model is based on an approach in which there are a number of cycles (or spirals) from all the successive steps in a cascade model. Once the initial cycle is completed, a thorough analysis and review of the achieved product or output is performed. If the output does not meet the specified requirements or expected standards, a second cycle is performed, and so on.

Rational Unified Process (RUP). Rational Unified Process

The RUP technique is also similar to the spiral model in the sense that the entire testing procedure is broken down into several cycles. Each cycle consists of four stages - creation, development, construction, and transition. At the end of each cycle, the product/output is reviewed and the cycle (consisting of the same four phases) is followed as necessary.

Application information technology is growing every day, and the importance of proper software testing has also grown exponentially. Many companies maintain special teams for this purpose, whose capabilities are at the level of developers.

Psychological testing is a term in foreign psychology that denotes the procedure for establishing and measuring individual psychological differences.

Psychological testing is used in various fields: career guidance, professional selection, psychological counseling, planning correctional work etc.

A psychological test is a standardized task, based on the results of which the psychophysiological and personal characteristics, knowledge, skills and abilities of the subject are judged.

It takes 10 years of work by teams of authors to create an effective psychological test. The quality of the test is ensured by a multi-stage procedure for checking and standardizing its scales.

With the advent of the first tests, the term “psychological testing” became the most commonly used term to denote the measurement of individual psychological characteristics. Originally, the term "psychological testing" was used broadly to include any measurement of psychological science. As testing has evolved, the scope of psychological testing has narrowed to the measurement of personality and cognitive characteristics.

Characteristics of psychological tests:

Standard - test method undergoes standardization, as a result of which the data obtained must correspond to the law of normal distribution or a sociocultural norm. In accordance with the norms, ranges of values ​​are formed that tell us about the strength of expression of the characteristic being studied.

Reliability is the property of a test to give similar results when repeated measurements. A reliable technique gives similar results regardless of the time of year or gender of the experimenter, the influence of such background factors should be minimized by the technique itself, which determines its reliability.

Validity is the correspondence of test results to the characteristic it is intended to measure. There is a distinction between internal and external validity. In the case of external, this correspondence can be verified by a positive correlation with objective achievements; results on an intelligence test can be compared with academic performance. In the case of the internal one, everything is more complicated; here we are talking about a theoretical connection, about how well the constructed model actually models the stated aspect.

Types of tests:

A psychological test is a standardized test, the results of which are used to judge the psychophysiological and personal properties (traits, abilities, conditions) of the subject. Tests that judge the knowledge, skills and abilities of the subject occupy an intermediate position between psychological, educational and professional ones. tests.

A verbal test is a test based on the use of language, when the test taker, while performing a task, must not perform actions, but describe them in words.

A standardized test is a psychological test with a clearly defined, unchanging list of questions, instructions, methods for processing results and scoring.

Personality tests are psychological testing tests aimed at studying the character, abilities, emotions, needs and other properties of the human personality. Personality tests are divided into: projective tests, personality questionnaires and performance tests (situational tests).

Achievement test - a standardized test, also used for professional selection purposes: designed on educational material; designed to assess the level of mastery of educational knowledge and skills.

An imitation test is a psychological test in which a person is asked to complete a task, although the situation in which the task is to be performed is not recreated. The simulation test is used in the selection process of job applicants.

A professional aptitude test is a psychological test aimed at identifying individual interests and preferences. Such tests help determine the job most preferable for a particular person.

Intelligence test - psychological testing tests aimed at studying the degree of development of intelligence in a person. Intelligence test tasks: address verbal-logical thinking or are aimed at assessing the development of visual-figurative and visual-effective thinking; allow us to characterize memory, attention, spatial orientation, verbal development, etc.

Methods of psychology- basic ways and techniques of scientific testimony psychic phenomena and their patterns.

In psychology, it is customary to distinguish four groups of methods for studying the psyche.

One type of empirical method is testing.

Test- a short-term task, the completion of which can serve as an indicator of the perfection of certain mental functions. The task of the tests is not obtaining new scientific data, but a test, a test.

Tests are more or less standardized short-term tests of personality traits. There are tests aimed at assessing intellectual, perceptual abilities, motor functions, personality traits, the threshold for anxiety, frustration in a certain situation, or interest in a particular type of activity. A good test is the result of a lot of preliminary experimental testing. Theoretically based and experimentally tested tests have scientific (differentiation of subjects according to the level of development of a particular property, characteristics, etc.) and, most importantly, practical (vocational selection) significance.

The most widely known and popular personality tests are aimed at determining the level of intellectual development personality. However, nowadays they are used less and less for selection, although they were originally created for this very purpose. This limitation in the use of these tests can be explained by a number of reasons. But it is through their use, criticism of the abuse of tests and measures taken to improve them that the nature and functioning of intelligence has become much better understood.

When developing the first tests, two main requirements were put forward that “good” tests must satisfy: validity and reliability.

Validity The test is that it must evaluate exactly the quality for which it is intended.

Reliability The test is that its results are reproduced with good consistency in the same person.

Also very important is the requirement normalization of the test. This means that standards must be established for it in accordance with the test data of the reference group. Such normalization can not only clearly define the groups of individuals to whom a given test can be applied, but also place the results obtained when testing subjects on the normal distribution curve of the reference group. Obviously, it would be absurd to use norms obtained on university students to assess (using the same tests) the intelligence of children primary school, or apply the standards for children from Western countries when assessing mental abilities young Africans or Asians.

Thus, the criteria for intelligence in these types of tests are determined by the prevailing culture, i.e. those values ​​that originally developed in Western European countries. It does not take into account that someone may have a completely different family upbringing, a different life experience, different ideas (in particular, about the meaning of the test), and in some cases, poor command of the language spoken by the majority of the population.

Approaches to the Study of Emotions

Methods of scientific knowledge are methods by which scientists obtain reliable and reliable knowledge about psychological phenomena. This knowledge, unlike that which people receive and have in ordinary, everyday life, seems to be quite accurate and verifiable. The latter means that the correctness of scientific knowledge can be re-tested in a special study if it is organized and conducted in accordance with the rules of science. Such rules, in particular, include the laws of strict logic of thinking, following which allows one to obtain reliable knowledge.

Each science has its own methods of cognition, corresponding to the nature of the phenomena that are studied in this science. At the same time, different sciences use the same research methods. These are, for example, observation and experiment.

How can we study emotions? They can be studied by directly observing them, recording, evaluating and describing them in the form in which they are presented in human sensations. Introspection has been used in psychology for a long time. However, this method is not entirely reliable, since with its help it is impossible to obtain sufficiently reliable, objective information about mental phenomena. It does not allow us to study those phenomena that are not fully understood by humans. However, this is the only method by which mental phenomena can be observed and assessed directly.

Emotions can be indirectly judged by the external signs in which they manifest themselves. These are motor and other bodily reactions of a person directly related to emotions, his speech and actions. This method of studying mental phenomena is called objective, meaning that mental phenomena in this case are judged by external, clearly observable signs. This method also does not always allow one to obtain absolutely accurate and completely reliable knowledge about mental phenomena, since there is no clear connection between mental phenomena, bodily changes, verbal reactions and human behavior.

In principle, mental phenomena can be judged by what the person himself says about them. This method of studying mental phenomena is called self-report or survey. In order to draw correct conclusions about the laws to which mental phenomena are subject, it is possible to create conditions under which these phenomena will purposefully change, and then carefully monitor their changes. This method of studying mental phenomena is called experiment. It was borrowed by psychologists from other sciences, more developed than psychology, and contributed to the fact that psychology became a recognized, modern science.

IN fiction Many cases have been described (especially in detective stories) when the experimenter specifically models a situation, and the subject in this situation displays certain emotions indicating his involvement in the crime. About emotional state creative person can be judged by his work. However, a work of art does not always accurately reflect the emotional state of the author. In this case, the degree of “entering the role” is mixed in. A more accurate picture of a person’s emotional state can be given by his diaries. In diaries, a person usually expresses not only his thoughts, but also his experiences.

A good idea of ​​a person's emotional state can be obtained by examining his letters. T. Dreiser's work "An American Tragedy" describes a situation where Roberta's letters to Clyde, which reflect Roberta's emotional state shortly before her death, made such a strong impression on the jury and the public that Clyde was sentenced to execution.

Psychological tests are methods that can be used to accurately describe and quantify the psychological phenomena being studied. Psychological tests are standardized methods of scientific research in the above sense of the word; they cannot be arbitrarily changed and must be used exactly as described in the relevant instructions. Tests form the main group modern methods the study of mental phenomena, including psychic ones.

Skillfully designed tests can also be one approach to studying the emotional properties of a person. However, the design of such tests must be scientifically sound. For example, psychology often uses tests based on the choice of colors when drawing a particular picture. However, for example, pictures in which black color predominates do not always indicate that the subject was in a gloomy emotional state. The student, knowing that testing was being carried out, could deliberately draw a picture in dark colors.

Thus, it is necessary to design tests in such a way that they can be used to determine other personality traits.

CONCLUSION

Emotions play a lot big role in the life of every person. With the help of emotions, we determine the significance of external influences and evaluate our own behavior. All our victories and defeats are colored by emotions. Many life events are remembered precisely because of the emotions experienced. Nurturing a culture of emotions and feelings among students is an important direction in the overall educational work family and school, is an urgent task of literature, art, means mass media. The inability to manage one’s emotions disrupts one’s interpersonal interactions with other people, does not allow one to adequately build industrial, family, and friendly relationships, and becomes an obstacle to choosing and successfully mastering many professions. The harmonious development of the emotional sphere is necessary for every person to live a full life in society, to have an adequate relationship with other people and himself, and to maintain his health.

In emotions, a person’s relationship to the world and to himself is objectively experienced and becomes an internal event, therefore emotions and feelings are one way or another present in the entire psychology of the individual.

Emotions are important, expressively bright and significant side primordial, attributive subjectivity of the mental image of the world.

A person always has practical experiences, although they are not necessarily expressed, presented to his consciousness and self-awareness.

Personality exists, functions and develops in interactions, communication, and relationships with other people. These relationships are laid down in the orientation of the individual, expressed in his character, and experienced in emotions, i.e. become for a person some subjectively noted fact of his mental life, therefore emotions and feelings, by definition, interact with the entire human psyche. They phenomenologically and functionally intersect with activities, needs, abilities, consciousness and self-awareness, temperament and character, mental experience and speech, with the cognitive, evaluative, volitional and regular spheres of the psyche.

Also, based on the analysis of literary sources, the following conclusions can be drawn:

1. Emotions can be studied by directly observing them, recording, evaluating and describing them in the form in which they are presented in a person’s sensations.

2. Introspection has been used in psychology for a long time. However, this method is not entirely reliable, since with its help it is impossible to obtain sufficiently reliable, objective information about mental phenomena.

3. In principle, mental phenomena can be judged by what the person himself says about them. This method of studying mental phenomena is called self-report or survey.

4. In order to draw correct conclusions about the laws to which mental phenomena are subject, it is possible to create conditions under which these phenomena will purposefully change, and then carefully monitor their changes. This method of studying mental phenomena is called experiment.

5. Tests can be used in the study of psychic phenomena, but they must be skillfully designed.


Related information.


  • Tutorial

Good day!

I want to collect all the most necessary theory on testing, which is asked during interviews with trainees, juniors and a little middle ones. Actually, I have already collected quite a bit. The purpose of this post is to collectively add what was missed and correct/paraphrase/add/do Something Else with what is already there, so that it becomes good and you can take it all and repeat it before the next interview, just in case. In general, colleagues, I ask under the cut who should learn something new, who should systematize the old, and who should contribute.

The result should be a comprehensive cheat sheet that you need to re-read on the way to the interview.

Everything listed below is not invented by me personally, but taken from different sources, where I personally liked the wording and definition more. At the end is a list of sources.

Topic: definition of testing, quality, verification / validation, goals, stages, test plan, test plan points, test design, test design techniques, traceability matrix, tets case, checklist, defect, error/deffect/failure, bug report , severity vs priority, testing levels, types / types, approaches to integration testing, testing principles, static and dynamic testing, exploratory / ad-hoc testing, requirements, bug life cycle, software development stages, decision table, qa/qc/test engineer, connection diagram.

Let's go!

Software testing- checking the correspondence between the actual and expected behavior of the program, carried out on a finite set of tests selected in a certain way. In a broader sense, testing is one of the quality control techniques that includes the activities of work planning (Test Management), test design (Test Design), testing execution (Test Execution) and analysis of the results (Test Analysis).

Software Quality is a set of characteristics of software related to its ability to satisfy stated and anticipated needs.

Verification is the process of evaluating a system or its components to determine whether the results of the current development stage satisfy the conditions formed at the beginning of this stage. Those. whether our goals, deadlines, and project development tasks defined at the beginning of the current phase are being met.
Validation- this is a determination of whether the software being developed meets the user's expectations and needs, and system requirements.
You can also find another interpretation:
The process of assessing a product's compliance with explicit requirements (specifications) is verification, while at the same time assessing the product's compliance with user expectations and requirements is validation. You can also often find the following definition of these concepts:
Validation - ‘is this the right specification?’.
Verification - ‘is the system correct to specification?’.

Testing Goals
Increase the likelihood that the application intended for testing will work correctly under all circumstances.
Increase the likelihood that the application being tested will meet all of the described requirements.
Providing up-to-date information about the current state of the product.

Testing stages:
1. Analysis
2. Development of a testing strategy
and planning quality control procedures
3. Working with requirements
4. Creation of test documentation
5. Prototype testing
6. Basic testing
7. Stabilization
8. Operation

Test Plan- this is a document that describes the entire scope of testing work, starting from a description of the object, strategy, schedule, criteria for starting and ending testing, to the equipment required in the process, special knowledge, as well as risk assessment with options for their resolution.
Answers questions:
What should be tested?
What will you test?
How will you test?
When will you test?
Criteria for starting testing.
Test completion criteria.

Main points of the test plan
The IEEE 829 standard lists the points that a test plan should (may) consist of:
a) Test plan identifier;
b) Introduction;
c) Test items;
d) Features to be tested;
e) Features not to be tested;
f) Approach;
g) Item pass/fail criteria;
h) Suspension criteria and resumption requirements;
i) Test deliverables;
j) Testing tasks;
k) Environmental needs;
l) Responsibilities;
m) Staffing and training needs;
n) Schedule;
o) Risks and contingencies;
p) Approvals.

Test design- this is the stage of the software testing process at which test cases (test cases) are designed and created in accordance with previously defined quality criteria and testing goals.
Roles responsible for test design:
Test analyst - determines “WHAT to test?”
Test designer - determines “HOW to test?”

Test design techniques

Equivalence Partitioning (EP). As an example, if you have a range of valid values ​​from 1 to 10, you must choose one correct value inside the interval, say 5, and one incorrect value outside the interval, 0.

Boundary Value Analysis (BVA). If we take the example above, we will select the minimum and maximum limits (1 and 10) as values ​​for positive testing, and values ​​greater and less than the limits (0 and 11). Boundary value analysis can be applied to fields, records, files, or any kind of constrained entity.

Cause/Effect - CE. This is, as a rule, entering combinations of conditions (reasons) to obtain a response from the system (Effect). For example, you are testing the ability to add a customer using a specific display. To do this, you will need to enter several fields such as “Name”, “Address”, “Phone Number” and then click the “Add” button - this is the “Reason”. After clicking the “Add” button, the system adds the client to the database and shows his number on the screen - this is “Investigation”.

Exhaustive Testing (ET)- this is an extreme case. Within this technique, you should check all possible combinations of input values, and in principle, this should find all problems. In practice, the use of this method is not possible due to the huge number of input values.

Traceability matrix- The requirements compliance matrix is ​​a two-dimensional table containing the correspondence between the functional requirements of the product and the prepared test cases. The table column headings contain requirements, and the row headings contain test scenarios. At the intersection there is a mark indicating that the requirement of the current column is covered by the test case of the current row.
The requirements compliance matrix is ​​used by QA engineers to validate product test coverage. MCT is an integral part of the test plan.

Test Case is an artifact that describes a set of steps, specific conditions and parameters necessary to check the implementation of the function under test or its part.
Example:
Action Expected Result Test Result
(passed/failed/blocked)
Open page “login” Login page is opened Passed

Each test case must have 3 parts:
PreConditions A list of actions that bring the system to a condition suitable for basic testing. Or a list of conditions, the fulfillment of which indicates that the system is in a state suitable for conducting the main test.
Test Case Description A list of actions that transfer the system from one state to another to obtain a result on the basis of which it can be concluded that the implementation satisfies the requirements
PostConditions List of actions that transfer the system to the initial state (state before the test - initial state)
Types of Test Cases:
Test cases are divided according to the expected result into positive and negative:
A positive test case uses only correct data and verifies that the application correctly executed the called function.
A negative test case operates with both correct and incorrect data (at least 1 incorrect parameter) and aims to check for exceptional situations (validators are triggered), and also check that the function called by the application is not executed when the validator is triggered.

Check list is a document that describes what should be tested. At the same time, the checklist can be of completely different levels of detail. How detailed the checklist will be depends on reporting requirements, the level of knowledge of the product by employees and the complexity of the product.
As a rule, a checklist contains only actions (steps), without the expected result. The checklist is less formalized than the test script. It is appropriate to use it when test scripts are redundant. Checklists are also associated with flexible approaches to testing.

Defect (aka bug) is a discrepancy between the actual result of program execution and the expected result. Defects are discovered during the software testing stage, when the tester compares the results of the program (component or design) with the expected result described in the requirements specification.

Error- user error, that is, he tries to use the program in a different way.
Example - enters letters into fields where you need to enter numbers (age, quantity of goods, etc.).
A high-quality program provides for such situations and displays an error message with a red cross.
Bug (defect)- an error by the programmer (or designer or anyone else who takes part in the development), that is, when something in the program does not go as planned and the program gets out of control. For example, when user input is not controlled in any way, as a result, incorrect data causes crashes or other “joys” in the operation of the program. Or the program is built internally in such a way that it initially does not correspond to what is expected of it.
Failure- a failure (and not necessarily a hardware one) in the operation of a component, an entire program or system. That is, there are defects that lead to failures (A defect caused the failure) and there are those that do not. UI defects for example. But a hardware failure that has nothing to do with software is also a failure.

Bug Report is a document describing the situation or sequence of actions that led to the incorrect operation of the test object, indicating the reasons and the expected result.
Cap
Short description (Summary) A short description of the problem, clearly indicating the cause and type of error situation.
Project Name of the project being tested
Application Component (Component) The name of the part or function of the product being tested
Version number The version on which the error was found
Severity The most common five-level system for grading the severity of a defect is:
S1 Blocker
S2 Critical
S3 Major
S4 Minor
S5 Trivial
Priority The priority of the defect:
P1 High
P2 Medium
P3 Low
Status The status of the bug. Depends on the procedure used and the bug workflow and life cycle

Author (Author) Bug report creator
Assigned To The name of the person assigned to the problem.
Environment
OS / Service Pack, etc. / Browser + version /… Information about the environment in which the bug was found: operating system, service pack, for WEB testing - browser name and version, etc.

Description
Steps to Reproduce Steps by which you can easily reproduce the situation that led to the error.
Actual Result The result obtained after going through the steps to reproduce
Expected Result Expected correct result
Add-ons
Attachment A log file, screenshot, or any other document that can help clarify the cause of the error or indicate a way to solve the problem.

Severity vs Priority
Severity is an attribute that characterizes the impact of a defect on the performance of an application.
Priority is an attribute that indicates the priority of performing a task or eliminating a defect. We can say that this is a work planning manager's tool. The higher the priority, the faster the defect needs to be fixed.
Severity is exposed by the tester
Priority - manager, team lead or customer

Gradation of Defect Severity (Severity)

S1 Blocker
A blocking error that renders the application inoperative, making further work with the system under test or its key functions impossible. Solving the problem is necessary for the further functioning of the system.

S2 Critical
A critical error, a malfunctioning key business logic, a hole in the security system, a problem that led to a temporary crash of the server or rendered some part of the system inoperative, without the ability to solve the problem using other entry points. Solving the problem is necessary for further work with key functions of the system under test.

S3 Major
A significant error, part of the main business logic does not work correctly. The error is not critical or it is possible to work with the function under test using other input points.

S4 Minor
A minor error that does not violate the business logic of the part of the application being tested, an obvious user interface problem.

S5 Trivial
A trivial error that does not affect the business logic of the application, a poorly reproducible problem that is hardly noticeable through the user interface, a problem with third-party libraries or services, a problem that does not have any impact on the overall quality of the product.

Gradation of Defect Priority (Priority)
P1 High
The error must be corrected as quickly as possible, because... its presence is critical for the project.
P2 Medium
The error must be corrected; its presence is not critical, but requires a mandatory solution.
P3 Low
The error must be corrected; its presence is not critical and does not require an urgent solution.

Testing Levels

1. Unit Testing
Component (unit) testing checks functionality and looks for defects in parts of the application that are accessible and can be tested separately (program modules, objects, classes, functions, etc.).

2. Integration Testing
The interaction between system components is checked after component testing.

3. System Testing
The main objective of system testing is to verify both functional and non-functional requirements in the system as a whole. This identifies defects such as incorrect use of system resources, unintended combinations of user-level data, incompatibility with the environment, unintended use cases, missing or incorrect functionality, inconvenience of use, etc.

4. Operational testing (Release Testing).
Even if a system meets all requirements, it is important to ensure that it meets the needs of the user and fulfills its role in its operating environment as defined in the system's business model. It should be taken into account that the business model may contain errors. This is why it is so important to conduct operational testing as the final validation step. In addition, testing in the operating environment allows us to identify non-functional problems, such as: conflicts with other systems related to the business area or in software and electronic environments; insufficient system performance in the operating environment, etc. Obviously, finding such things at the implementation stage is a critical and expensive problem. That is why it is so important to carry out not only verification, but also validation, from the earliest stages of software development.

5. Acceptance Testing
A formal testing process that verifies that a system meets requirements and is conducted to:
determining whether the system meets acceptance criteria;
making a decision by the customer or other authorized person whether the application is accepted or not.

Types/types of testing

Functional types of testing
Functional testing
Security and Access Control Testing
Interoperability Testing

Non-functional types of testing
All types of performance testing:
o load testing (Performance and Load Testing)
o Stress Testing
o Stability / Reliability Testing
o Volume Testing
Installation testing
Usability Testing
Failover and Recovery Testing
Configuration Testing

Change-Related Types of Testing
Smoke Testing
Regression Testing
Re-testing
Build Verification Test
Sanity Testing

Functional testing considers pre-specified behavior and is based on an analysis of the specifications of the functionality of the component or the system as a whole.

Security testing is a testing strategy used to check the security of the system, as well as to analyze the risks associated with providing a holistic approach to protecting the application, attacks by hackers, viruses, unauthorized access to confidential data.

Interoperability Testing is functional testing that tests the ability of an application to interact with one or more components or systems and includes compatibility testing and integration testing

Load testing- this is automated testing that simulates the work of a certain number of business users on some common (shared by them) resource.

Stress Testing allows you to check how efficient the application and the system as a whole are under stress and also evaluate the system’s ability to regenerate, i.e. to return to normal state after the stress ceases. Stress in this context can be an increase in the intensity of operations to a very high level. high values or emergency change in server configuration. Also, one of the tasks of stress testing may be to assess performance degradation, so the goals of stress testing may overlap with the goals of performance testing.

Volume Testing. The purpose of volume testing is to obtain an assessment of performance as the volume of data in the application database increases

Stability / Reliability Testing. The task of stability (reliability) testing is to check the functionality of the application during long-term (many hours) testing with an average load level.

Testing the installation aimed at verifying successful installation and configuration, as well as updating or uninstalling software.

Usability testing is a testing method aimed at establishing the degree of usability, learnability, understandability and attractiveness for users of the product being developed in the context of given conditions. This also includes:
UI Testing is a type of research testing performed to determine whether some artificial object (such as a web page, user interface, or device) is suitable for its intended use.
User eXperience (UX) is the feeling experienced by the user while using a digital product, while User interface is a tool that allows user-web resource interaction.

Failover and Recovery Testing tests the product under test in terms of its ability to withstand and successfully recover from possible failures resulting from software errors, hardware failures, or communications problems (for example, network failure). The purpose of this type of testing is to test recovery systems (or systems duplicating the main functionality), which, in the event of failures, will ensure the safety and integrity of the data of the product being tested.

Configuration Testing- a special type of testing aimed at checking the operation of software under different system configurations (declared platforms, supported drivers, different computer configurations, etc.)

Smoke testing is considered as a short cycle of tests performed to confirm that after building the code (new or fixed), the installed application starts and performs basic functions.

Regression testing- this is a type of testing aimed at checking changes made in an application or environment(fixing a defect, merging code, migrating to another operating system, database, web server or application server) to confirm that pre-existing functionality works as before. Regression tests can be both functional and non-functional tests.

Retesting- testing, during which test scripts that identified errors during the last run are executed to confirm the success of correcting these errors.
What is the difference between regression testing and re-testing?
Re-testing - bug fixes are checked
Regression testing - checks that bug fixes did not affect other software modules and did not cause new bugs.

Assembly testing or Build Verification Test- testing aimed at determining compliance of the released version with quality criteria to begin testing. In terms of its goals, it is analogous to Smoke Testing, aimed at accepting a new version for further testing or operation. It can penetrate deeper, depending on the quality requirements of the released version.

Sanitary testing- this is narrowly focused testing sufficient to prove that a specific function works according to the requirements stated in the specification. It is a subset of regression testing. Used to determine the performance of a certain part of the application after changes made to it or the environment. Usually done manually.

Error Guessing - EG. This is when the test analyst uses his knowledge of the system and ability to interpret the specification to “predict” under what input conditions the system might fail. For example, the specification says "the user must enter a code." The test analyst will think: “What if I don’t enter the code?”, “What if I enter the wrong code? ", and so on. This is the prediction of error.

Integration testing approaches:

Bottom Up Integration
All low-level modules, procedures or functions are collected together and then tested. After which the next level of modules is assembled for integration testing. This approach is considered useful if all or almost all modules of the level being developed are ready. This approach also helps determine the level of application readiness based on testing results.

Top Down Integration
First, all high-level modules are tested, and gradually low-level ones are added one by one. All modules are more than low level are simulated by stubs with similar functionality, then when ready they are replaced by real ones active ingredients. This way we test from top to bottom.

Big Bang (“Big Bang” Integration)
All or almost all of the developed modules are assembled together as a complete system or its main part, and then integration testing is carried out. This approach is very good for saving time. However, if the test cases and their results are not recorded correctly, then the integration process itself will be greatly complicated, which will become an obstacle for the testing team in achieving the main goal of integration testing.

Testing principles

Principle 1- Testing shows presence of defects
Testing can show that defects are present, but cannot prove that they are not present. Testing reduces the likelihood of defects in the software, but even if no defects are found, this does not prove its correctness.

Principle 2- Exhaustive testing is impossible
Complete testing using all combinations of inputs and preconditions is physically infeasible except in trivial cases. Instead of exhaustive testing, risk analysis and prioritization should be used to better focus testing efforts.

Principle 3- Early testing
To find defects as early as possible, testing activities should be started as early as possible in life cycle software or system development, and must be focused on specific goals.

Principle 4- Defects clustering
Testing efforts should be concentrated in proportion to the expected, and later the actual, module defect density. As a rule, most of the defects discovered during testing or that caused the majority of system failures are contained in a small number of modules.

Principle 5- Pesticide paradox
If the same tests are run over and over again, eventually this set of test cases will no longer find new defects. To overcome this “pesticide paradox,” test cases must be regularly reviewed and revised, and new tests must be comprehensive to cover all components of the software or system and find as many defects as possible.

Principle 6- Testing is concept depending
Testing is done differently depending on the context. For example, security-critical software is tested differently than an e-commerce site.

Principle 7- Absence-of-errors fallacy
Finding and fixing defects will not help if the created system does not suit the user and does not meet his expectations and needs.

Static and dynamic testing
Static testing differs from dynamic testing in that it is performed without running the product code. Testing is carried out by analyzing the program code (code review) or compiled code. The analysis can be done either manually or using special tools. The purpose of the analysis is to early identify errors and potential problems in the product. Static testing also includes testing specifications and other documentation.

Exploratory/ad-hoc testing
The simplest definition of exploratory testing is designing and running tests at the same time. Which is the opposite of the scenario approach (with its predefined testing procedures, whether manual or automated). Exploratory tests, unlike scenario tests, are not predetermined and are not executed exactly as planned.

The difference between ad hoc and exploratory testing is that theoretically, ad hoc testing can be carried out by anyone, but exploratory testing requires skill and knowledge of certain techniques. Please note that certain techniques are not just testing techniques.

Requirements is a specification (description) of what should be implemented.
Requirements describe what needs to be implemented, without detailing the technical side of the solution. What, not how.

Requirements Requirements:
Correctness
Unambiguity
Completeness of the set of requirements
Consistency of a set of requirements
Verifiability (testability)
Traceability
Understandability

Bug life cycle

Software development stages- these are the stages that software development teams go through before the program becomes available to a wide range of users. Software development begins with the initial development stage (pre-alpha stage) and continues with stages in which the product is refined and modernized. The final stage This process involves releasing the final version of the software to the market (“generally available release”).

The software product goes through the following stages:
analysis of project requirements;
design;
implementation;
product testing;
implementation and support.

Each stage of software development is assigned a specific serial number. Also, each stage has its own name, which characterizes the readiness of the product at this stage.

Software development life cycle:
Pre-alpha
Alpha
Beta
Release candidate
Release
Post release

Decision table- a great tool for organizing complex business requirements that must be implemented in a product. Decision tables present a set of conditions, the simultaneous fulfillment of which should lead to a specific action.

QA/QC/Test Engineer


Thus, we can build a model of the hierarchy of quality assurance processes: Testing is part of QC. QC is part of QA.

Connection diagram is a quality management tool based on identifying logical relationships between various data. This tool is used to compare causes and effects on the problem under study.