PVT

Ace your homework & exams now with Quizwiz!

## System tests

- The behavior of whole system is tested as defined by the scope - It may include tests based on risks an requirement specifications, business process, use cases, interactions with the operating systems, and system resources. - Often the final test to verify that the system to be delivered meets the specification and its purpose. - Carried out by specialists testers or independent testers. - Should investigate both functional and non-functional requirements of the testing.

## Describe one scenario where the Scrum methodology does not work well

- When you don't have an appropriately-sized, committed team. - It doesn't work well with huge groups or with people who have significant responsibilities elsewhere. - Both management and team buy-ins are requirements for scrum. - Management must buy into the idea that they cannot change your backlog during the sprint.

## Microblogging

A broadcast medium that exists in the form of blogging. Typically smaller in both actual and aggregated file size than traditional blogs. Allow users to exchange small elements of content such as short sentences, individual images, or video links. Users post about topics ranging from the simple, such as "what I'm doing right now," to the thematic, such as "sports cars." Commercial microblogs also exist to promote websites, services and products, and to promote collaboration within an organization. Some microblogging services offer features such as privacy settings, which allow users to control who can read their microblogs, or alternative ways of publishing entries besides the web-based interface. These may include text messaging, instant messaging, E-mail, digital audio or digital video.

## Build server (CI server)

A centralized, stable and reliable environment for building distributed development projects. It starts with a clean slate. Since the code is pulled from the repository, only committed code will end up in the release version. This increases predictability by enforcing source control and making it possible to flag issues and notify developers quickly if there are conflicts or missing dependencies. It helps ensure that the same dynamic link library is used for all builds and that out-of-sync check-ins don't lead to failure during quality assurance (QA) testing.

## Describe SCRUM

A key principle of SCRUM is its recognition that during production processes, the customers requirements can change. Accepting that the problem cannot be fully defined Focusing instead on maximizing the team's ability to deliver quickly, Respond to emerging requirements Adapt to evolving technologies

What is JQuery? Name two things that JQuery simplifies?

A lightweight JavaScript library which purpose is to make it much easier to use JavaScript on your website.It takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single line of code. It also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation.

## Extreme programming (XP)

A methodology intended to improve software quality and responsiveness to changing customer requirements. Pair programming Extensive code review, Unit testing of all code, Avoiding programming of features until they are actually needed, Flat management structure, Simplicity and clarity in code, Expecting changes in the customer's requirements Frequent communication with the customer

## Prototyping

A prototype typically simulates only a few aspects of the final product. The software designer can get valuable feedback from the users early. The client and the contractor can compare if the softwar matches the software specification Allows the software engineer to see if deadlines and milestones proposed can be successfully met.

## What is CSS and what benefits are there to using it?

A single CSS file can contain positioning, layout , font, colors and style information for an entire web site. The file can be referenced by each html file on the site. CSS separats the content of an html document from the style and layout of that document. Easier to make changes to the layout and the HTML file size is smaller because the style and layout is removed.

## Code review

A systematic examination of computer source code. It is intended to find mistakes overlooked in the initial development phase, improving the overall quality of software. Pair programming, informal walkthroughs, and formal inspections.

## Spike Prototype

A technical investigation to produce an answer in regards to some acceptance criteria on a story prioritized in upcoming Sprints. It's a great way to mitigate risks early and promotes fluid Sprints later in the project. "Will Ruby allow us to overcome <a specific limitation> in our current development environment?", "Will DB2 or SQL Server give greater performance for the application we are creating?".

What is an API?

An API (Application Programming Interface) is best thought of as a contract provided by one piece of computer software to another. It's important to note that pieces of software can interact with or without an API. Without API: An app finds the current weather in London by opening http://www.weather.com/ and reading the webpage like a human does, interpreting the content. With API: An app finds the current weather in London by sending a message to the weather.com API (in a structured format like JSON). The weather.com API then replies with a structured response.

## What is the Document Object Model?

An API for valid HTML and XML documents. Defines the logical structure of documents and the way a document is accessed and manipulated. XML presents data as documents, and the DOM may be used to manage this data.

