Course code InfT4006

Credit points 3

Software Testing

Total Hours in Course81

Number of hours for lectures16

Number of hours for laboratory classes16

Independent study hours49

Date of course confirmation06.09.2022

Responsible UnitInstitute of Computer Systems and Data Science

Course developer

author Datoru sistēmu un datu zinātnes institūts

Tatjana Rubina

Dr. sc. ing.

Course abstract

The aim of the study course is to introduce students to software testing, current industry testing standards, and good software development practices. The course examines the basic concepts of software testing and the testing process, defines testing objectives and test development methods, as well as examines the methods of test case preparation used in practice. In practical work, students learn the main stages of testing, design of test cases, test documentation and test reports, as well as work with one of the most popular software development management and defect tracking tools.

Learning outcomes and their assessment

As a result of the study course students:
•know about significance of software testing process in software development projects with different life cycle models, and tasks of testing process and their potential implementation – theory test;
•have skills to organize different kind of testing activities and testing documentation, and acquire practical experience in test implementation – practical works;
•working in teams or independently, are able to use definite forms of testing and analysing of the test results, to develop testing documentation, and to organize activities of information interchange, as well as assure the others and argue their own point of view - practical works and their presentation.

Course Content(Calendar)

1 Introduction. Basic concepts of software testing. Testing process. Performers of the testing process. Testing types. Testing Standards (4h)
2 Testing documentation. Software test case documentation. Testing procedure. Test log. (1h)
3 Testing approaches. White box testing. Test case development techniques. Basic path testing. Coverage analysis. (4h)
4 Black Box Testing. Test case development techniques. Equivalence partitioning. Boundary values analysis. Decision tables. State transition testing. (6h)
5 Error, failure, defect, problem. Importance, priority of defect. Defect reporting. (1h)
6 Software development management and defect tracking tools. (3h)
7 Testing types. Functional and non-functional testing. Non-functional testing methods. (2h)
8 Testing levels. Unit testing, test objects and testing objectives. (1h)
9 Integration testing. Integration strategies. (1h)
10 System testing and objective of system testing, test objects. (1h)
11 Acceptance testing and qualification testing. (1h)
12 Software Usability. Software Usability Testing. (4h)
13 Testing documentation. Testing plan. Test reports. (2h)
14 Good practice in testing. Testing in Projects. (1h)

Requirements for awarding credit points

All practical works must be completed.

Description of the organization and tasks of students’ independent work

Students must complete 8 practical assignments independently. Within a week of assignment, students should analyze the assignment and start executing it. The report of partially completed practical work must be uploaded in e-studies at the end of the lesson. The practical work must be completed and submitted to e-learning system within two weeks of its assignment. The practical work assigned by the teaching staff must be presented.

Criteria for Evaluating Learning Outcomes

During the semester student can accumulate 90 points for regular work, which are determined as follows:
•overall assessment of practical works - 70
•theory test – 20.
At the end of the semester the points are summed up and can determine the basic mark of the test (10 points make 1 mark). This basic mark can be raised by answering additional questions.

Compulsory reading

1. Spillner A., Linz T. Software Testing Foundations. 5th Edition: A Study Guide for the Certified Tester Exam. 2021
2. International Software Testing Qualifications Board. Sertified tester Foundation level syllabus. Version 2018 v.3.1 [tiešsaiste]. Pieejams: http://www.istqb.org/
3. ANSI/IEEE Std 1008(R1993). IEEE Standard for Software Unit Testing (Standartizācijas biroja lasītava)
4. ANSI/IEEE Std 829-1998. IEEE Standard for Software Test Documentation (Standartizācijas biroja lasītava)
5. BS 7925-2. Standard for Software Component Testing [tiešsaiste] Pieejams: http://www.testingstandards. co.uk/Component%20Testing.pdf
6. IEEE Std-J-016-1995. Trial Use Standard. Standard for Information Technology. Software Life Cycle Processes Software Development. Acquirer-Supplier Agreement. (Standartizācijas biroja lasītava)
7. Whittaker J.A. Exploratory software testing: tips, tricks, tours, and techniques to guide manual testers. 1st ed. 2010
8.Barnum C.M. Usability Testing Essentials: Ready, Set ...Test!: Ready, Set...Test! 2nd edition. 2020

Further reading

1. Winters T., Manshreck T., Wringht H. Software engineering at Google. 2020.
2. Beaver K. Hacking for dummies. 6th ed. 2018.
3. Singh Y. Software Testing. Cambridge: Cambridge University Press. 2011. E-grāmata LLU tīklā datubāzē ”EBSCO e-book Academic Collection”. Pieejams: http://ezproxy.llu.lv:2103/login.aspx?direct=true&db=e000xww&AN=465756&site=ehost-live
4. Yorkston K. Performance testing. 2021

Notes

ITF professional bachelor study program "Information technologies for sustainable development".