## Pair programming

An agile software development technique in which two programmers work together at one workstation. One writes code while the other reviews each line of code as it is typed in. The two programmers switch roles frequently.

## Describe Jenkins

An continuous integration and continuous delivery application. Lets you build and test your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. It also allows you to continuously deliver your software by providing powerful ways to define your build pipelines and integrating with a large number of testing and deployment technologies.

Independent variable

An independent variable is exactly what it sounds like. It is a variable that stands alone and isn't changed by the other variables you are trying to measure. For example, someone's age might be an independent variable. Other factors (such as what they eat, how much they go to school, how much television they watch) aren't going to change a person's age. In fact, when you are looking for some kind of relationship between variables you are trying to see if the independent variable causes some kind of change in the other variables, or dependent variables.

## Continuous builds

Building the project as soon as a change is made.

A Spike which is non-functional can be used to, for example, try out what is not working well in a user interface.

False, a this is rather a functional Spike. A non-functional Spike could be "How do we do database access".

## Tech Lead

Establishes a technical vision with the development team and works with developers to turn it into reality. Along the way, takes on traits that other roles may have, such as a Team Lead, Architect or Software Engineering Manager but they remain hands-on with code.

When a Spike is constructed, it is important to have access to correct test data from the business organisation, which should use the system.

False, the Spike is used by the developers not the end users.

Normally you cannot estimate how long time it will take to implement a Spike because a Spike is used to test something unknown.

False, You should be able to estimate the time. The fact that we are testing something unkown is rather the goal of the spike.

One of the benefits with a domain model architecture is that is corresponds closely to the fields in a user interface.

False, the domain model architecture corresponds to the business logic of the system

## Specify the four parts of the Agile manifesto

Focus on individuals and interactions instead of processes and tools Working software over comprehensive documentation. Customer collaboration over contract negotiation. Responding to change over following a plan.

## Describe each of the different VERBS in a standard REST architecture.

GET - Read POST - Create PUT - Update/Replace DELETE - Delete

## What functionality can you expect to find in a version management tool such as Git or Subversion?

Helps large projects from spinning out of control by letting individual staff tackle a project from different angles without getting in each other's way and without doing damage that can't be undone. NJA

What is Heroku?

Heroku is a service that allows developers to deploy applications using the tools they are already familiar with (build & version control and CI tools). If you can use Git, then you can simply push your code to Heroku and it will be deployed and run for you. Heroku is a polyglot platform as it can run many different programming languages and frameworks. Heroku provides additional support for the most common languages (Ruby, Node.js, Java, Python, PHP, Scala, Clojure) and there is community support for over 50 other programming languages. Other Cloud providers may give you Virtual Machines (eg. like with Virtualbox) to run your apps in the Cloud. Whilst this may seem a more flexible approach, it also requires greater responsibility in managing the Infrastructure. This is called Infrastructure as a Service (IaaS), as it provides the servers which run your applications, however you are still responsible for maintaining those servers and managing the deploy process.

## Discuss an example of a system or company that failed because they did not "build the right thing". Discuss a requirements capture method that could potentially have helped with this problem.

Hipstamatic

## Dynamic testing

In dynamic testing the software must actually be compiled and run. It involves working with the software, giving input values and checking if the output is as expected by executing specific test cases. Unit tests, integration tests, system tests and acceptance tests utilize dynamic testing.

## Unit testing

Individual units of source code are tested to determine whether they are fit for use. In object-oriented programming, a unit is often an entire interface, such as a class, but could be an individual method. Short code fragments created by programmers or white box testers during the development process. It forms the basis for component testing.

## Describe the setup of a field study

Involve collecting data outside of an experimental or lab setting. Expensive and timely, but data collected can be invaluable. Collects original or unconventional data via face-to-face interviews, surveys, or direct observation. Usually treated as an initial form of research because the data collected is specific only to the purpose for which it was gathered. Therefore, it is not applicable to the general public.

## What is a REST architecture?

It relies on a stateless, client-server, cacheable communications protocol -- and in virtually all cases, the HTTP protocol is used. REST is an architecture style for designing networked applications. The idea is that, rather than using complex mechanisms such as CORBA, RPC or SOAP to connect between machines, simple HTTP is used to make calls between machines.

Dependent variable

Just like an independent variable, a dependent variable is exactly what it sounds like. It is something that depends on other factors. For example, a test score could be a dependent variable because it could change depending on several factors such as how much you studied, how much sleep you got the night before you took the test, or even how hungry you were when you took it. Usually when you are looking for a relationship between two things you are trying to find out what makes the dependent variable change the way it does. Many people have trouble remembering which is the independent variable and which is the dependent variable. An easy way to remember is to insert the names of the two variables you are using in this sentence in they way that makes the most sense. Then you can figure out which is the independent variable and which is the dependent variable: (Independent variable) causes a change in (Dependent Variable) and it isn't possible that (Dependent Variable) could cause a change in (Independent Variable).

Model-View-Controller and Model-View-ViewModel are two ways to structure a system. What are the primary differences between the two?

MVVM automatically transfers values between widgets and the ViewModel

## Issue Tracker

Manages and maintains lists of issues. Used to create, update, and resolve reported customer issues or issues reported by employees. A support ticket should include vital information for the account involved and the issue encountered.

When using a domain model architecture it is easy to store information in a database

NO. Difficult to store data that are in a complex object structure. (might)

Model classes manage complex graphical models, as for example tablets.

No its rather the View classes that mangages the GUI

All information (for example attributes in a class) in the ViewModel also exists in the Model.

No the Model and the ViewModel CAN be very similar but code that are specific for each view to is placed in the ViewModel rather than in the Model

The design pattern Model-View-Controller manages the three layers, presentation, business logic and database, in a structured way

No, MVC handle the presentation side alone in three layers in a structured way.

Controller classes contain business logic, for example calculation of order sum and possible discounts.

No, thats the job of Model classes

An advantage with separate model classes, as in the Model-View-Controller design pattern, is that these can be sent to a business logic layer.

No. The business logic is handled elsewhere.

## Describe PLAY

Play is an open-source modern web framework for writing scalable web applications in Java and Scala. It enables rapid productivity by automatically reloading the changes. Play by design has a stateless and non-blocking architecture. This makes it easy to horizontally scale web applications written using the Play framework. Play is an open source web application framework, written in Scala and Java, which follows the model-view-controller (mvc) architectural pattern. It aims to optimize developer productivity by using convention over configuration, hot code reloading and display of errors in the browser.

## Specify three artifacts in Scrum

Product Backlog Sprint Backlog Product Increment

## Specify three roles in Scrum

Product Owner Scrum Master Development team

## Which advantages do you get from code reviews? Any disadvantages?

Pros - Design and code reviews also help to ensure consistency amongst a team, especially when dealing with junior programmers or when moving into new technologies or methods of programming. (my team went to MVP, but all the developers implemented it in different ways. reviews were needed to help get us all on the same page) Cons - if not done right they are a whipping. Some developers use them to beat up on anyone who does not agree with them. Other times they become a line by line discussion of the code instead of over-arching architecture discussion. Or they become a formality that is just drudge work.

## Agile project management

Refers to an iterative, incremental method of managing the design and build activities for teams that aims to provide new product or service development in a highly flexible and interactive manner. It requires capable individuals from the relevant business, openness to consistent customer input, and management openness to non-hierarchical forms of leadership.

## Development team (SCRUM)

Responsible for doing the work 5-9 People Cross-functional Self-organizing

## Scrum Master

Responsible for ensuring the Scrum process is understood and followed.

## Product Owner (SCRUM)

Responsible for maximizing the value of the work that the Team does Owns the vision and overall goals Owns the prioritized list of what needs to be produced Decides when product is ready to ship

## Legacy Code

Source code inherited from someone else and source code inherited from an older version of the software.

## Specify four ceremonies in Scrum

Sprint Planning Meeting Daily Scrum Meeting Sprint Review Sprint Retrospection Meeting

## Static testing

Testing where the actual program or application is not used. Requires programmers to manually read their own code to find any errors.

REST is a stateless architecture. What does stateless mean in this context?

The purposes of introducing the statelessness constraint in REST include improvements to visibility, reliability, and scalability. This means that proxies and other intermediaries are better able to participate in communication patterns that involve self-descriptive stateless messages, server death and failover does not result in session state synchronisation problems, and it is easy to add new servers to handle client load again without needing to synchronise session state. REST achieves statelessness through a number of mechanisms: By designing methods and communication patterns that they do not require state to be retained server-side after the request. By designing services that expose capabilities to directly sample and transition server-side state without left-over application state By "deferring" or passing back state to the client as a message at the end of each request whenever session state or application state is required The downside of statelessness is exposed in that last point: Applications that demand some kind of session state persist beyond the duration of a single request need to have that state sent back to the client as part of the response message. Next time the client wants to issue a request, the state is again transferred to the service and then back to the client.

## System architecture

The software architecture of a program or computing system is the structure of the system, which comprise the software elements, the externally visible properties of those elements, the relationships among them

A domain model architecture is a good choice if the business logic is complex

True. It is easy to divide complex logic into objects, where each object contains both data and functions

## White Box Testing

Uses specific knowledge of programming code to examine outputs. The test is accurate only if the tester knows what the program is supposed to do. He can then see if the program diverges from its intended goal.

## Validation

Validation tests how well you addressed the business needs. "Did I build what I need?"

## Verification

Verification is testing that your product meets the specifications. "Did I build what I said I would?".

## Regression testing

Verifies that software that was previously developed and tested still performs correctly after it was changed or interfaced with other software. During regression testing new software bugs or regressions may be uncovered.

## Describe the main differences between traditional project management and agile project management.

Waterfall approach is based on predictability and processes, an Agile approach focuses on adaptability and response time to changing requirements.

## Describe JSON (JavaScript Object Notation)

When designing an application that will communicate with a remote computer, a data format and exchange protocol must be selected. There are a variety of open, standardized options, and the ideal choice depends on the applications requirements and pre-existing functionality. For example, SOAP-based web services format the data in an XML payload wrapped within a SOAP envelope. While XML works well for many application scenarios, it has some drawbacks that make it less than ideal for others. One such space where XML is often less than ideal is with Ajax-style web applications. Ajax is a technique used for building interactive web applications that provide a snappier user experience through the use of out-of-band, lightweight calls to the web server in lieu of full-page postbacks. These asynchronous calls are initiated on the client using JavaScript and involve formatting data, sending it to a web server, and parsing and working with the returned data. While most browsers can construct, send, and parse XML, JavaScript Object Notation (or JSON) provides a standardized data exchange format that is better-suited for Ajax-style web applications. JSON is an open, text-based data exchange format (see RFC 4627). Like XML, it is human-readable, platform independent, and enjoys a wide availability of implementations. Data formatted according to the JSON standard is lightweight and can be parsed by JavaScript implementations with incredible ease, making it an ideal data exchange format for Ajax web applications. Since it is primarily a data format, JSON is not limited to just Ajax web applications, and can be used in virtually any scenario where applications need to exchange or store structured information as text.

## Blackbox Testing (Functional testing)

When the internal workings of the item being tested are not known by the tester. In a black box test on a software design the tester only knows the inputs and what the expected outcomes should be and not how the program arrives at those outputs. The tester does not ever examine the programming code.

Model classes, in the Model-View-Controller design pattern, contain business logic

Yes correct

MVVM is especially useful when, so called, data-binding is used. (Use of data binding makes it easy to transfer information between fields in a screen and a data structure.)

Yes, Databindning enables the use of tools that automatically transfers values between the widgets /view and the ViewModel.


Related study sets

Human-Induced Change: The Case of Climate Change

View Set

Chapter 11 and 12 - Cell Communication/The Cell Cycle

View Set

HA - Final Pt 2 - (NCLEX questions)

View Set